Hacking/Pwn

Lord Of Buffer Over Flow - Gate ->Gremlin

알 수 없는 사용자 2017. 10. 18. 07:19


먼저 gate의 코드는 이렇다.


buffer로 256 만큼 할당하고 strcpy로 문자열을 복사해서 출력 해주는데 

strcpy로 복사할떄 길이 제한을 두지않아서 Basic buffer over flow 가 일어난다!



먼저 처음 할당된 버퍼는 buffer(256) + sfp(4) + ret(4) 바이트 할당 되있어서 ret을 쉘코드가 있는 주소로 돌리면 된다.



aaaa는 sfp고 bbbb는 ret인데 ret을 bbbb로 덮이니까 eip가 bbbb로 반환됬음!


그러면 nop sled를 이용해서 nop을 채운후 shellcode를 넣어서 ret을 nop이 채워져있는 주소로 채우면 nop을 향해 내려가면서 쉘코드가 실행된다!



대충 이런식??



대충 이런식으로 했는데


buffer+sfp까지 채우고 ret은 아직 모르니까 임의 의 값으로 했다. 그리고 nop+shellcode를 했음




nop이 잔뜩있는곳을 찾았다! 저중에 하나를 ret으로 하면 nop을 따라 내려가면서 shellcode가 실행될것이다!



아싸 쉘을 땃다 이제 메인 바이너리로 해보자!



비밀번호는 "hello bof world" 이다!