취약한 프로그램 (스택 오버플로, NX 및 ASLR이 켜짐)에 대한 루트 체인을 작성 중입니다.Return Oriented Programming에 잘못된 문자가 있음
gdb peda에서 스택 포인터를보고 내 가젯을 실행합니다. 그것은 가제트를 만날 때를 제외하고는 잘 작동합니다 mov[eax], edx; ret
. 이 가제트는 실행되지만, 다음에 이어지는 push ebx
이있는 경우에도 ROP 체인에 해당 가젯을 넣지 않았더라도 마찬가지입니다. 그리고 결국에는 악용 사례가 작동하지 않습니다.
나는이 명령을 다른 레지스터로 시도했는데 항상 다음과 같은 push ebx
이 있으며 그 이유를 알지 못합니다.
누군가가 아이디어를 갖고 있습니까?