목록HackCTF (40)
Bace
문제를 보면 파일이 있다. 파일을 다운로드 받으면 Do you know HxD라고 한다. HxD 가지고 푸는 문제 같다. 압축파일을 풀어보면 아래와 같이 사진이 나오는데 HxD로 열어보면 아래와 같다. HxD를 통해 풀수 있다고 했으므로, HackCTF를 검색해보았다. flag가 떴다. HackCTF{P1e45e_find_m3}
flag가 바로 나와있다. 이미지를 저장한다. 저장된 파일을 확인해보면 flag가 보인다. HackCTF{w3lc0m3_70_f0r3n51c_w0rld!}
32비트 프로그램이다. IDA로 main을 보면 아래와 같이 있다. sup shell sup이 puts로 받은 s를 return 시켜주는거니까 sup에다가 shell의 주소를 넣어주면 된다. s가 ebp-8Ch이고, v5가 ebp-Ch 이므로 sup인 v5를 bof 해서 shell을 실행시키려면 8C-C인 0x80 뒤에 shell 주소를 보내주면 된다. 0x80을 10진수로 바꿔서 128로 보내주었다. # Exploit flag가 떴다. HackCTF{h3y_dud3_600d_f0r_y0u}
문제를 들어가서 파일을 다운로드 받는다. 파일 형식을 보면 32비트이다. IDA로 파일을 연다. main을 보면 s의 사이즈가 0x34 (10진수로 52) 인데 fget로는 45를 받는다. 만약 v5 가 -559038737 이면 /bin/dash를 준단다. gdb로 main문을 확인해보았다. deadbeef이면 shell을 주는거 같다. s가 ebp-34h 이고 v5가 ebp-Ch 이므로 v5를 덮기 위해서는 34-C인 0x28 뒤에 붙여서 주면 된다. 0x28을 10진수로 바꿔서 40 뒤에 deadbeef를 줬더니 이겼다고 뜬다. 이때 deadbeef 는 리틀 엔디안으로 써야한다. -> payload에 p32(0xdeadbeef) 라고 써서 넘겨줘도 된다. # Exploit flag가 떴다. HackC..