C 코드에서 함수를 실행하기 위해 버퍼 오버 플로우를 유발하려고합니다. 지금까지 EBP 레지스터를 넘겨받을 바이트 수를 알아 냈습니다. 유일한 것은 다음과 같습니다. EIP 주소를 실행하려는 함수로 대체하십시오. 파이썬으로이 페이로드를 생성하려고합니다. 이를 위해 나는버퍼 오버 플로우에 대한 파이썬으로 페이로드를 생성하는 방법은 무엇입니까?
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;�
공지 사항 그 마지막 문자가 무엇을 얻을 이것은 다음
python -c 'print "A"*112 + "\x3b\x86\x04\x08"' > attack_payload
를 사용! 나는 그것이 내가 얻고 자하는 것이 아니라는 것을 알고있다. EIP
등록에서 실행하고 싶은 주소는 0804863b
입니다. 익스플로잇이 제대로 작동하려면 이걸 little endian
에 붙여야했습니다. 이것에 대한 의견? 이 때문에 악용으로 더 이상 갈 수는 없습니다 ...
을 덮어 쓰기 : 당신이
print
하지만 사용하지 않는하지 않으려면? – DKNUCKLES@DKNUCKLES 코드가 파일의 내용을 복사하지 않고 어떻게해야할지 모르겠다. 왜냐하면 코드가 일부 입력 (문자열)이'gets '함수를 제공하기를 기대하기 때문이다. – fish202