일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 해킹도구
- Samba
- 칼리리눅스
- sql
- Los
- 시스템 해킹
- 취약점
- 포트스캔
- SQLINJECTION
- 암호해독
- 해킹툴
- Metasploit
- 해킹
- Hacking
- 스캔
- 스캐닝
- 모의해킹
- load of sqlinjection
- 취약점분석
- 취약점 스캔
- 침투테스트
- SQL Injection
- root권한
- 내부침투
- smb
- 권한상승
- CTF
- web hacking
- Today
- Total
감자 텃밭
Simple_overflow_bof_ver_2 본문
해당문제의 프로그램을 실행시켜보자
데이터를 입력받고 입력받은 데이터와 해당 데이터가 들어가있는 buf의 주소를 출력 해주며,
다시 입력할것인지 묻고 다시 입력을 받을 수 있다. 하지만 프로그램을 다시 시작하면 주소가 바뀌는걸로 봐서
이번문제도 ASLR기법이 적용되어 있는 거 같다.
다른것들도 적용되어있는지 확인해보자.
이번 문제도 ASLR을 제외한 메모리 보호기법은 적용되어있지 않는 거 같다.
이번 문제도 이전 문제와 비슷한 방식으로 풀면 될 거 같다.
일단 버퍼의 주소는 나와있으니 크기를 구해보자.
61번줄에서 data :를 입력받고 ebp-0x88위치의 주소를 eax에 넣고 인자값으로받아서 입력하는 거 같다
그렇다면 크기는 0x88(136)이 된다.
그렇다면 payload를 한번 작성해 보자.
해당 공격코드는 이전과 비슷하게 recvuntill을 이용하여 Data :까지 문자열을 받아오고 그 후 aaa(임의 의 값)을 넣어
버퍼의 주소를 확인하고 recv를 이용하여 버퍼에 주소값을 넣는다 int(r.recv(10),16) 즉 int(정수형)으로 받으며,
10바이트만큼 16진수로 받아오겠다는 것이다 그 후 Again (y/n) 까지 문자열을 받아오고 그 후 다음 실행에서 공격을 해야하기에 y를 보낸 후 payload에 쉘코드를 삽입하고 sfp까지 더미값을채운 후 ret주소에 buf의 주소를 넣었다
그 후 동일하게 Data :까지 문자열을 받아오고 페이로드를 전송시키도록 작성하였다.
이제 한번 만들어봤으니 실행을 시켜보자!!
해당 문제도 다행히 쉘을 획득하고 flag를 획득할 수 있었다.
'my_study > HackCTF' 카테고리의 다른 글
rtl_world (1) | 2021.05.28 |
---|---|
offset (0) | 2021.05.26 |
Simple_size_bof (0) | 2021.05.21 |
64bof_basic (0) | 2021.05.21 |
내 버퍼가 흘러넘친다!! (0) | 2021.05.18 |