728x90
반응형
오늘은 pwnable.kr의 3번문제인 bof를 풀어 보겠다.
일단 문제 설명을 보면 bof, bof.c를 다운 받아서 분석한 다음 pwnable.kr 9000에 값을 넣어 flag를 cat하는 방식인 것 같다.
그럼 먼저 링크로 들어가서 파일을 다운 받고, 파일을 해보자.
위 처럼 두개의 파일을 다운받고 터미널을 실행 시켰다.
먼저 ls -l로 파일을 살펴본다.
그리고 bof를 실행해보니 Permission denied 오류가 났다.
그러므로 먼저 cat bof.c로 bof.c를 살펴보자.
결과는 다음과 같다.
일단 살펴보면 0xdeadbeef를 0xcafebabe로 바꿔서 입력하면 해결되는 것 같다.
그리고 gets함수로 overflowme[32]를 입력받는 것 같다.
더 자세히 분석하기 위해서 lldb를 이용하여 분석해보았다.
위는 func부분의 디스어셈블한 결과이다.
일단 0x649 <29>부분에 보면 eax에 0x2c(%ebp)가 저장된다.
그리고 key값은 <40>부분에 보면 [ebp+0x8]에 저장되는 걸 알수있습니다.
그러므로 거리를 구하면 4바이트의 key값 하고 52를 채워주면 된다.
그걸 python -c하고 nc를 이용해서 밑에와 같이 명령문을 만들었다.
(python -c ‘print “\x41”*52 + “\xbe\xba\xfe\xca”‘;cat) | nc pwnable.kr 9000
flag는 자신이 직접 찾아 보는 것을 권장한다.
728x90
반응형
'워게임' 카테고리의 다른 글
HackCTF-1번, 2번, 3번, 4번(Web) Writeup (1) | 2021.01.23 |
---|---|
여러가지 해킹 교육 플랫폼들과 워게임을 포함한 사이트 모음 (0) | 2020.12.30 |
[xcz.kr] Prob1 : End of image 문제풀이 (0) | 2020.11.22 |
[pwnable.kr] 2번 문제 - collision 문제풀이 (0) | 2020.11.08 |
[pwnable.kr] 1번 문제 - fd 문제 풀이 (0) | 2020.11.07 |