반응형
[PicoCTF-2013] overflow5
이번에는 NX가 걸려있어서 셸코드를 올려서 실행하는 건 힘들 것 같습니다.
vuln 함수입니다.
v2의 시작 주소는 ebp-0x40c이고, strcpy 함수의 BOF 취약점으로 인해 return address까지 변조할 수 있습니다.
esp+0x420가 첫 번째 파라미터이니, esp+0x41c가 return address입니다.
esp+0x10이 buf의 시작주소이기 때문에, buf의 시작 주소와 return address의 거리는 0x40c(1036)입니다.
실제로 확인해보겠습니다.
이렇게 return address를 변조할 수 있다는 것을 확인했습니다.
RTL을 이용해서 system 함수를 호출해서 인자에 “/bin/sh”를 넣어주도록 하겠습니다.
하지만 “/bin/sh”의 주소 \x20 때문인지, argc가 3이 되어 종료됩니다. 다시 “”로 감싸서 넣어줍니다.
argc는 2가 제대로 되었고, 세폴이 뜹니다. 아마 ASLR 때문인 것 같습니다. overflow4때처럼 setarch `uname –m` -R 을 이용해서 ASLR을 풀어줍시다.
쉘을 취득했습니다.
반응형
'System&Write up > CTF' 카테고리의 다른 글
[Pico CTF 2013] rop2 (0) | 2018.01.19 |
---|---|
[Pico CTF 2013] rop1 (0) | 2018.01.18 |
[Pico CTF 2013] overflow4 (0) | 2018.01.17 |
[Pico CTF 2013] overflow3 (0) | 2018.01.16 |
[Pico CTF 2013] overflow2 (0) | 2018.01.14 |