level 14

2020. 9. 8. 17:59

 

이번엔 엄청 복잡한 소스코드가 보이네요.

상단에는 RTL2 라고 써있습니다.

 

아무래도 RTL chain 공격을 하라는 것 같습니다.

함수와 함수를 연계하라는 것이죠.

위에서도 볼 수 있듯이 execve를 사용하라는 듯 보이네요.

 

execve - system - exit - "/bin/sh\x00" 순으로 메모리에 넣어주면 될 것 같습니다.

 RET    -   RET   - RET -      argv

 

먼저 파일을 복사하겠습니다.

 

 

이제 디버깅을 통해 execve, system, exit의 주소를 알아내겠습니다.

 

execve : 0x400a9d48
exit :     0x400391e0
system : 0x40058ae0

 

이제 "/bin/sh\x00" 주소를 찾아봅시다.

 

 

소스코드를 작성하고,

 

 

컴파일 뒤에 실행하면 주소가 나옵니다.

"/bin/sh\x00" : 0x400fbff9

 

이제 payload를 작성하겠습니다.

"A"*44 + execve + system + exit + "/bin/sh\x00"의 주소

 

 

성공!

'[▒] 보안 > LOB' 카테고리의 다른 글

level 16  (0) 2020.09.09
level 15  (0) 2020.09.08
level 13  (0) 2020.09.08
level 12  (0) 2020.09.08
level 11  (0) 2020.09.08

BELATED ARTICLES

more