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(这个视频对新手特别友善)

你可能感兴趣的:(web -- ssrf)