NX가 활성화 된 상태에서 printf
형식의 문자열이 vulnability를 64 비트 시스템에서 악용하는 방법은 무엇입니까?포맷 문자열 공격 - x64에서 쉘로 점프
이 코드 예제에서 쉘을 얻으려면 어떻게해야합니까? 그것은 반환 - 투 - libc의 공격으로 가지고 있지만, 어디 점프 (어느 곳 코드에는 execve(/bin/bash...
없음)
void f(char *buf) {
printf(buf);
exit(0);
}
int main() {
char buf[1024];
scanf("%1024s", buf);
f(buf);
return 0;
}
는 그 때문에 NX 생각하고 명백한 장소의 부족은 이동?
exit
의 GOT 항목을 덮어 쓰면 임의의 위치로 이동할 수 있습니다 (예 : execve
또는 system
). 레지스터에 적절한 인수를 설정하는 방법은 무엇입니까? ROP 체인에 대한 바이너리 검색 및 거기 점프?
또는 다른 방법으로 셸을 만들 수 있습니까?
https://www.owasp.org/index.php/Format_string_attack –