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