一、原理
SSRF(服务端请求伪造),就是由攻击者构造URL使服务器向所在内网中攻击者无法访问到的主机发送了一条请求。形成的原因就是服务器提供了向其他服务器请求资源的功能,但没有对用户输入的内容进行完善的过滤和限制。
出现的场景:
输入URL提供翻译功能的地方
输入URL进行下载的地方
二、相关PHP函数
file_get_contents()
fsockopen()
curl_exec()
三、Pikachu靶机实验
环境:
phpstudy、Pikachu渗透靶机
模拟内网中存在ssrf漏洞的主机/攻击机:win10 127.0.0.1
内网中无法访问的主机:虚拟机win7 192.168.80.128(phpstudy搭建网站,开启80和3306端口)
-
首先打开已经搭建好的Pikachu渗透靶机的ssrf curl页面

-
点击链接,发现URL中有一个参数用来传递给服务器然后由服务器向传递的参数进行发送请求


-
此时开始漏洞利用
探测服务器本地开启的端口信息(已经开启80,3306,通过传参验证)


利用ssrf探测内网中的服务器端口信息


通过file协议读取服务器文件
首先选择ssrf漏洞下的file_get_content

同样点击链接后构造URL的参数

服务器本地读取(在win10的目录中创建1.txt内容为ssrf然后进行读取)

本文介绍了SSRF(服务端请求伪造)的原理,即攻击者构造URL使服务器向内网主机发请求,原因是服务器未完善过滤用户输入。还列举了相关PHP函数,如file_get_contents等。并通过Pikachu靶机实验,展示了利用SSRF探测端口信息和读取服务器文件的方法。
1349

被折叠的 条评论
为什么被折叠?



