엄범


https://github.com/umbum/pwn/blob/master/exploit/cg_angry_doraemon.py

code section ``c 0x08048C62``에 ``c execl('/bin/sh', ...)``가 있다.


5. Fist attack의 function pointer ``c buf()``를 이용해 여기를 호출하도록 하려 했는데 ``c if ( BYTE3(buf) != 8 )`` 로 검사하기 때문에 ``c 0x08``로 시작하는 code section을 호출할 수는 없다.

여기는 훼이크다.


4. Throw mouse에서 read overflow가 발생하므로, 이를 이용해 ret addr을 조작할 수 있다.

canary가 있기는 하지만, fork하므로 leak할 수도 있고 bf로 깰 수도 있다.

code section의 ``c execl()``로 리턴하게 되면, standalone 서버라서 클라이언트 쪽에 쉘이 떨어지지 않는다.

따라서 ``c dup2()``로 연결해주거나 ``c system(nc)`` 해야한다.

두 작업 모두 libc_addr leak이 필수적이다. 해서, code section ``c execl()``을 준게 약간 시간을 단축할 수 있다는 것 이외에 큰 도움은 안된다.