ROP 2

[plaid CTF] ropasaurusrex | write up

이번에는 제가 ROP를 처음 공부해볼때 풀어보았던 문제인데 한번 다루어 보겠습니다. 일단 먼저 표층분석을 해보면, 32비트에다 스트립이 되어 있습니다. 그리고 NX만 활성화 되어 있습니다. -> 쉘코드 사용 불가능 기본적으로 실행을 해보니 먼저 아무거나 입력을 받고 그 후에 WIN 이라는 문자를 출력을 해주네요! 그렇다면 ida를 이용해서 분석해보겠습니다. main 주소에서 sub_80483F4라는 함수를 실행시킨다하여 들어가봤습니다. 여기서 buf의 크기는 0x88이고, read에서 0x100의 크기를 입력받는다는 것을 알수 있습니다. 즉, bof가 터진다는것을 알수 있다는 것이죠. 여기서 제가 사용할 기법은 rop입니다. -- rop를 구성하기위해 구해야 할것들 -- 1. write의 plt와 got..

CTF write up 2019.09.25

[HackCTF] ROP | write up

안녕하세요! 오늘은 HackCTF ROP writeup을 써볼겁니다! ROP( Return Oriented Programming ) 는 프로그램에 ASLR이 걸려있을때 활용하는 해킹 기법입니다. RTL 그리고 GOT overwriteR를 이용하여 프로그램을 내맘대로 실행하게 하는 기법이에요 프로그램이 실행되고 있는데 중간에 ROP를 사용하면 내가 원하는 함수를 원하는 인자로 넣고 실행 시킬수 있어요! 일단 문제를 확인해 볼게요! 오오! 여기 보시면 rop.zip을 주었네요? 한번 다운해서 확인해볼게요 바이너리 파일과 libc.so.6을 제공해 주었네요? libc.so.6을 줬다는건 이 라이브러리 소스를 이용해 offset 즉 상대주소를 이용해서 함수의 위치를 구하라는 얘기입니다. 사실 프로그램마다 사용하..

wargame/HackCTF 2019.08.29