CTF-SSRF
SSRF介绍与简单介绍
原理:
1 | 服务器请求伪造是一种由web服务器发出请求的漏洞,它能够请求到与它相连的内网资源。因此SSRF主要测试目标是企业的内网系统。 |
1 | 很多web应用提供从其他服务器获取数据的功能,可根据用户提交URL访问对应资源(获取图片,下载文件,读取内容等)。 |
SSRF可能造成的危害
1 | 1、对内网进行信息探测-端口扫描 |
SSRF 漏洞 常用函数
1 | 1、file_get_contents |
1 | 2、fsockopen函数 |
1 | curl函数 |
SSRF绕过限制姿势
1、添加端口
HTTP请求URL中默认以80端口。
2、短网址
3、指定任意IP的域名xip.io
1 | 127.0.0.1.xip.io |
4、数制绕过
1 | IP地址是32位二进制数->4个字节 |
5、@跳转
1 | 在URL中使用@可跳转到指定的URL |
SSRF可用协议
1、file协议
1 | file://文件路径 |
2、dict协议
1 | 利用dict协议可探测端口的开放情况和指纹信息 |
1 | 命令格式: |
3、gopher协议
1 | Gopher是internet上非常有名的信息查找系统,它将internet的文件组织成某种索引,很方便从internet的一处带到另一处。在www出现之前,Gopher是internet上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70端口。但是www出现之后,Gopher地位受到打击。Gopher协议在SSRF可以是一个万能协议,可进行GET、POST请求发送。 |
构造Gopher数据:
1 | 抓包后将整个数据包的 |
gopher GET请求
1 | curl gopher://ip:端口/_数据 |
gopher POST请求
1 | 与get请求类似,但是需要传入更多的相关信息。 |