전체 글
-
[Pwn] Basic_BOF #2CTF write_up/Hack CTF 2019. 3. 25. 21:07
파일을 기드라로 열어보면 다음과 같습니다 일단, 입력값이 들어가는 local_94의 주소를 보면 0xffffff74는 -140입니다. 그렇다면 ebp-140 이라는 뜻입니다. 입력하기전에 공간이 더 생기는데 local_14 변수에 sup함수를 넣습니다. 그러면 -140의 공간뿐만아니라 local_14와 sup의 공간까지 추가됩니다. local_14는 다음과 같은 주소를 가지고 있습니다. -0xC 즉, -12라는 주소 = EBP-C 그렇다면 채워야 하는 공간은 local_94 - sup = 140 -12 = 128 128이라는 공간이 생기게 됩니다. 우리가 얻어야 하는 것은 flag이므로 shell 코드가 적힌 함수의 첫 주소인 빈공간 128개는 A로 넣어주고 0804849b를 RET에 입력해 주면 됩니다..
-
[Pwn] Basic_BOF #1CTF write_up/Hack CTF 2019. 3. 25. 21:05
해당 파일을 새로나온 기드라 툴로 열어보았습니다. 일단 입력을 받는 변수인 local_14를 보면 -0x34 즉 10진수로 52 자리에 위치하고 있습니다. 그리고 확인하는 구간인 local_14의 위치를 확인해 보면 -0xc 즉, 10진수로 12 자리에 있습니다. 그렇다면 local_3C - local_14 = 52 - 12 = 40 즉, 40개의 아무 문자를 입력한뒤에 분기 조건인 -0x21524111( = 0xdeadbeef)를 입력해주면 될것 같습니다. Flag : HackCTF{f1r57_574ck_buff3r_0v3rfl0w_5ucc355} ============================================ pwntools를 이용해서 문제를 풀어보았습니다.
-
[Forensics] So easy?CTF write_up/Hack CTF 2019. 3. 25. 20:50
qwer.zip 을 압축 풀면 사진이 나오는데 hex 로 열었더니 클리어 HackCTF{He_s0ggazzi_long} 은 아니다.. 가짜 flag였다. .jpg 파일이기 때문에 헤더 시그니처는 FF D8 FF E0 00 10 4A 46 입니다. 헤더 시그니처가 있다는 것은 푸터 시그니처도 있다는 것인데, jpg의 푸터 시그니처는 FF D9 입니다. 푸터인 FF D9 이후에도 이상한 값들이 들어 있었고, 사진에 가짜 FLAG도 보입니다. hidden.txt가 눈에 보여서 리눅스를 이용해서 binwalk 명령어를 통해 숨겨져 있는 파일이 있는지 확인해 보겠습니다. 있네요!! foremost 명령어를 통해서 위의 파일을 분리 했습니다. 이 과정을 끝내면 output/이라는 파일이 생성되는데 들어가 보겠습니다..