![]() |
1
1
第一个问题是。。。什么网站服务器或图书馆?IIS-6运行ASP脚本解释器?IIS-7背后的ASP.NET?阿帕奇猫?像Poco中的HTTPServer这样的库? 要利用缓冲区溢出漏洞,您必须首先在应用程序中找到可能发生溢出的特定位置,然后确定必须发送哪些确切的字节来覆盖内存,并使用正确的字节将溢出的内存写入堆栈,然后执行在溢出中发送的机器代码(因为您已经重写了堆栈)。 http://en.wikipedia.org/wiki/Buffer_overflow http://seclists.org/fulldisclosure/2005/Apr/412 http://www.microsoft.com/technet/security/bulletin/MS06-034.mspx http://www.owasp.org/index.php/Buffer_Overflow http://www.windowsecurity.com/articles/Analysis_of_Buffer_Overflow_Attacks.html 火上浇油,但我要说的是,任何足够大小的代码库都包含潜在的可爆炸缓冲区溢出,而不管执行环境或源语言如何。当然,有些语言和平台允许应用程序开发人员比其他语言和平台更容易“自取灭亡”,但这一切都归结为个人勤奋、项目复杂性、使用第三方代码,然后总是存在针对基本实现的漏洞。 缓冲区溢出将继续存在,这只是一个问题,即通过安全编程实践来减轻风险,并在发现新的漏洞时认真监视它们以管理风险。 一个很好的例子是,对于一个web应用程序来说,在所有设备和应用程序的网络实现中都有可能出现溢出,这些设备和应用程序处理通过Internet传递的字节。
除了开发人员未能遵循安全编程实践的简单“C”风格溢出之外,还有一些隐藏的宝石,如整数溢出。 即使已知某个服务器主机环境是高度稳定的,它也毫无疑问地利用了数据库和其他操作系统设施,这些设施本身可以通过web服务器加以利用。 当你开始做的时候,没有什么是安全的,这只是一个复杂的问题。 一个特定的应用程序或服务器可以完全安全的唯一方法是通过勤奋的监视,以便在发现可疑行为时可以纠正问题。我非常怀疑沃尔玛、联邦快递或任何其他大公司是否乐意公开违规行为。相反,他们监视、修复并继续前进。 有人甚至可以说SQL注入是缓冲区溢出的一种抽象形式,但您只需使用特定字符选择缓冲区结束的位置,然后提供希望在正确位置执行的代码。 |
![]() |
2
0
他们 倾向 不会出现在web应用程序中。 Google's Web Application Exploits and Defenses codelab
缓冲区溢出是否可能取决于您使用的语言。 |
![]() |
Michael · 某些Windows客户端上的命名管道安全问题 11 月前 |
![]() |
adamency · 是否可以从Go二进制文件的源代码中检索字符串? 1 年前 |
![]() |
AlboSimo · PayPal Api密钥安全 1 年前 |