ssrf原理简介

本文简要介绍SSRF(Server-Side Request Forgery)漏洞的原理,特别关注PHP环境中可能导致SSRF的问题。通过讨论不当使用特定函数的情况,揭示了SSRF如何危及服务器和网络安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSRF原理

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击。
一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。
利用一个可以发起网络请求的服务,当做跳板来攻击其它服务
简单来说就是:
A让B帮忙访问C,如果是在B是不知情的情况下呢?
SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。ssrf是利用存在缺陷的web应用作为代理去攻击远程和本地的服务器。
也就是说,对于为服务器提供服务的其他应用没有对访问进行限制,如果构造好适当的访问包,那我就有可能利用目标服务对他的其他服务器应用进行调用。
比如:A网站,是一个所有人都可以访问的外网网站,B网站是一个他们内部的OA网站。
所以,我们普通用户只可以访问A网站,不能访问B网站。但是我们可以通过A网站
做中间人,访问B网站,从而达到攻击B网站需求。
正常用户访问网站的流程是:
输入网站URL --> 发送请求--> 服务器接受请求(没有过滤),并处理 -->返回用户
网站有个请求是
那么产生SSRF漏洞的环节在哪里呢?
我们让网站a去访问网站b     www.baidu.com/xxx.php?image=www.abc.com
服务器端的验证并没有对其请求获取图片的参数(image=)做出严格的过滤以及限
制,导致A网站可以从其他服务器的获取数据

如果我们将www.baidu.com/xxx.php?image=www.abc.com
换为与该服务器相连的内网服务器地
址会产生什么效果呢?
例如:www.baidu.com/xxx.php?image=127.0.0.1/1.PHP
终极简析:
SSRF漏洞就是通过篡改获取资源的请求发送给服务器,
但是服务器并没有检测这个请求是否合法的,
然后服务器以他的身份来访问其他服务器的资源

 PHP中下面函数的使用不当会导致SSRF

file_get_ contents()
fsockopen()
curl_exec()
这些函数可以通过网络协议访问目标服务器上的资源
curl_exec()
可以使用该漏洞对网站服务器同─网段的其它服务器进行探测
file_get_ contents
file_get_ contents函数可以读取本地和远程的文件,支持多种协议,如ftp,http,https
还可以读取php源码,
如 php://filter/read=convert.base64-encode/resource=ssrf.php,就可以将后台当前目录下的ssrf.php文件的bs64编码返回
如果一定要通过后台服务器远程去对用户指定或者预埋在前端的请求的地址进行资源请求则请做好目标地址的过滤,没有处理好的将导致:
1.可以对服务器所在内网、本地进行端口扫描,获取一些服务的信息等
2.目标网站本地敏感数据的读取
3.内外网主机应用程序漏洞的利用
4.内外网Web站点漏洞的利用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知归期的迷途羔羊

生活不易,但愿极客精神与你同在

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值