티스토리 뷰
Codegate 포너블 문제 nuclear 입니다.
메인함수를 들여다 보니 소켓을 활용하여 서버를 열고 진짜 메인 함수를 호출하는 것이 보입니다.
진짜 메인 함수로 들어가 보니 커맨드를 입력받는 함수가 보이고, 512의 공간만큼 입력을 받는것을 보아 여기서 오버플로우가 발생한다는 것을 알 수 있습니다.
우리는 오버플로우를 활용해서 passcode를 알아내야하는데, 커맨드입력값 만으로 passcode의 메모리까지 닿지 않으니, 프로그램의 위도와 경도를 설정하는 부분에서 메모리를 꽉 채워넣은 후, 커맨드 입력값을 꽉 채워넣어 passcode까지 닿게 합니다.
passcode가 나왔으면 launch 메뉴에서 passcode를 입력한 후 들어가는 함수의 소스를 봅니다.
passcode를 입력 후 들어가는 함수에서 가장 먼저 호출되는 함수로 들어오니 버퍼오버플로우 취약점이 발생하는 함수라는 것이 딱 보입니다.
버퍼를얼마나 채워야 할지 스택영역을 보겠습니다.
스택영역을 보니 20c만큼의 버퍼가 있는것을 알 수 있습니다.
이대로 익스 코드를 짜고 진행해보겠습니다.
clear
익스 코드는 아래 파일로 올려두겠습니다.
'Pwnable > write up' 카테고리의 다른 글
| sandbag[RootCTF2017] (0) | 2018.02.21 |
|---|---|
| babypwn[Codegate2017] (0) | 2018.02.21 |
| watermelon[Codegate2016] (0) | 2018.02.20 |
| angry_doraemon[Codegate2014] (1) | 2018.02.08 |
| ropasaurusrex [plaid CTF] (0) | 2018.02.06 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- visual
- apache24
- apm연동
- load
- load of sql injection
- 연동
- prob1
- 윈도우10
- 코딩
- 2015
- 언어
- sql inejction
- 설치
- apache
- window10
- windows10
- C
- sdl체크
- APM
- sdlcheck
- php
- studio
- 윈도우
- window
- 10
- 프로그래밍
- MySQL
- 코드
- WebHacking
- 소스
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
nuclear_exploit.py