RootCTF 2017 sandbag 문제 write up 입니다.메인 함수를 보면 여러 함수들이 보이는데, 일단 두번째 함수로 가보겠습니다.함수를 들여다 보면 read 함수에 취약점이 보이는데, v7을 4로 하고 a5를 2985984로 맞추거나, a1을 10000000으로 하는 방법이 있습니다.일단 메인 함수의 스택으로 a6이 버퍼 오버플로우를 발생시킬 수 있는지 확인해봅시다. 충분히 될 것 같네요.이제 아까 그 read 함수를 실행시키는 조건을 맞추기 위해 메인함수에서 v8인 a6 또는 v9인 a1의 조건을 맞추는 연산자를 찾아봅시다.첫번째 메뉴입니다.여기서 a1을 증가시킬 수 있지만, 횟수제한이 있기때문에 a1을 10000000으로 맞추는건 불가능해 보입니다.두번째 메뉴입니다.여기서도 a1을 100..
코드게이트2016 문제 watermelon입니다.메인함수에 들어가니 여러 함수로 이동하는게 보입니다. 각각의 함수로 들어가 분석해봅시다.add 함수의 모습입니다.잘 보면 4byte의 count, 20byte의 music, 20byte의 artist로 이루어진 구조체를 사용한다는 걸 알 수 있습니다.modify 함수를 보게되면 마지막 read 부분에서 버퍼오버플로우가 난다는 것을 알 수 있습니다.실제 구조체가 들어가는 스택의 크기가 커서 한번에 채울 수 없으니, 먼저 Add playlist에서 구조체를 채워줍니다.100개의 구조체를 모두 채우면 그 다음에 카나리 구역이 있으니 오버플로우를 이용해 카나리를 릭 해준후,rop로 쉘을 따주면 됩니다. clear 익스코드는 아래 첨부파일에 있습니다..
Codegate 포너블 문제 nuclear 입니다.메인함수를 들여다 보니 소켓을 활용하여 서버를 열고 진짜 메인 함수를 호출하는 것이 보입니다.진짜 메인 함수로 들어가 보니 커맨드를 입력받는 함수가 보이고, 512의 공간만큼 입력을 받는것을 보아 여기서 오버플로우가 발생한다는 것을 알 수 있습니다.우리는 오버플로우를 활용해서 passcode를 알아내야하는데, 커맨드입력값 만으로 passcode의 메모리까지 닿지 않으니, 프로그램의 위도와 경도를 설정하는 부분에서 메모리를 꽉 채워넣은 후, 커맨드 입력값을 꽉 채워넣어 passcode까지 닿게 합니다. passcode가 나왔으면 launch 메뉴에서 passcode를 입력한 후 들어가는 함수의 소스를 봅니다.passcode를 입력 후 들어가는 함수에서 가장..
Codegate 2014년도 포너블 문제 angry_doraemon입니다. 소스를 보면서 함수를 찾아 들어가니 Throw mouse 부분에서 취약점이 보입니다.획색으로 칠해진 부분이 버퍼 오버플로우가 발생하는 부분이고, 노란색으로 칠해진 부분이 카나리를 출력하도록 하는 부분입니다. 스택으로 들어가보니 버퍼에서 카나리까지 거리가 10 이니 카나리의 첫바이트가 00인걸 생각해서 y를 11개 써서 덮어주면 될 것 같네요. 카나리가 구해진 후 익스코드로 리턴까지 12를 덮어 쉘을 따면 될 것 같습니다. 카나리를 구하는 파이썬 코드를 작성해 카나리를 구했습니다. 이제 익스코드를 짜기 전에 시스템 함수의 주소값을 구해야 하니 read 함수의 주소와 system 함수의 주소값을 구합니다.나중에 익스코드에서 read ..
plaid CTF의 ropasaurusrex라는 문제입니다.먼저 바이너리 파일을 첨부해놓았으니 필요한 분은 다운받으시면 됩니다. file 명령어로 실행파일을 확인해보면 32bit elf 파일이라는 것을 알 수 있습니다.checksec으로 보호기법을 확인한 결과 nx라는 보호기법이 걸려있엇습니다.(스택의 실행권한을 조정하여 스택에서 쉘 코드를 실행할 수 없게 하는 보호기법)(RTL 기법으로 우회한다.)ida 32bit 헥스레이로 소스를 보니 간단합니다.버퍼의 크기는 136이지만 read는 256byte나 한다는 것을 알 수 있습니다.버퍼에 sfp 까지 합하면 140byte를 덮으면 리턴이 나오겠네요.직접 스택에서 확인해 보니 버퍼 바로 아래 sfp가 4byte 존재하고 그 아래 return이 존재한다는 것..
- Total
- Today
- Yesterday
- window10
- 2015
- MySQL
- 윈도우
- php
- APM
- 소스
- C
- 코딩
- visual
- load
- windows10
- 설치
- sdlcheck
- load of sql injection
- apm연동
- WebHacking
- 10
- 언어
- window
- 프로그래밍
- studio
- sdl체크
- apache24
- sql inejction
- prob1
- 윈도우10
- apache
- 코드
- 연동
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |