23得票5回答
整数溢出如何被利用?

有没有详细解释整数如何被利用的?我已经阅读了很多关于这个概念的内容,我理解什么是整数,也知道缓冲区溢出,但我不明白如何通过使一个整数比其定义的内存更大来可靠地修改内存或修改应用程序流程。

22得票4回答
什么是一些关于漏洞利用编写的先进和现代资源?

我已经阅读并完成了《逆向工程的奥秘》(Reversing: Secrets of Reverse Engineering)和《黑客攻防艺术》(Hacking: The Art of Exploitation)。它们各自以其独特的方式启迪了我,但我仍然觉得其中许多技术和信息在某种程度上已经过时。...

22得票3回答
使用堆溢出写入任意数据

我一直在尝试学习堆溢出攻击的基础知识。我最感兴趣的是使用块元数据的损坏或修改作为攻击的基础,但我也愿意听取其他建议。我知道我的攻击目标应该是用 challenge() 函数指针覆写 printf() 函数指针,但我似乎无法弄清如何实现这种覆写。 我想利用下面这段代码进行攻击,它使用了来自 gl...

21得票4回答
Perl CGI 被黑客入侵?但我做的一切都是正确的。

我刚刚注意到我的一个网站目录中有一些奇怪的PHP文件。它们原来是垃圾邮件发送者放置的漏洞文件。 这些文件自2006年以来就一直存在,大约在我使用我的CGI脚本运行高调的捐款活动时。而且这些文件被放置在脚本的可写目录中,所以我怀疑我的脚本可能已经被攻击了。 但是我正在使用Perl的“污点检查...

19得票5回答
缓冲区溢出如何用于攻击计算机?

缓冲区溢出如何被用来攻击计算机? 通过引起栈或堆溢出,一个人如何能够执行任意代码? 我理解程序内存的一部分被覆盖了,但我不明白这怎么会导致一个人执行自己的代码。此外,第三方恶意代码必须是用目标处理器的汇编语言编写的吗?

16得票7回答
有人能向我解释一下这段代码吗?

警告:这是一个漏洞利用代码,请勿执行。//shellcode.c char shellcode[] = "\x31\xc0\x31\xdb\xb0\x17\xcd\x80" "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x...

15得票9回答
PHP GET变量数组注入

我最近了解到可以将数组注入到PHP GET变量中以执行代码? .php?a[]=asd&a[]=asdasd&b[]=$a 这是我收到的示例。我不知道它如何工作,想知道这是否可能?

14得票2回答
金丝雀机制是否能防止返回libc和返回导向编程攻击?

我正在努力理解在使用堆栈保护(canary)的情况下,是否可能进行return-into-libc和return-oriented programming攻击。 canary会被放置在返回值和要溢出的缓冲区之间的堆栈上,需要重写canary才能将返回值更改为库函数或计算的位置。自1997年(S...

14得票2回答
printf()的可变参数引用如何与堆栈内存布局交互?

给定以下代码片段:int main() { printf("Val: %d", 5); return 0; } 编译器是否有保证会将"Val: %d"和'5'连续存储?例如:+-----+-----+-----+-----+-----+-----+-----+-----+---...

12得票12回答
“安全”语言中的安全漏洞

我最近刚读完由工作于CERT的Brian Seacord所著的《C和C++安全编码》一书。 总体而言,这是一本很好的书籍,我推荐任何尚未阅读此书的程序员去读一下。在读完后,我意识到针对所有各种类型的安全漏洞(如攻击代码注入、缓冲区溢出、整数溢出、字符串格式化漏洞等),每个安全隐患似乎都归结为...