일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kioptrix
- 해킹툴
- CTF
- 암호해독
- SQLINJECTION
- 권한상승
- 취약점
- root권한
- 취약점분석
- web hacking
- Los
- Samba
- 칼리리눅스
- 포트스캔
- 해킹
- 스캐닝
- 스캔
- Metasploit
- 해킹도구
- 모의해킹
- smb
- 시스템 해킹
- load of sqlinjection
- 메타스플로잇
- 침투테스트
- 내부침투
- SQL Injection
- Hacking
- 취약점 스캔
- sql
- Today
- Total
감자 텃밭
Basic_BOF#2 본문
HackCTF의 Basic_BOF#2번째 문제
해당 프로그램의 동작을 확인하기 위해 실행시켰더니 무언가 입력을 받기를 기다리고 있었다.
임의의 값을 입력했더니..? 하아아아아아앙???.... 흠 마음에 드는 프로그램이군!!
일단 무언가를 입력하면 하아아아아아앙을 출력하는 거 같다 gdb를 이용하여 분석해보자
훔... 별 내용은 없는 거 같다
SUP 함수가 있고 그저 출력해주는 함수이다. 위의 메인코드로 특정값을 입력하면 SUP함수가 실행되어 하아아아아앙이 실행된다.
흠... 이 함수 말고 다른 함수가 숨겨져 있는지 확인해보았다
역시나 의심스러운 shell함수를 발견하였다 이를 확인해보았더니
역시나 시스템 함수를 통해 쉘을 실행시켜주는 함수였다. 그럼 모든 건 해결됐다
ebp-0xc위치에 sup함수의 주소가 들어가고 그 후 ebp-0x8c에서 특정값을 fgets함수로 입력을 받으니
41번째 줄에서 버퍼오버플로우를 일으켜 0xc위치의 값을 sup의 주소가 아닌 shell함수의 주소로 삽입하면 된다
0x8c와 0xc의 거리는 128byte이며 그 후 ffffd07c의 위치에 sup함수의 주소가 있다 그럼
128byte를 dummy로 채운 후 ffffd07 c(0xc) 위치에 shell함수의 주소를 삽입하면 된다 shell함수의 주소는
위 사진에 있듯 0x0804849b이다. 그럼 payload를 작성하러 가보자!!
해당 payload는 이렇게 작성하였다. 로컬에서 먼저 사용해보자!
성공적으로 쉘이 따지는 모습이다 이제 페이로드를 수정 후 remote를 사용하여 쉘을 획득하자
성공적으로 쉘을 획득하고 flag를 획득할 수 있었다!
'my_study > HackCTF' 카테고리의 다른 글
Simple_overflow_bof_ver_2 (0) | 2021.05.21 |
---|---|
Simple_size_bof (0) | 2021.05.21 |
64bof_basic (0) | 2021.05.21 |
내 버퍼가 흘러넘친다!! (0) | 2021.05.18 |
Basic_BOF#1 (2) | 2021.05.17 |