요런 문제는 처음 풀어본다!! 재미있었지만 생각하느라 고통받았던 문제! 그래도 재미있다 ㅎㅎ
Overflow가 있고 카나리에 풀릴로 였다... 고민고민하다가 그냥 대충 프로그램을 터트려봤는데
*** stack smashing detected ***:./checker <- 요렇게 뒤에 argv[0]이 나오는걸 보고 이 argv[0]이 가리키고 있는 주소를 덮어버리면 될거 같다는 생각을 했다. 고래서 해봤더니 맞았다 ㅎㅎ
요렇게 rsp 와 argv[0]를 구한 후
얼마 만큼 차이 나는지 체크
그리고 익스에서 볼 수 있듯이 argv[0]을 한번 \x00으로 쓱 덮어준 후 FLAG아냐고 물을때 "A"*376 + p64(flag) 즉 FLAG의 주소로 덮어주면
스택스매싱 디텍티드에서 뒤에 ./checker가 아닌 flag가 보일 것이다!! 꿀잼꿀잼 ㅎㅎ
[PCTF 2015] prodmanager (0) | 2019.01.05 |
---|---|
[DefCamp CTF 2016] Warm heap (0) | 2019.01.03 |
[SECCON 2016] cheer_msg (0) | 2018.12.29 |
[Sctf 2016] Pwn2 (0) | 2018.12.29 |
[RCTF 2018] Rnote3 (0) | 2018.12.25 |