Wargame Write-Up/HackCTF69 [HackCTF] (Forensic) Magic PNG 풀이 압축파일을 풀면 PNG 파일이 주어진다. 파일이 손상되었다며 열리지 않는다. Hxd 로 열어서 PNG 파일구조대로 작성되었는지 확인해봐야겠다. PNG 파일구조 블로그를 보면서, 첫 시그니쳐부터 잘못되어있단걸 알아내서 수정하였다. 사진이 1/10 정도 복구 되었다. HxD 에디터로는 무리인것같아서, PNG 파일분석에 이점을 갖고있는 010에디터로 분석해봤다. chunk[5] 에서 idat 를 소문자로 고쳐놓은걸 확인할 수 있다. 대문자로 수정해보자. 파일이 복구되었다. 룰루사진과 밑에 FLAG 가 나온걸 확인해볼 수 있다. 2020. 4. 29. [HackCTF] (Pwnable) g++ pwn 풀이 void vuln(void) { char *__src; char local_40 [32]; basic_string local_20 [4]; basic_string local_1c [7]; allocator local_15; basic_string local_14 [7]; allocator local_d [5]; printf("Tell me something about yourself: "); fgets(local_40,0x20,stdin); operator=((basic_string *)&input,local_40); allocator(); /* try { // try from 08049211 to 08049215 has its CatchHandler @ 08049311 */ basic_string((c.. 2020. 4. 29. [HackCTF] (Pwnable) RTL_World 풀이 문제 바이너리파일입니다 system armor 과 shell sword 가 있으면 Binary Boss 를 죽일수 있다하네요. Binary boss 의 정보입니다. 32비트 리틀엔디언이고, ASLR 밖에 설정되어있지않습니다. 메모리주소가 주어져있네요. 어떤주소인지 차차 확인해봅시다. 2번 Get Money 입니다. Farming, Item selling, Hunting 은 각각 100, 350, 500 씩 벌 수 있습니다. 2번을 눌렀을때, Get_money함수를 호출하는데, Get_money 에 4번을 누르면 rand() 값만큼 돈으로줍니다. 이걸로 system armor 과 shell sword 를 사서 system, shell 의 주소를 얻을수 있습니다. gdb-peda$ x/x 0xf7e14200.. 2020. 4. 27. [HackCTF] (Pwnable) Yes or no 풀이 문제파일을 다운로드하면, 실행파일과 libc-2.27.so 파일을 준다. 문제서버에서 사용하는 라이브러리다. 메인함수는, 입력한숫자를 문자열화해서, (어떠한값) 이랑 비교해서 맞을때 gets 함수로 입력을 받아 overflow 가 일어나게된다. fgets 로 문자열을 입력받을때는 overflow 가 발생하지않으므로, (어떠한값) 을 입력해서 gets 함수로 overflow 해야겠다. main+237 에 BP 를 걸고 실행하면, (어떠한값) 을 구할수있다. 0x960000 10진수로 9830400 이니 입력하면, overflow 를 할수있게된다. NX 가 활성화되어있으므로, 스택에 쉘코드를 올려 실행할 수 없다. 그렇다면, 함수주소를 leak 해서 system함수를 실행해보자. 1. puts 의 plt 주.. 2020. 4. 27. 이전 1 ··· 6 7 8 9 10 11 12 ··· 18 다음