Profile

머리정리하는곳

c2w2m2

[ch4n3 world] Sleepy


이번에 ch4n3 world 에 올린 문제입니당 ㅎㅎ



원래는 FULL RELRO 걸려했는데 익스 다 짜놓은 상태라서 말았습니다.....ㅎㅎ......


문제 컨셉은 졸린 상태에서 코딩하면 이렇게 위험하다! 입니다.


그래서 여기저기 눈에 잘 보이는 취약점이 많아요.


고로 쉬운문제 입니당!


이제 바이너리를 봐봅시다. 있는 취약점을 다 보여드릴게영.


Size 를 받을때 검증을 안해서 memset 으로 leak & overwrite


히든메뉴에서 id check 후에 일어나는 bof

( 사실 안넣으려했고, 다른부분에서도 exploit 이 가능한데 조금이라도 편하게 하시라고 넣었습니다 )



format string bug


 

if 문에서 체킹을 하는데 break 를 안해서 생기는 overwrite

( 이게 원래 원하던 exploit 방법 입니다 )


sprintf 시 buffer 길이 체크를 안해서 일어나는 overflow


정도의 취약점이 있습니다.


원했던 exploit 방식은 fsb 를 통해서 binary base 를 구하고 sprintf 로 id 를 admin 으로 덮고 memset 으로 canary 를 릭하고 admin 메뉴에서 rop 로 하는건데


워낙 취약점을 많게 내놔서 다른 방법이 많을거 같습니다.


익스는 올리지 않겠습니다 ㅎㅎ 풀어보세영


'Pwnable' 카테고리의 다른 글

[Pwnable.tw] hacknote  (0) 2017.12.10
[codegate2017] messanger  (0) 2017.12.04
[pwnable.kr] syscall  (2) 2017.10.03
[DIMI] scan  (0) 2017.09.26
[Protostar] heap2  (1) 2017.09.20