목록분류 전체보기 (205)
Bace
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bzMbb4/btqzR14CvNS/9OKKhzGmAAnEN4uGSVSII0/img.png)
문제는 다음과 같다. 압축 파일을 받고 풀어보면, 파일 2개가 있다. 32비트 프로그램이다. main은 다음과 같다. vulnerable_function()에서 뭘 하고 넘어오는것 같다. vulnerable_function은 다음과 같다. write를 릭해서 libc_base를 구하고 /bin/sh를 넣고 libc_base 주소와 system 주소를 더해서 쉘을 따면 될 것 같다. write는 인자가 3개이므로 먼저 pop, pop, pop, ret 가젯을 찾았다. 3개가 나온다. 이제 Exploit 코드를 짠다. Exploit 코드를 실행시키면 flag가 뜬다. flag 는 HackCTF{4bcd3fg7ijPlmA4pqrtuvxza2cdef}
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cJZgn2/btqzR2bnL6C/O9o0y0z6DIT3BY69LtA3l1/img.png)
문제는 다음과 같다. 압축 파일 다운로드 후 폴더 내의 png 파일을 보면 지원하지 않는 형식이라고 나온다. HxD를 통해 보니 PNG 파일 구조와 다르다. 아래와 같이 수정했다. 사진이 조금 나온다. PNG 구조인 헤더, IHDR, IDAT, IEND를 차례대로 봐보았다. IDAT 부분에서 원래 아래와 같이 나와야하는데, 중간에 이런 애가 숨어 있다. 다시 IDAT으로 바꿔주면 사진이 나온다. flag도 같이 있다. HackCTF{c@n_y0u_$ee_m3?}
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cgAvIX/btqzQUSEl2X/jI9zDJDT5O9RLxg45oUYCk/img.png)
문제는 다음과 같다. 압축 파일을 받고 압축을 풀어보면 다음과 같은 그림이 나온다. HxD를 통해 보면 진짜 hex 값을 뒤집어 놓았다. 맨 마지막에 PNG가 거꾸로 들어가 있는 것을 볼 수 있다. 다시 거꾸로 뒤집으면 flag가 나온다. HackCTF{Y0u_tu2n3d_th3_$t@ge_u95ide_d0wn!}