支持伪造的服务器


支持伪造的服务器

服务器会根据用户提交的URL发送一个HTTP请求。使用用户指定的URL,Web应用可以获取图片或者文件资源等。典型的例子是百度视图功能。

如果没有对用户提交URL和远端服务器所返回的信息做合适的验证或过滤,就有可能存在“请求伪造”的缺陷

“请求伪造”,顾名思义就是攻击者伪造正常的请求,以达到攻击的目的。如果“请求伪造“发生在服务器端,那这个漏洞就叫做”服务器端请求伪造“

是一种由攻击者构造形成由服务端发起请求的安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统。

SSRF涉及到的危险函数主要是网络访问,支持伪协议的网络读取的函数以PHP为例子,涉及到的函数有

之后帮我们读取这个请求资源,所以是服务器帮我们发送的URL请求,而不是我们客户自己的浏览器。说白了就是url传到服务器上,服务器上的curl代码帮我们发送的请求。

仔细想一下,是谁给百度发送的请求呢?就是16.103这个主机帮我们给百度发起的请求,请求百度的首页文件,我们看到的内容其实是代码新建的txt文件里面的内容

使用fsockopen函数实现获取用户制定url的数据(文件或者html)。这个函数会使用socket跟服务器建立TCP链接,传输原始数据。


1、因为SSRF漏洞是构造服务器发送请求的安全漏洞,所以可以通过抓包分析发送的请求是否是由服务器端发送的来判断是否存在SSRF漏洞


2、在页面源码中查找访问的资源地址,如果该资源地址类型为/a.php?image=(地址)的可能存在SSRF漏洞

SSRF:服务端请求伪造。web应用中的识图、翻译、分享、收藏等可代替用户发起http请求的功能中,用户可以输入任意的URL,服务端处理请求后对输出没有任何的检验并将结果真实地返回给用户,可造成内网沦陷等危害。

CSRF:跨站请求伪造。在身份验证不过期的情况下,攻击者利用客户端的身份验证即cookie信息,执行非用户本意的操作,可导致信息泄漏,公司业务以及信誉度下降的后果。

SSRF:curl_exec、fsockopen()、file_get_contents()

RFI:远程文件包含漏洞。指的是能够包含远程服务器上的文件并执行。可造成getshell、网页挂马、数据泄漏等危害。