rtl 은 1번은 가능하지만, 한방에 바로 고정주소가 없으면 아웃, 그것도 ret sled는 불가능
코드영역으로의 rtl도 불가능.. 00 이 1군대가 부족해서 덮어쓰기 불가능
got overwrite도 함수영역의 주소가 저러니 불가능..
rop도 코드영역의 주소가 저러니 불가능...
결국, 현실적으로 strcpy를 이용한 64bit-리눅스 오버플로우 어택은 그냥 다 막혔다 보셔도 될 것 같습니다..
그래도, 우리에게는 아직 내부입력함수 gets류가 있네요..
겉은 64bit지만, 가상메모리는 계속 32bit 쓰길 빌어야 겠군요.. ㅠㅠ
Hit : 5350 Date : 2014/02/15 05:13
itchy
로컬일경우에 ascii armor로 인해서 rop가 불가능하시다면 virtual system call 영역에서 rop하여 공격 할 수 있습니다.
2014/02/16
kumi123
처음들어 보네요?? 뭐죠??
2014/02/16
itchy
바이너리의 /proc/pid/maps 를 확인해보시면 vsyscall 영역이 존재하는데 이 페이지에 rx권한이 있고 주소 또한 0xffffffffff600000 부터 시작해서 한 페이지 만큼 차지하므로 rop를 하는데에 있어서 ascii armor를 피할 수 있습니다.
가젯 또한 ret / pop&ret이 존재하니 ret slide가 가능하겠죠..?