HanJeouk의 개인공부 블로그

tuCTF guest_book

CTF2017. 12. 3. 15:52


변수를 보면 system 함수의 주소를 준다 나중에 써먹을 수 있을 것 같다. 그 이외에는 게스트 이름들을 v11을 guest name을 v11에 받고 dest변수에 포인터로 저장한다. dest에는 guest name이 있는 주소가 저장되어 있을 것 같다.

Change 부분에 대놓고 취약점이 있는 함수들을 쓴다. 처음에 보고 당황했다.;;

View 함수에서 릭을 할 수 있었다. guestname을 지정하지 않은 부분도 출력하게 해놨기 때문에 다른 주소도 릭을 할 수 있었다.

0,1,2,3이 guest name을 담은 주소들인데 시스템 주소도 같이 릭이 됐다.  dest[4]까지만 선언이 됐었는데 0 1 2 3 으로 4를 채우고 추가로 2개를 출력하느라 null까지 만나느라 출력되는건가,,?(잘 모르겠다) 

시스템 주소를 구했으니 그냥 gets 이용해서 쉘을 땄다. view 가 어떤식으로 되는지 보다가 시간을 엄청 날렸다. 포인터에 대해서 공부를 더 해야겠다고 느꼈다.


 

'CTF' 카테고리의 다른 글

2016 Hitcon secret holder  (0) 2018.01.21
2017 Codegate messenger  (0) 2018.01.06
2014 Plaid CTF Ezhp  (0) 2018.01.04
tuCTF vuln-chat2  (0) 2017.11.29
tuCTF vuln-chat  (0) 2017.11.28

tuCTF vuln-chat2

CTF2017. 11. 29. 00:19

main 함수를 보면 

doThings 함수를 들어가봤더니

buf 변수의 크기가 20만큼밖에 안되는데 read함수로는 0x2D나 받는다.  값을 덮을 수 있을 것 같아서 0x2D만큼 값을 덮었다.

그 후 GDB로 봤더니

ret 주소중에서 2byte가 42(B) 43(C)로 덮인 걸 알 수 있었다.

그래서 아 ret 주소의 2바이트를 조작할 수 있겠다고 생각했다.

조작된 ret 주소를 보면 0x0804(43)(42)고 이 flag를 출력해주는 함수 주소를 보면 0x0804(86)(72)이다.

2바이트를 조작할 수 있으니 아무 값이나 덮고 마지막 2byte만 flag 출력 주소의 값인 86 72 로 바꾸면  

플래그가 나온다.



'CTF' 카테고리의 다른 글

2016 Hitcon secret holder  (0) 2018.01.21
2017 Codegate messenger  (0) 2018.01.06
2014 Plaid CTF Ezhp  (0) 2018.01.04
tuCTF guest_book  (2) 2017.12.03
tuCTF vuln-chat  (0) 2017.11.28

tuCTF vuln-chat

CTF2017. 11. 28. 23:51

오랜만에 포스팅을 다시 시작하게 됐다. 평소에도 공부를 해왔지만 블로그에 글 올리기 귀찮아서 미뤘던 것 같다. Github도 올려야되는데..

이제부터 꾸준히 올려야겠다.

문제를 IDA로 열어서 main함수를 Hex-ray로 보면 

이런식으로 나온다.

v6 = 1932538661 인데 이걸 문자열로 보면 s03% 이라고 나온다.

딱 보면 알겠지만 %30s 이다.

 

변수 v5의 사이즈는 20인데 30까지 받는다는 건 다른 변수 값을 조작할 수 있다는 뜻!

그래서 v5 다음 변수인 v6 값을 조작할 수 있다. 그래서 아무 값이나 20byte 만큼 덮고 다음 scanf 때 v4에 값을 무한히 넣어줄 수 있게

%s를 넣는다.

이제 두 번째 scanf에서 아무 값이나 49byte 만큼 덮고 그 다음이 ret니까 

이 함수주소 0x0804856B를 넣어주면 된다.





'CTF' 카테고리의 다른 글

2016 Hitcon secret holder  (0) 2018.01.21
2017 Codegate messenger  (0) 2018.01.06
2014 Plaid CTF Ezhp  (0) 2018.01.04
tuCTF guest_book  (2) 2017.12.03
tuCTF vuln-chat2  (0) 2017.11.29