pwn/HackCTF (11) 썸네일형 리스트형 Unexploitable #1 HackCTF에 Unexploiatable의 첫 번째 문제입니다 main함수에서 fgets함수에서 BOF가 발생하는 것과 gift함수에서 system함수를 제공하는 것을 알 수 있습니다 bof 취약점이 존재하지만 메모리 릭을 위해서 fwrite함수를 사용해야 하고 3번째 인자를 넣어줄 pop rdx 가젯이 없고 rtc기법을 사용하기에는 입력받는 메모리가 너무 적은 등의 문제로 익스 하는데 어려운 이 존재합니다 fgets함수는 rbp-0x10의 주소에 데이터를 저장하게 되는데 fake ebp를 통해 SFP값을 원하는 값 +0x10을 넣어준다면 원하는 주소에 데이터를 넣어 줄수 있습니다 만약이 fgets함수를 SFP를 변조한 뒤 다시 ret를 0x40074d주소를 넣어 다시 fgets가 수행되도록하면 결국 .. poet 제목이 시인인데 뭘 얻을만한 힌트가 없었습니다.. 아마 시를 쓰겠구나 정도 시를 써서 백만점을 받아야하고 그렇지 않으면 프로그램이 종료되지 않고 무한히 반복하게 됩니다 프로그램을 디컴파일해보면 if문이 참이되면 while문을 break하고 reward함수를 실행시키게됩니다. (이름부터가 flag를 줄 것 같은..) reward함수를 보면 flag를 출력시켜 줍니다 get_poem함수에서도 BOF가 발생하지만 get_author에서 발생하는 BOF를 통해 1000000과 비교하는 변수를 변조할 수 있게됩니다. 그렇기 때문에 bof를 get_author에서 발생하는 BOF 취약점을 사용하여 0x6024e0를 변조를 백만으로 변조하도록 스크립트를 작성하면 됩니다. yes_or_no문제 풀고 푸는거라 긴장 빡하.. BOF_PIE 어제 점심에 면접보고 vm를 키는 와중에 저도 모르게 리눅스를 시원하게 날려버렸습니다... 덕분에 올리려고했던 글로 강제로 비공개하게 되었고 공부도 제대로 못한것 같고 뭐하나 풀리는게 없던 하루였는데 워게임 문제가 한번에 익스가 되서 잠은 기분좋게 잘수 있을 것 같습니다 문제 제목을 보고 어느정도 짐작할 수 있었습니다 PIE가 걸리 BOF 문제이겠구나.. checksec을 통해 어떤 보호기법이 활서화되어 있는지 보면 PIE와 NX가 활성화 되어있습니다 RELRO는 지금 제 지능에선 생략하고 나중에 사실 PIE부터 설명하고 문제 풀이를 하던 해야하는데 금붕어 brain이라 금방 공부한걸 까먹어버려서 풀이만 하겠습니다 IDA로 main function을 확인해보면 welcome이라는 함수를 호출하고 이후에 .. 이전 1 2 다음