Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Shellcode
- backend
- 파이썬
- 리눅스
- ChatGPT
- Linux
- deep learning
- 러닝 스칼라
- Scala
- 백엔드
- php
- BOF 원정대
- 러닝스칼라
- 챗GPT
- 인공지능
- Web
- 경제
- hackerschool
- c++
- flask
- 웹해킹
- Javascript
- c
- Python
- 딥러닝
- hackthissite
- mysql
- BOF
- hacking
- webhacking
Archives
- Today
- Total
jam 블로그
[bof 원정대] skeleton -> golem (stack destroyer) 본문
728x90
다음 문제 소스입니다.
문제를 풀 과정입니다.
1. shared library 만들고 환경변수 등록하기
2. bof 공격
[그림 1] golem.c
소스분석
1. buffer의 크기 40
2. 인자값은 적어도 하나 이상
3. 첫번째 인자값의 48번째값은 \xbf
4. 버퍼의 리턴값을 제외한 버퍼부터 끝까지 초기화
소스분석
1. buffer의 크기 40
2. 인자값은 적어도 하나 이상
3. 첫번째 인자값의 48번째값은 \xbf
4. 버퍼의 리턴값을 제외한 버퍼부터 끝까지 초기화
문제를 풀 과정입니다.
0. bash2
1. shared library 만들고 환경변수 등록하기
2. bof 공격
1. shared library 만들고 환경변수 등록하기
[그림 2] 임의의 소스 만든후 shared library로 컴파일 후 LD_PRELOAD 환경변수에 등록
공유라이브러리를 만든 후에 LD_PRELOAD 환경변수에 등록을 하면 프로그램이 시작시 적재가 된다.
공유라이브러리를 만든 후에 LD_PRELOAD 환경변수에 등록을 하면 프로그램이 시작시 적재가 된다.
2. bof 공격
[그림 3] bof 공격
주소값은 buffer 주소보다 낮아야 하며 \x90값이 많이 넣었기 때문에 주소값을 딱 맞출 필요는 없습니다.
주소값은 buffer 주소보다 낮아야 하며 \x90값이 많이 넣었기 때문에 주소값을 딱 맞출 필요는 없습니다.
'해킹 > 시스템' 카테고리의 다른 글
[bof 원정대] darkknight -> bugbear (RTL1) (0) | 2012.03.22 |
---|---|
[bof 원정대] golem -> darkknight (sfp or fpo) (0) | 2012.03.22 |
[bof 원정대] vampire -> skeleton (argv hunter) (0) | 2012.03.21 |
[bof 원정대] troll -> vampire (check 0xbfff) (0) | 2012.03.20 |
[bof 원정대] orge -> troll (check argc, argv hunter) (0) | 2012.03.20 |
Comments