2016-12-08 13 views
0

취약한 프로그램 (스택 오버플로, NX 및 ASLR이 켜짐)에 대한 루트 체인을 작성 중입니다.Return Oriented Programming에 잘못된 문자가 있음

gdb peda에서 스택 포인터를보고 내 가젯을 실행합니다. 그것은 가제트를 만날 때를 제외하고는 잘 작동합니다 mov[eax], edx; ret. 이 가제트는 실행되지만, 다음에 이어지는 push ebx이있는 경우에도 ROP 체인에 해당 가젯을 넣지 않았더라도 마찬가지입니다. 그리고 결국에는 악용 사례가 작동하지 않습니다.

나는이 명령을 다른 레지스터로 시도했는데 항상 다음과 같은 push ebx이 있으며 그 이유를 알지 못합니다.

누군가가 아이디어를 갖고 있습니까?

답변

0

NX 및 ASLR 지원 조건 하에서 프로그램이 항상 취약하지는 않습니다.

대부분의 경우 ROP 익스플로잇을 생성 할만큼 충분한 가젯을 찾을 수 없습니다.

어쩌면 ROPgadget을 볼 수 있습니다.

이 도구는 유용한 가제트를 찾아 ROP 이용을 유도하는 데 도움이 될 수 있습니다.