본문 바로가기

Wargame Write-Up141

[Webhacking.kr] (Web) 6번 풀이 (old-6) 아이디와 비밀번호가 나와있다. 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 Challenge 6 body { background:black; color:white; font-size:10pt; } [소스분석] 쿠키가 설정되어있지 않다면, user 쿠키 -> guest, password 쿠키 -> 123qwe 로 설정 후, user 쿠키와 password 쿠키.. 2020. 3. 24.
[HackCTF] (Pwnable) Simple_Overflow_ver_2 풀이 문제파일 실행시, 데이터를 입력받고, 버퍼의 주소를 알려준다. 계속할수있고, n 을 누르면 종료한다. ida 로 열어보면, buffer : [rbp-0x88] 이란 걸 알 수 있다. 버퍼의 주소도 알려주니, 저번처럼 쉘코드 작성 후 , ret address 에 buffer 의 주소를 넣으면 된다. 메모리보호기법이 설정되어있지 않으니, ret address 를 덮어쓸 수 있다. 하지만, main함수를 분석하다보면, [ebp-8] 값이 입력한 문자열의 길이보다 작을때 buf 의 주소를 출력해준다. 쉘코드+DUMMY+buffer address 형식으로 payload 를 작성하면, [ebp-8] 에도 DUMMY 값이 들어가게된다. DUMMY 를 a 로 채운다면, [ebp-8] : 0x61616161 이 들어가서.. 2020. 3. 21.
[HackCTF] (Pwnable) x64 Simple_size_BOF 풀이 문제를 다운받고, ida 로 열어보면, 문자열을 출력하고, buf 의 주소를 알려주고, buf 에 gets 로 입력을 받는다. 요로케 별다른 메모리보호기법이 적용되어있지 않다. 함수목록에는 별다른함수가 없고, 버퍼의 주소를 알기때문에, 버퍼에 쉘코드를 작성한뒤, DUMMY 를 채워넣어 ret address 를 조작해보자 [ 1. 쉘코드 ] https://blog.kimtae.xyz/28 쉘코드 메모 32bit (1)가장 기본적으로 쉘을 띄우는 코드 \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80 \x6a\x68\x68\x2f\x2f\x2f\x73\x68\x2f\x62\x69.. 2020. 3. 21.
[HackCTF] (Pwnable) x64 Buffer Overflow 풀이 파일을 다운받고, ida로 열어보면, 함수리스트를 볼 수가 있다. 주의깊게 봐야할 함수는 main 과 callMeMaybe 이다. [ main ] scanf 로 문자열을 입력받아 Hello %s 로 출력해준다. Buffer : [rbp-0x110] [ callMeMaybe ] 쉘을 실행시켜준다. scanf 에서도 BOF 가 일어날수있다. [스택] 낮은주소 [buffer+0x110] [rbp] [ret address] 높은주소 ret address까지 dummy 값으로 채운뒤, ret address에 callmemaybe 함수의 주소를 쓰면 되겠다. [ payload ] DUMMY(0x110 + 8 )+ callmemaybe 주소 주소가 8바이트로 표현된다는것을 유의하며 exploit 코드를 짜보자 1 2.. 2020. 3. 21.