SSRF无回显挖掘方法

  • A+
所属分类:安全文章

最近这段时间遇到了很多SSRF的漏洞类型,但很多都是无回显,但它们都有个通用的特点就是它发起的请求往往都是有Apache-HttpClient这款容器发起的。

在测试过程当中首先无服务器的可以借助dnslog等平台进行测试。

[2019-06-20 20:38:40] 4.4.4.4 - - yonngshao.com/&referer=none  - Apache-HttpClient/x.x (Java x.x minimum; Java/x.x.0_***) -


本文所述情况不会针对自身挖掘到的漏洞作为例子,而是会提供demo进行研究,并声明禁止非法用途

先看下demo.php

<?php


function is_allowed_URL($url){
//可用来防止HTTP头注入
if (!$url || !filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED & FILTER_FLAG_HOST_REQUIRED & FILTER_FLAG_QUERY_REQUIRED)){
return false;
}

//仅允许httphttps协议
if(!preg_match('/^https?://.*$/', $url)){
return false;
}

return true;
}

if (!is_allowed_URL($_GET['url'])) {
echo '非法';
exit;
}

//打开输出缓冲区并获取远程图片
ob_start();
$context = stream_context_create(
array('http' => array(
'follow_location' => false // don't follow redirects
))
);

//
$ch = curl_init();
$timeout = 10;
curl_setopt ($ch, CURLOPT_URL, $_GET['url']);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$url = curl_exec($ch);
ob_end_clean();

部署至环境后,请求http://yongshao.com/demo.php?url=http://外网地址:{port}

[2019-06-20 21:12:39] 4.4.4.4 - - ssrf.yongshao.com/&referer=none  -   -

由于我这里demo不是基于容器的导致在UA的值是空。

SSRF无回显挖掘方法

之后再请求一次不存在的端口

SSRF无回显挖掘方法

可见time变得非常高的值。

这里以这个特点进行对内网探测请求: http://192.168.1.1/demo.php?url=http://127.0.0.1:$80$

遍历端口时记得把Intruder attack--columns--Response received打勾

SSRF无回显挖掘方法


这样就有个明显知道内网当中存在哪些端口与不存在哪些端口了。以上不含高技术价值的信息(因为我也不会啊),仅供思路参考!


SSRF无回显挖掘方法

以上临时工所述
我司一概不负责

本文始发于微信公众号(逢人斗智斗勇):SSRF无回显挖掘方法

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: