일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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++ gui 라이브러리
- 연결리스트
- go
- 프로그래밍
- 리듬게임
- OS
- gui
- C언어
- 백준
- JUCE library
- BOJ
- JUCE 튜토리얼
- 자료구조
- 운영체제
- tour of go
- C++ gui
- Nebula
- JUCE라이브러리
- a tour of go
- LOB
- vim-go
- C++ library
- c++ heap
- C++
- 코딩
- JUCE
- 알고리즘
- go channel
- 공룡책
- Docker
Archives
- Today
- Total
CafeM0ca
level6 darkelf 본문
반응형
입장 ID:darkelf
입장 PW:kernel crashed
wolfman.c에서 argv[0]의 길이가 77인지 확인하네요.
파일 이름이 argv[0]입니다. 즉 파일이름의 길이를 심볼릭 링크를 통해서 77자를 맞춰주면 되는데요. 여기서 중요한건 ./home이라는 파일이 있으면 4글자가 아니라 ./도 포함되어 6글자가 됩니다.
심볼릭 링크는 ln -s 링크될파일 파일이름 이렇게 사용합니다.
스택 구조는 아래와 같습니다.
buffer 40 | SFP 4 | RET 4
argv[2]의 주소를 구하고 리턴주소에 사용할 NOP 주소를 구합시다.
원본파일에 심볼릭 링크를 argv[0]의 길이가 77이 되도록 걸어주고 공격합니다.
payload
./`python -c 'print "A"*75'` `python -c 'print "A"*44+"&(argv[2]의 nop)"'` `python -c 'print "\x90"*200+"쉘코드"'`
다음 ID:orge
다음 PW:timewalker
반응형
'Hacking > LOB(Red Hat)' 카테고리의 다른 글
level8 troll (0) | 2017.09.14 |
---|---|
level7 orge (0) | 2017.09.14 |
level5 wolfman (0) | 2017.09.14 |
level4 orc (0) | 2017.09.14 |
Level3 goblin (0) | 2017.09.13 |
Comments