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
- Samba
- 스캐닝
- sql
- 해킹도구
- Hacking
- 스캔
- 모의해킹
- CTF
- 해킹
- Los
- Kioptrix
- SQL Injection
- 암호해독
- 포트스캔
- SQLINJECTION
- smb
- 취약점
- 취약점 스캔
- root권한
- 메타스플로잇
- Metasploit
- 권한상승
- web hacking
- 해킹툴
- 침투테스트
- 취약점분석
- 칼리리눅스
- 시스템 해킹
- 내부침투
- load of sqlinjection
Archives
- Today
- Total
감자 텃밭
64bof_basic 본문
HackeCTF 64bof_basic 문제
해당 프로그램을 실행시켰을때는 특정값을 입력받고 입력을 받으면 Hello [입력받은 값]이 출력 된다.
메모리 보호기법이 어떤것들이 작동하고있는지 먼저 확인해보았다
RELRO와 NX가 걸려있다 RELRO는 자세히모르고.. NX가 걸려있는걸로 봐서는 쉘코드를 실행시킬 수 없는 거 같다.
해당문제를 gdb로 확인해보았다.
흠.. 특별한거는 딱히 없는 거 같다 스택의공간을 0x120(288)만큼 확보 후 입력을 받고 출력을하는?거 같다
그리하여
숨겨진 함수가 있는지 확인해보았다.
callMeMaybe라는 수상한 함수를 찾았다.
해당 함수를 확인해보았을떄 /bin/bash를 인자값으로 받아오는 걸 보니 대충 쉘을 실행시켜주는 프로그램인 거 같다
그렇다면 돌아가서 메인함수에서 scanf를 사용하니 저기서 버퍼오버플로우를 이르켜 ret에 해당 callMeMaybe 함수의 주소를 넣으면 해당 함수를 실행시키며 쉘이 실행 될 거 같다. 일단 시도해보자
callmemaybe함수의 시작주소는 0x0000000000400606이다.
payload는 dummy(272)+sfp(8)+ret(8 (callmemaybe)) 로 작성하면 될 거 같다. 당연한 거 지만 sfp와 ret가 8바이트인것은 64bit 실행파일이기 때문이다.
해당 payload를 작성하고 실행시키면!!
성공적으로 쉘을 획득하고 flag를 획득할 수 있었다.
'my_study > HackCTF' 카테고리의 다른 글
Simple_overflow_bof_ver_2 (0) | 2021.05.21 |
---|---|
Simple_size_bof (0) | 2021.05.21 |
내 버퍼가 흘러넘친다!! (0) | 2021.05.18 |
Basic_BOF#2 (1) | 2021.05.17 |
Basic_BOF#1 (2) | 2021.05.17 |