Catalog
  1. 1. 源码
  2. 2. 利用
SSRF分析

​ 很多Web应用都提供了从其他服务器上获取数据的功能。使用用户指定的URL,Web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地服务器。

​ 服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。

源码

​ 用了书上的一个源码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function curl($url){ //定义一个函数curl,参数url

// 创建一个新cURL资源
$ch=curl_init();

// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);

// 抓取URL并把它传递给浏览器
curl_exec($ch);

//关闭cURL资源,并且释放系统资源
curl_close($ch);
}
$url=$_GET['url'];
curl($url);
?>

分析:

​ 这个源码获取了url的传参,没进行校验和过滤,拼接到curl函数内直接调用执行。

利用

利用方式:

  • 可以对外网服务器所在的内网、本地进行端口扫描,获取一些服务的banner信息 。
  • 攻击运行在内网或者本地的应用程序。
  • 对内网web应用进行指纹识别,通过访问默认文件实现 。
  • 攻击内外网的web应用。sql注入、struct2、redis等。
  • 利用file协议读取本地文件等。

端口扫描:

读取文件:

Author: 九指
Link: /2019/12/07/SSRF/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
  • 支付寶