일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Docker
- C++ gui 라이브러리
- C언어
- vim-go
- go
- gui
- 백준
- 운영체제
- 공룡책
- a tour of go
- 프로그래밍
- LOB
- 리듬게임
- JUCE
- 코딩
- c++ heap
- C++ library
- JUCE라이브러리
- OS
- JUCE library
- tour of go
- Nebula
- 자료구조
- C++
- BOJ
- 알고리즘
- C++ gui
- JUCE 튜토리얼
- go channel
- 연결리스트
Archives
- Today
- Total
CafeM0ca
level4 orc 본문
반응형
입장 ID: orc
입장 PW: cantata
소스코드를 확인해보니 환경변수,버퍼를 초기화 하고 있다. argv[1][47]은 \xbf인지 확인도 한다.
복사본을 만들고 gdb로 확인해보자.
main+230에 브레이크 포인트를 잡아준다.
사진을 보면 0xbffffa1c이전 줄에 AAAA 4바이트가 하나 있고 나머지는 다 0으로 초기화 되있는데 이 부분이 buffer를 0으로 초기화 한 부분이다. 스택 구조를 살펴보자.
스택구조는 아래와 같다
buffer 40(초기화됨) | SFP 4 | RET 4
공격 스크립트는 아래와 같다.
"A"*44+"\xaa\xbb\xcc\xbf"+"nop"*200
어떻게 보면 이전 단계와 별 다를게 없다. 버퍼를 초기화 했냐 안했냐의 차이일 뿐이다.
스택 상단의 argv[1]이 보인다. 리턴 주소를 0xbffffc0c로 하겠다.
payload
./wolfman `python -c 'print "A"*44+"\x0c\xfc\xff\xbf"+"\x90"*200+"쉘코드"'`
다음 ID:orc
다음 PW:love eyuna
반응형
'Hacking > LOB(Red Hat)' 카테고리의 다른 글
level6 darkelf (0) | 2017.09.14 |
---|---|
level5 wolfman (0) | 2017.09.14 |
Level3 goblin (0) | 2017.09.13 |
Level2 cobolt (0) | 2017.08.24 |
Level1 gremlin (0) | 2017.08.22 |
Comments