web -- ssrf
web学习之SSRF
- 最开始玩ctf接触的就是web但是随着开始逐渐专注于pwn,在加之web的知识体系本来就繁杂,所以准备写一期关于web大体的知识
day1
SSRF
SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种由攻击者构造形成由服务器端发起请求的一个安全漏洞。一般情况下,SSRF攻击的慕白哦是从外网无法访问的内部系统
大部分web服务器架构中,Web服务器自身都可以访问互联网和服务器所在的内网
SSRF形成的原因大多数是服务端提供了从其他服务器获取数据的功能,且没有对目标地址做过滤和限制,该目标地址是由用户输入可控的
相关利用函数
1.file_get_contents()
file_get_contents() 把整个文件读入一个字符串中。该函数是用于把文件的内容读入到一个字符串中的首选方法。注:**也可以将url当作文本文件进行处理及可以进行远程url的链接**
2.fsockopen
fsockopen — 打开一个网络连接或者一个Unix套接字连接,及实现用户定制的url的数据(文件/html)
3.curl_exec
执行一个cURL会话
防御绕过
1.IP编码绕过
+www.ip.xip.io:在xip.io前面加一个你url1,那么就会访问这个url1的地址
例子:访问www.baidu.com.192.168.1.1.xip.io => 最后访问的就是192.168.1.1这个地址
+将ip转换为10进制
2.协议变换
*我们平时除了可以用tcp/ip协议还可以用Dict,Gopher,File协议来进行网络数据的传输
Gopher协议是HTTP协议出现之前,在internat上常见且常用的一个协议,但Gopher协议并没有完全消失
Gopher协议可以做很多事情,特别是在SSRF中可以发挥很多重要的作用。利用此协议可以攻击内网的FTP、Telnet、Redis、Memcache,也可以进行Get,Post请求
参考链接:
*https://www.php.net/manual/zh/function.fsockopen.php
*https://www.runoob.com/php/
*https://www.bilibili.com/video/BV1qx411o7eu?p=6(这个视频对新手特别友善)