SSRF漏洞分析,利用及其防御

简介:

0x00 什么是SSRF

     SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种有攻击者构造形成有服务器发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。


0x01 SSRF是如何产生的

     SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页完本内容、加载指定地址的图片、下载等。


0x02 SSRF的利用场景

1
2
3
4
5
6
7
8
9
10
11
12
<meta charset="utf-8"/>
<?php
 
////////////////////////////////////
// 1# file_get_conttents:
////////////////////////////////////
 
$url = $_GET['url'];
$url = "http://".$url;
echo $url;
$con = file_get_contents($url);
echo $con;


 

当一个可以接受URL的网站(美图秀秀中可以通过URL上传图片)当该站没有对用户输入的URL进行过滤时,该情景与上面的代码测试的环境基本一样,这是可以对其内网进行探测。

1
2
http://127.0.0.1/Sec_Php/Lab/ssrf.php
?url=127.0.0.1

这时可以通过该网站主机作为跳板对内网进行探测。

搜狐某云服务API接口导致SSRF/手工盲打到Struts2命令执行

内网编织者百度内网手动编织!


也可以通过该漏洞对服务器任意文件读取:

新浪某站任意文件读取/SSRF

盛大某站存在SSRF可读取本地文件&探测内网


   0x03 如何防御

           1.过滤放回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。

            2.统一错误信息,避免用户可以根据错误信息来判断远程服务器的端口状态。

            3.限制请求的端口为http常用的端口,比如,80,443,8080,8090。

            4.黑名单内网IP。避免应用被用来获取内网数据,攻击内网。

            5.禁用不需要的协议。仅仅允许http和https请求。




本文转自 nw01f 51CTO博客,原文链接:http://blog.51cto.com/dearch/1793814,如需转载请自行联系原作者

相关文章
|
2月前
|
编解码 安全 生物认证
|
2月前
|
XML JSON 安全
Web安全-XXE漏洞
Web安全-XXE漏洞
24 1
|
1月前
|
安全 网络协议 NoSQL
SSRF漏洞深入利用与防御方案绕过技巧
SSRF漏洞深入利用与防御方案绕过技巧
92 0
|
1月前
|
网络协议 安全 网络安全
ssrf检测防御与绕过
ssrf检测防御与绕过
|
SQL 存储 前端开发
💣深入Web安全(攻击篇)
💣深入Web安全(攻击篇)
689 1
💣深入Web安全(攻击篇)
|
开发框架 安全 JavaScript
网络安全-文件上传漏洞的原理、攻击与防御
网络安全-文件上传漏洞的原理、攻击与防御
671 0
网络安全-文件上传漏洞的原理、攻击与防御
|
SQL 安全 API
Web安全中常见的攻击方式和防范措施
在 Web 应用程序开发过程中,安全一直是一个重要的问题。攻击者不断进化他们的攻击技术,因此 Web 应用程序开发人员必须了解常见的攻击方式并采取相应的防范措施来确保应用程序的安全性。以下是一些常见的 Web 攻击方式和防范措施。
375 0
|
缓存 安全 网络协议
网络安全-SSRF漏洞原理、攻击与防御
网络安全-SSRF漏洞原理、攻击与防御
437 0
网络安全-SSRF漏洞原理、攻击与防御
|
SQL 安全 Java
网络安全-webshell详解(原理、攻击、检测与防御)
网络安全-webshell详解(原理、攻击、检测与防御)
1292 0
网络安全-webshell详解(原理、攻击、检测与防御)
|
SQL 存储 安全
文件上传漏洞渗透及防御_1 | 学习笔记
快速学习 文件上传漏洞渗透及防御_1
190 0
文件上传漏洞渗透及防御_1 | 学习笔记