受害者应访问该站点并接受在您的计算机上运行该applet。然后,如果JVM容易受到攻击,则破解者可以执行任意命令。
所以我的问题是:安全研究人员如何找到此漏洞?我的意思不是具体说明此问题,而是他/她如何(使用了什么工具,方法等)来发现这些漏洞?他/她是否反向工程javaw.exe?有什么方法?
#1 楼
这很大程度上取决于哪种漏洞。您提到的这一特定代码在SecurityManager中,通过分析Java源代码,您可以相对容易地找到它。
要了解该过程是如何完成的,请看一下Esteban Guillardoy of Immunity的这篇文章和这篇文章。
Jduck还通过JRE发表了一些有关内存损坏漏洞的研究。
通过研究以前发布的漏洞,您可以更好地了解如何找到漏洞。
我记得,很早以前LSD-PL的人们在这方面做了一些很棒的工作,您可以在这里找到。它有点过时,但仍然有意义。
#2 楼
好吧,我本人是漏洞利用开发人员。攻击/研究的方法是:反转输入值。文件,网络协议等。
使用此信息构建Fuzzer
直到崩溃为止的
分析崩溃
构建漏洞利用
我常用的另一种方法是为了反转兴趣点(例如SingleSignOne模块,其他登录方法,数据库连接(硬编码的密码等)。
但这应该在Security Exchange上,而不是在逆向工程上。
评论
我认为安全性交换不会比RE提供更好的答案。
–0xea
13-10-5在21:59
同意,因为Security Exchange并不是真正的技术安全研究(漏洞开发,逆转恶意软件等),而是更多基于ITIL,网络和常识的安全性。但这仍然不是RCE问题,而是安全问题。我自己仍然认为应该进行漏洞利用开发堆栈交换。
– Stolas
13-10-6在10:42
好的,但是如何“反转输入值”?您是否颠倒了iexplorer.exe和小程序?
– jyz
2014-09-29 14:26
@jyzus windbg破坏了这些kernelbase!ReadFile类型的Symbols,然后运行该工具。反转输入变量的流程。
– Stolas
2014年9月30日6:30在
#3 楼
许多Java漏洞都围绕绕过Java沙箱(Java的安全管理器)。 Sami Koivu发表了许多有关Java安全性和漏洞的有趣的著作,特别是他对Java安全性的三部分介绍。http://slightlyrandombrokenthoughts.blogspot.ca/2009/02/java-se-security-part-i_25.html
http://slightlyrandombrokenthoughts.blogspot.ca/2009/07 /java-se-security-part-ii-immutability.html
http://slightlyrandombrokenthoughts.blogspot.ca/2010/02/java-se-security-part-iii-keys.html
评论
您可以阅读openjdk.java.net的资源