HanJeouk의 개인공부 블로그

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

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

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

#LOB 문제를 풀 때는 bash2 명령어를 꼭 입력해야한다. LOB는 더미가 없다.


코드를 보면

argv[1]의 길이를 확인하는 필터가 추가되었다.

하지만 나는 argv[1]을 초과하는 일이 없으니 똑같이 풀면 된다.

strcpy하는 부분에 브레이크 포인트를 걸고 실행하여 argv[2]의 주소를 얻고 페이로드를 작성하여 실행하면 쉘이 따진다.

만약 실패했다면 생성된 core 파일을 gdb로 열어 argv[2]의 주소를 재설정해주면 된다.



'Wargame > Load Of Buffer overflow' 카테고리의 다른 글

LOB 5번 orc  (0) 2017.05.10
LOB 4번 goblin  (0) 2017.05.07
LOB 3번 cobolt  (0) 2017.05.02
LOB 2번 gremlin  (0) 2017.05.02
LOB 1번 gate  (0) 2017.05.02