일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- c++ heap
- go
- 자료구조
- BOJ
- tour of go
- 연결리스트
- 백준
- C언어
- Docker
- 공룡책
- JUCE라이브러리
- LOB
- C++ library
- Nebula
- JUCE 튜토리얼
- go channel
- vim-go
- 운영체제
- JUCE
- 리듬게임
- gui
- C++
- 프로그래밍
- 코딩
- 알고리즘
- JUCE library
- C++ gui 라이브러리
- OS
- C++ gui
- a tour of go
Archives
- Today
- Total
CafeM0ca
[LOB]level18 nightmare 본문
반응형
ID:nightmare
PW:beg for me
표준입력이고 ret빼고 다 초기화해버린다.
ebp-40이 버퍼다.
ebp-44부분이 ret_addr 포인터다. 저부분이 \x90\x90이 아니면 ret_addr을 ++해준다.
따라서 \x90을 만날때까지 무한루프.
표준입력이니까 stdin버퍼에 쉘코드를 올리고 익스플로잇할꺼다.
4번째(0x40015000)가 stdin버퍼의 시작점이다.
A를 입력하면 stdin버퍼에 고스란히 남아있다.
스택은 아래와 같다.
ret_addr 4| buffer 40 | sfp | ret
ret_addr이 \x90\x90을 만날때까지 무한루프이므로 buffer에 \x90\x90을 채워주면 된다.
exploit
맨 앞에 $을 붙여서 6시간동안 삽질했다..(왜 안되는거지?ㅠㅠ 하면서..)
반응형
'Hacking > LOB(Red Hat)' 카테고리의 다른 글
[LOB]RedHat write up pdf (0) | 2018.06.22 |
---|---|
[LOB]level19 xavius (0) | 2018.02.04 |
[LOB]level17 succubus (0) | 2018.01.20 |
[LOB]level16 zombie_assassin (0) | 2018.01.19 |
[LOB]level15 assassin (0) | 2018.01.18 |
Comments