gpt4 book ai didi

linux - 禁用回溯

转载 作者:太空狗 更新时间:2023-10-29 11:09:56 26 4
gpt4 key购买 nike

我正在我的 Backtrack 5 笔记本电脑上进行堆溢出漏洞利用培训。但是,回溯似乎可以防止这些攻击。这是我在尝试破坏 malloc 分配 block 的元数据时得到的结果。

Starting program: /root/exploit/basicheap `python -c 'print "A"*1024+"\xff\xff\xff\xff"+"\x01\x02\x03\x04"'`
buf1=0x804b008 buf2=0x804b410
*** glibc detected *** /root/exploit/basicheap: double free or corruption (out): 0x0804b410 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6b591)[0xb7edf591]
/lib/tls/i686/cmov/libc.so.6(+0x6cde8)[0xb7ee0de8]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0xb7ee3ecd]
/root/exploit/basicheap[0x80484ee]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xb7e8abd6]
/root/exploit/basicheap[0x80483f1]
======= Memory map: ========
08048000-08049000 r-xp 00000000 08:01 13377588 /root/exploit/basicheap
08049000-0804a000 r--p 00000000 08:01 13377588 /root/exploit/basicheap
0804a000-0804b000 rw-p 00001000 08:01 13377588 /root/exploit/basicheap
0804b000-0806c000 rw-p 00000000 00:00 0 [heap]
(ETC...)

Program received signal SIGABRT, Aborted.
0xb7fe2430 in __kernel_vsyscall ()

有没有办法禁用此保护?它是由内核处理还是在编译期间由 gcc 设置(我希望我可以使用 -fno-stack-protector 之类的选项禁用它以删除 gcc 中的堆栈溢出保护)?

最佳答案

该消息来自 glibc 的 free 实现,它检测堆损坏。它不是程序中的编译时选项,也不是内核检查。

尝试:

MALLOC_CHECK_=0 /root/exploit/basicheap ...

glibc 的 malloc(3) 手册页说,当环境变量设置为 0 时,“任何检测到的堆损坏都会被静默忽略”,因此它可能会忽略您的堆损坏并继续运行,但它可能会成功崩溃。

另请参阅 mallopt(3)M_CHECK_ACTION 选项,它提供了有关此检查代码的更多详细信息。

关于linux - 禁用回溯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334927/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com