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 | 31 |
Tags
- 암호해독
- SQL Injection
- 취약점 스캔
- web hacking
- 해킹툴
- 칼리리눅스
- 취약점
- 취약점분석
- 해킹
- 스캐닝
- Samba
- 포트스캔
- 해킹도구
- 내부침투
- sql
- Metasploit
- 스캔
- Los
- 권한상승
- CTF
- load of sqlinjection
- 침투테스트
- smb
- SQLINJECTION
- root권한
- 메타스플로잇
- Hacking
- Kioptrix
- 시스템 해킹
- 모의해킹
Archives
- Today
- Total
감자 텃밭
[pwnkr] - bof 문제 본문
해당 문제의 소스코드는 아래와 같다.
main함수를 보면 func함수의 인자 값으로 0 xdeadbeef를 넘겨주고 func함수를 보면
overflowme 변수에 32바이트의 크기를 할당하고 gets함수로 입력값 검증 없이 입력을 받으므로
해당 부분에서 bof가 일어난다 아래 if조건문을 확인하면 key값이 0 xcafebabe 일 경우 쉘을 실행시켜준다.
그렇다면 gdb로 분석하여 overflowme변수에서 key변수까지의 거리를 계산하여 오버플로우를 일으킨 후
key부분의 값을 해당 cafebabe값으로 변조시키면된다.
해당 부분을 보면 29번째 줄에서 ebp-0x2 c 위치가 해당 overflowme 변수 위치이다 그 후 cafebabe가 들어있는
key변수의 위치는 ebp+0x8이다 해당 두 변수 간의 거리는 52만큼 차이가 난다. 페이로드는 아래와 같이 작성하였다.
그 후 실행시키면 성공적으로 쉘을 획득할 수 있다.
'my_study > pwn.kr' 카테고리의 다른 글
[pwnkr] - random (0) | 2021.09.01 |
---|---|
[pwnkr] - passcode (0) | 2021.09.01 |
[pwnkr] - flag (0) | 2021.09.01 |
[pwnkr] - collision문제 (0) | 2021.09.01 |
[pwn.kr] fd 문제 (0) | 2021.08.31 |