Profile

머리정리하는곳

c2w2m2

[Level13] darknight -> bugbear 다른풀이

FC3의 Level 2 를 풀다가보니 힌트가 ret sled 가 주어져서 이게 뭔가.... 하고 찾아보니 ret에 ret 주소를 쓰고 또 ret에 ret 주소를 써서


스택 주소 입력제한(?) 같은것을 우회하는 기법이라 합니다.


이를 보고 어디서 연습해보지.... 했는데 LOB RedHat RTL1 번이 ret에 스택 주소를 못걸게 되있는 구조로 되어있길래 이를 우회해서 


0xbf?????? 모양의 주소를 넣어 쉘을 실행시켜 보겠습니다!


코드는 생략하고 ret 주소를 찾아 보겠습니다


찾을거도 없이 그냥 disas main 하면 나와영... 


환경변수에 shellcode 넣고 그 주소를 찾는건 생략 할게여


계획을 세워 보자면


dummy + sfp [44 byte] + ret에 ret주소[4 byte] + 환경변수 주소 [4 byte]


가 되겠습니다. 



./bugbear `python -c 'print "A"*44 + "\xa7\x84\x04\x08" + "\xaa\xfe\xff\xbf"'`





ret 에서 ret 가고 ret 에서 ret 가고 하는 방식이므로 Nop Sled 와 같이 ret주소가 몇번이 들어가도 실행이 됩니다!


'Pwnable > LOB' 카테고리의 다른 글

[LOB FC3 - Level5] evil_wizard -> dark_stone  (0) 2017.06.23
[LOB FC3 - level4] hell_fire -> evil_wizard  (0) 2017.06.12
[Level1] gate -> iron_golem  (0) 2017.05.19
[Level20] xavius -> death_knight  (0) 2017.05.18
[Level19] nightmare -> xavius  (0) 2017.05.18