Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security GDB调试特定崩溃_Security_Gdb - Fatal编程技术网

Security GDB调试特定崩溃

Security GDB调试特定崩溃,security,gdb,Security,Gdb,假设我正在尝试开发某个软件的漏洞,它可以通过两种不同的行为进行响应:一种是由于变量分配不正确导致进程崩溃,另一种是我获得了对EIP的控制并返回到无效地址。这两种不同行为的原因是由于ASLR,并且因为我只有部分信息泄漏,所以我被迫做一些暴力强迫。我只希望程序在修改EIP时中断。然而,由于进程不断崩溃和重新启动,我无法告诉程序只有在修改EIP时才停止;无论如何,这个进程都会在GDB中崩溃。我怎样才能克服这个困难?考虑过在IT安全中发布这个,但决定在这里发布会更好,因为这与GDB有更多关系,所以在内存

假设我正在尝试开发某个软件的漏洞,它可以通过两种不同的行为进行响应:一种是由于变量分配不正确导致进程崩溃,另一种是我获得了对EIP的控制并返回到无效地址。这两种不同行为的原因是由于ASLR,并且因为我只有部分信息泄漏,所以我被迫做一些暴力强迫。我只希望程序在修改EIP时中断。然而,由于进程不断崩溃和重新启动,我无法告诉程序只有在修改EIP时才停止;无论如何,这个进程都会在GDB中崩溃。我怎样才能克服这个困难?考虑过在IT安全中发布这个,但决定在这里发布会更好,因为这与GDB有更多关系,所以在内存损坏发生之前,您应该这样做。在崩溃的时刻,gdb将中断,您可以使用show stack命令,该命令将告诉您它认为调用堆栈是正确的,但是如果您已经损坏了EIP,那么您已经部分损坏了函数的堆栈框架,并且show stack将部分损坏,具体取决于您已损坏的堆栈的数量!。但是,这个过程可以帮助缩小内存损坏发生的范围,并且您可以始终在调用堆栈中设置更高的断点并逐步完成程序


GDB也有,这可能是一种更简单的方法,因为你可以在崩溃后后退一步。然而,这个特性是相当新的。通常黑客必须使用上述技术

你可以试着问security.se,但我会稍微澄清一下这个问题。这些人不喜欢戴黑帽子。