티스토리 뷰

Pwnable/CTF

Boston Key party 2016 CookBook

err0rless313 2016. 4. 8. 02:56


Bcloud 문제와 마찬가지로 House of Force 문제이다.


recipe를 출력해주는 함수에서 leak을 할 수 있다. 그 전에 recipe+4가 0이 아니면 인스턴스의 수를 구하는 함수가 있는데

계속 거기서 터졌다. 그래서 \x00을 124개 채워주고 leak할 값을 넣어주면 된다.

printf("recipe type: %s\n", *(recipe + 124));


물론 이것도 그냥하면 안되고

```
malloc(1036); 
free(alloced_chunk); 
```

를 먼저 해줘서 UAF를 이용해 Leak을 해야한다.


뭔가 엄청 시간이 오래걸린 문제다. Top chunk를 계산할떄도 free된 chunk를 신경안쓰고 그냥 구해서 Top chunk가 잘 안구해졌다. 왜인지 계속

leak된 heap address랑 0x0804d0a0이 가르키는 값이 달라서 오래걸렸다. (그냥 계산해서 넣어도 되지만 내가 의도한 값과 똑같이 나올때까지 계속구해봤다.)


뭐 leak만 잘하면 다른건 쉽다 strtoul을 system으로 덮으면 bookname을 넣어주는 곳에서 argument를 지정해 줄 수 있다.

Top chunk를 덮을 수 있는건 Recipe를 추가하는 곳에서 name을 추가할 때 Chunk + 140부터 1036만큼 받을 때 터진다. 나머진 걍 똑같음





'Pwnable > CTF' 카테고리의 다른 글

BCTF 2016 bcloud  (0) 2016.04.05
Holyshield 2016 Exploit300 VOD exp only  (0) 2016.01.17
32c3 CTF 2015 teufel  (3) 2015.12.31
32c3 CTF readme  (0) 2015.12.30
SECCON 2015 Quals FSB:TreeWalker  (0) 2015.12.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
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
글 보관함