반응형

Write-up 119

[Plaid CTF 2015] ebp (feat. double staged format string attack)

Plaid CTF 2015 EBP (pwnable 160) 문제이다. 문제를 살펴보면, buf에 1024 입력을 받는다. 그 후 echo()가 수행되는데, echo()를 보면 echo()는 make_response()와 puts()로 이루어진 걸 알 수 있다. 궁금하니 이번에는 make_response()를 봐보자. make_response()는 snprintf()를 수행함을 알 수 있다.취약점들이 보인다. 일단, snprintf()와 puts()가 포맷스트링 버그가 일어날 수 있는 형태인데, 처음 사용되는 snprintf()에서 buf 에 형식문자들이 존재하여 포맷스트링 버그가 발생하면 그 결과 값이 response에 저장되므로 response 에는 형식문자가 들어갈 수 없다. 따라서 이 문제는 snp..

Write-up 2017.11.01

[hackerschool ftz] level11 writeup (format string attack)

간단히 format string attack 에 대한 기억도 되살릴겸 FTZ 문제를 풀어봤다. 포맷스트링 버그로 풀 수 있는 문제가 level11밖에 생각이 안나서 11로 진행하도록 하겠다. 문제는 다음과 같다. strcpy는 널문자를 만나기전까지 모두 카피하므로 버퍼오버플로우가 일어날 수 있지만, 포맷스트링 공격에 대한 공부를 진행하므로 printf에서 보이는 포맷스트링 버그에 대한 취약점으로 익스플로잇을 진행하도록 하겠다. (포맷스트링 공격에 대한 설명은 생략하겠다. 아니 어쩌면 문제를 풀며 진행할 수도) 먼저 내가 입력한 인자 값이 stack 상에서 어디쯤 위치하는지 보도록 하겠다. 어셈블리 코드를 보고 알 수도 있겠지만, 그냥 직접 값을 넣어보며 거리를 계산하도록 하겠다. 현재 AAAA를 입력했고..

Write-up 2017.10.30

[CSAW 2017] Best Router writeup

문제를 보면 링크주소 하나와 tar.gz 파일 하나가 있다. 주어진 링크로 접속하면 username을 입력하는 칸과 password를 입력하는 칸이 있다. 왠지 주어진 파일에서 username과 password를 찾아 제출하는 형태인 것 같다. 문제의 파일이다. 그런데 용량이 커서 알집으로 압축이 제대로 풀리지가 않는다. (약 16GB정도 된다.) 기존에 존재하는 리눅스 os들의 용량이 그보다 적어서 고생 끝에 우분투에서 파일 압축해제를 했다. (tar -xzvf best_router.gz) 긴 시간이 지난 후 이미징된 파일을 하나 얻을 수 있었다. 이미징 파일을 FTK imager로 분석해보았다. FAT32형식으로 포맷된 파티션과 ext4로 포맷된 파티션이 보인다. username과 password를 ..

Write-up 2017.10.11

[DCTF 2017] No that kind of network writeup

문제는 다음과 같다. 다운로드를 누르면 다음과 같은 페이지가 나오는데, 파일을 이런 형태로 주는 것 같다. 페이지 내용을 긁어 파일을 저장했다.pcapng 파일이라 하여 pcap파일로 변환해서 wireshark로 보려 했지만, 이 파일은 정상적인 pcapng 파일이 아니였다. file 명령어로 파일을 살펴보니 그냥 data 파일이라고 한다. 문제를 다시보니 문제 이름이 No that kind of network 라 한다. 네트워크 문제가 아닌 것 같아, 다르게 접근해 보았다.strings 명령어를 이용해서 찾아보니 뭔가 특이한 것을 발견했다. 전 세계를 돌아다닌다고 해서 이것에 더 확신이 갔다. pmap이 뭔지 또 검색해보니 프로세스를 보는 명령어더라. 그래서 혹시 메모리를 덤프한 파일이 아닐까 하는 생..

Write-up 2017.10.02

[DCTF 2017] A thousand words writeup

문제는 위와 같다. 문제파일을 다운받으면다음과 같은 zip 파일을 얻을 수 있다. 혹시나해서 파일 시그니처를 보면, 정상적인 zip 파일인 것을 알 수 있다. 압축을 해제하면 다음과 같은 1154개의 이미지 파일들을 얻을 수 있다.처음에는 the original photo 라고 해서 1154개의 사진 중에 뭔가 특별한 사진이 있나 했다. 그래서 크기를 봤는데 크기가 조금씩 다르더라. 그림을 보니 뭔가 글자가 써있는 그림이 있을까 싶어 그림들을 모두 눈으로 살펴봤으나 겉으로 보기에는 모두 똑같았다. 두 번째로는 예전에 화질이 좋은 큰 사진이 여러개의 화질이 낮은 작은 사진 파일들로 나누어졌었던 기억이 있어 파일들을 순서대로 이어붙여 보았다. 파일을 만든 후 열어보았지만, 기존 파일들이랑 별 다를게 없없다...

Write-up 2017.10.02

[DCTF 2017] Inception writeup

다음 문제를 봐보자. 다운로드 버튼을 누르면 그림이 나온다.이 그림을 다른 이름으로 저장을 하여 다음과 같이 파일을 생성하도록 한다.파일의 용량이 크다. 뭔가 의심이 가는 부분이다. 헥스 에디터로 열어보자. 헥스 에디터로 파일을 열어봤을 때, 파일 내부에 많은 수의 png 파일 시그니처가 포함되어 있음을 확인할 수 있다. 이 사진 파일 안에 여러 개의 사진 파일이 숨겨져 있다는 뜻이다. 파일 시그니처를 기반으로 파일들을 추출해보았다.그림과 같이 12개의 png 파일로 나누어질 수 있었다. 12개의 파일 중 유난히 파일의 용량이 큰 파일 하나를 발견할 수 있었다. 파일을 열어보니, 다음과 같이 플래그를 발견할 수 있었다. 하핫. Flag : DCTF{61c9183bf4e872b61d71697891e0a45..

Write-up 2017.10.02

[CSAW 2017] Missed Registration writeup

문제의 파일을 살펴보자. 위와 같은 .pcap 파일을 얻을 수 있다. 와이어샤크를 실행하여 패킷파일을 읽게 해보면, 정상적인 패킷 캡처 파일임을 알 수 있다.일단 패킷을 살펴보자. 총 3885개의 패킷이 있고 TCP , HTTP 두가지 종류의 프로토콜을 이용하여 통신이 이뤄지고 있음을 확인할 수 있었다.와이어샤크의 conversation 기능을 사용하여 패킷들을 살펴보았다. TCP 탭에서 TCP 로 이루어진 통신들을 볼 수 있는데, 이 통신들의 내용을 Follow Stream을 이용하여 살펴보았다. ( 위에서 HTTP 프로토콜을 사용한 흔적이 여기서 보이지 않는 것은 HTTP, TELNET, FTP, SMTP, SSH 등의 프로토콜들이 모두 TCP/IP 중 TCP 프로토콜 위에 만들어진 네트워크 프로토콜..

Write-up 2017.10.02
반응형