농소

The Lord Of The BOF // goblin -> orc 본문

Wargame/The Lord Of The BOF

The Lord Of The BOF // goblin -> orc

농소 2018. 2. 7. 18:26




이번에는 egghunter라는 방어책을 하나 추가시켰네요 

그리고 첫번째 인자의 47번째 문자('\xbf')가 아니면 강제로 종료가 되네요

그런데 버퍼의 크기가 buffer(=40byte), ebp(=4byte), eip(=4byte)

저 47번째 위치는 eip가 들어가는 주소이기 때문에 어차피 bof를 할 때 저 위치에는 '\xbf'가 와야 하므로 

딱히 신경 쓸 필요는 없는 것 같습니다.



gdb로 확인한 결과 eip의 첫주소엔 bf가 들어갈 수 밖에 없습니다.



payload


$(python -c 'print "<특정문자>" * 44 + "<쉘코드 시작주소>" + "<쉘 코드>" ')

특정문자에 nop을 쓰면 주소를 찾기 쉬우니 쓰시면 더 편하실겁니다.


쉘코드를 넣어주고 쉘주소를 설정하여 실행한 결과 정상적으로 쉘이 실행 되었습니다.