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
- 신경망
- 백준알고리즘
- 활성화함수파이썬
- 버퍼오버플로우
- 딥러닝파이썬
- c언어
- 딥러닝
- C언어알고리즘
- 인공지능
- 신경망구현
- 알고리즘
- 보안
- 신경망파이썬
- 밑바닥부터시작하는딥러닝
- BOF
- 8086CPU레지스터
- 정보보안
- 파이썬신경망
- 달고나bof
- 항등함수
- 신경망 학습
- C언어 알고리즘
- 백준
- 파이썬
- BOJ
- 스트림암호
- 머신러닝
- FTZlevel10
- C알고리즘
- 소프트맥스함수
Archives
- Today
- Total
HeeJ's
[09] hackerschool FTZ :: level9 본문
bof, 버퍼오버플로우 문제이다.
level10의 권한을 얻으려면
buf2의 앞부분이 go가 되어야 한다.
하지만 입력받는 부분은 buf[10]이 되는데,
buf의 공간은 10인데, 40만큼 입력받아 이 부분이 문제가 되는 것 같다.
/usr/bin/bof를 실행시켜보면
특정 문자열을 입력받고, 그대로 종료된다.
이제 buf와 buf2의 위치를 확인해보기 위해
gdb로 컴파일해주었다.
Permission denied.로 위 파일은 권한이 거부되었다.
그래서 bof.c라는 파일을 tmp에 만들어주었다.
이제 gdb를 이용해 컴파일해주었다.
어셈블리언어로 확인해주었다.
buf은 ebp-40, buf2는 ebp-24로,
buf에서 16바이트를 채우면 buf2로 버퍼가 채워지는 것 같다.
이렇게 코드에서 Good Skill!이라는 출력 값을 나타낼 수 있었고,
/usr/bin/bof를 실행시켜 같은 값을 입력해주었다.
'<CTF> > <HackerSchool FTZ>' 카테고리의 다른 글
[10] hackerschool FTZ :: level10 (0) | 2020.08.20 |
---|---|
[08] hackerschool FTZ :: level8 (0) | 2020.08.13 |
[07] hackerschool FTZ :: level7 (0) | 2020.08.13 |
[06] hackerschool FTZ :: level6 (0) | 2020.08.01 |
[05] hackerschool FTZ :: level5 (0) | 2020.08.01 |