SSRF漏洞介绍及利用

目录

 

SSRF简介

SSRF漏洞原理

SSRF漏洞的验证方法

主要用途

产生SSRF的PHP函数

SSRF漏洞常见位置

SSRF漏洞代码分析

实例演示-读取本地文件


SSRF简介

SSRF(server-site request forey,服务器请求伪造)是一种构造请求,由服务器发起请求的安全漏洞。

一般的情况下,SSRF的目标就是与外部隔离的内网资源

SSRF漏洞原理

服务器提供了从其他服务器获取数据的功能,但没有对内网目标地址做过滤与限制。

SSRF漏洞的验证方法

  • .因为SSRF漏洞是让服务器发送请求的安全漏洞,所以我们可以通过抓包分析发送的请求是否是由服务器发送的,从而判断是否存在SSRF漏洞
  • 在页面源码中查找访问的资源地址,如果该资源地址类型为www.xxx.com/url.php?image= (地址)就有可能存在SSRF漏洞

主要用途

1.对外网、服务器所在的内网、本地进行端口扫描,获取Banner信息。

2.测试运行在内网或本地的应用程序

3.利用file协议读取本地文件

产生SSRF的PHP函数

  • file_get_contents()
  • fsockopen()
  • curl_exec()

SSRF漏洞常见位置

*所有能调用外部资源的参数都有可能存在SSRF漏洞

  • 分享
  • 转码服务
  • 在线服务
  • 图片加载与下载:通过url加载或者下载图片
  • 图片、文章收藏功能
  • 未公开的api实现以及其他调用URL的功能

SSRF漏洞代码分析

<?php

    if(isset($_GET['url']))

{

 $link =$_GET['url'];

$curlobj = curl_init($link);

curl_setopt($curlobj,CURLOPT_HEADER,0);

curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,1);

$result = curl_exec($curlobj);

echo $result;

curl_close($curlobj);

}

实例演示-读取本地文件

127.0.0.1/ssrf.php?url=file:///c:/post.txt

猜你喜欢

转载自blog.csdn.net/smli_ng/article/details/106679572