System&Write up/CTF

[Pico CTF 2013] overflow5

Jubil 2018. 1. 18. 08:57
반응형

[PicoCTF-2013] overflow5

 

 


 

이번에는 NX가 걸려있어서 셸코드를 올려서 실행하는 건 힘들 것 같습니다.

 


 

vuln 함수입니다.

v2의 시작 주소는 ebp-0x40c이고, strcpy 함수의 BOF 취약점으로 인해 return address까지 변조할 수 있습니다.

 


 

esp+0x420가 첫 번째 파라미터이니, esp+0x41creturn address입니다.

esp+0x10buf의 시작주소이기 때문에, buf의 시작 주소와 return address의 거리는 0x40c(1036)입니다.

 

 

실제로 확인해보겠습니다.

 



 

이렇게 return address를 변조할 수 있다는 것을 확인했습니다.

 

 

RTL을 이용해서 system 함수를 호출해서 인자에 “/bin/sh”를 넣어주도록 하겠습니다.

 


 

 


 

하지만 “/bin/sh”의 주소 \x20 때문인지, argc3이 되어 종료됩니다. 다시 “”로 감싸서 넣어줍니다.

 

 


 

argc2가 제대로 되었고, 세폴이 뜹니다. 아마 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