일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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++
- vim-go
- Nebula
- a tour of go
- 리듬게임
- c++ heap
- 코딩
- C++ gui
- JUCE 튜토리얼
- 알고리즘
- 공룡책
- 프로그래밍
- LOB
- C언어
- OS
- JUCE library
- tour of go
- 운영체제
- 백준
- JUCE
- gui
- Docker
- go
- 연결리스트
- BOJ
- JUCE라이브러리
- C++ gui 라이브러리
- go channel
- 자료구조
- C++ library
Archives
- Today
- Total
CafeM0ca
Level2 cobolt 본문
반응형
입장 ID: cobolt
입장 password: hacking exposed
소스코드를 확인하자.
goblin은 cobolt와 다른 점은 gets함수로 입력을 받고 있다.
그리고 gets함수에서 오버플로우가 발생한다.
접근 방식은 이전 문제와 같이 환경변수를 사용하겠다.
환경변수에 쉘코드를 올려주고 환경변수 주소를 구하는 소스코드를 작성후 컴파일한 뒤 실행시킨다.
환경변수 주소: 0xbffffb59
스택상태는 아래와 같다.
buffer 16 | SFP 4 | RET 4
페이로드는 아래의 구조로 입력한다.
"A"*20 | &(환경변수)
입력이 함수로 인자전달이 아닌 표준입력이므로 cat을 사용하여 전달하겠다.
-cat은 표준입력으로 문자열을 받아서 그대로 출력해준다.->리다이렉션
(python -c 'print "A"*20+"\x59\xfb\xff\xbf"';cat) | ./goblin
| (파이프)를 쓰고 뒤에 실행파일을 입력하면 실행된다.
다음 ID: goblin
다음 PW: hackers proof
반응형
'Hacking > LOB(Red Hat)' 카테고리의 다른 글
level4 orc (0) | 2017.09.14 |
---|---|
Level3 goblin (0) | 2017.09.13 |
Level1 gremlin (0) | 2017.08.22 |
Level0 gate (0) | 2017.08.22 |
[LOB]풀이를 시작하기전에 필독 (0) | 2017.08.21 |
Comments