准备
编译Gondvv.java,生成在Gondvv.class,在同目录下新建test.htm,内容如下
粗略观察一下java代码,应该是绕过了Java Sandbox,而并非是JVM中溢出等漏洞,所以可以直接调试java代码。
setSecurityManager
首先需要简单了解setSecurityManager()函数。setSecurityManager()用于设置一个SystemSecurity。如果已经设置过securityManager,调用setSecurityManager时则会调用checkPermission检查权限是否正确。同样可以通过调用setSecurityManager来替换掉一个现有的securityManager。所以绕过SandBox的方法一般为禁用掉SecurityManager,调用setSecurityManager()函数,并传入null参数。如下图
首先对setSecurityManager()下断点,检查函数调用链,看是在何处修改security manager。