-
|Lord Of Bufferoverflow| #6 wolfman - darkelfWargame Site/BOF 2019. 5. 20. 10:43
자, 이번에는 argv[1] 의 길이가 제한되 있기 때문에 기존의 방식과는 다른 접근을 해야한다.
그 방법은 의외로 단순하다. argv[2] 위치에 shell code 를 넘겨주는 방식으로 접근하면 되니까!
RET 를 돌려줄 수 있는 쪽이 한 곳이라도 있다면, 해결되는 문제이다.
첫 번째 인자를 buffer(40) + SFP (4) + RET (4) 형태로 넘겨주고,
두 번째 인자를 shell code 로 넣어주면 SEHLL 을 따낼 수 있을 거 같다,
./darkela `python -c 'print "A"*44 + "\xbf"*4'` `python -c 'print "shell code"'`
main 함수 또한 인자를 받고 시작되기 때문에 main 함수의 EBP 밖에는 인자들이 줄줄이 있을 것이다.
그것을 확인하기 위해 위의 코드를 쳐주었다.
아래의 그림을 통해 0xbffffe05 부터 Shell code 가 위치하고 있는 것을 알 수 있다.
깔끔하게 Clear 된 것을 알 수 있다.
'Wargame Site > BOF' 카테고리의 다른 글
|Lord Of Bufferoverflow| #8 orge - troll (0) 2019.05.20 |Lord Of Bufferoverflow| #7 darkelf - orge (0) 2019.05.20 |Lord Of Bufferoverflow| #5 orc - wolfman (0) 2019.05.20 |Lord Of Bufferoverflow| #4 goblin - orc (0) 2019.05.19 |Lord Of Bufferoverflow| #3 cobolt - goblin (0) 2019.05.19 댓글