0
点赞
收藏
分享

微信扫一扫

SSRF漏洞详解

东方小不点 2022-03-11 阅读 97

文章目录

什么是SSRF

  • 服务器端请求伪造(SSRF)是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击。(利用一个可发起网络请求的服务当作跳板来攻击其他服务)。
  • CSRF(跨站/客户端请求伪造) => 浏览器因为Js偷偷的发送数据包
    SSRF(服务器端请求伪造) => 服务器因为你的传参偷偷发送数据包
  • 攻击者能够利用目标帮助攻击者访问其他想要攻击的目标,即AB帮忙访问C

在这里插入图片描述

SSRF的危害

  1. 扫描内部网络。mysql -h 主机地址 -u 用户名 -p 用户密码

  2. 隐藏攻击者【当做跳板机来躲避追踪】。

  3. 攻击目标本机【dict:// 探测端口的协议、 file:// 读取文件的协议】。
    在这里插入图片描述
    在这里插入图片描述
    注意: PHP代码
    在这里插入图片描述
    在这里插入图片描述

  4. 向内部任意主机的任意端口发送精心构造的数据包。

  5. DOS攻击。

  6. SSRF+XSShttp://kypt8004.ia.aqlab.cn/FeedbackView.asp这个网址本身具有XSS漏洞】,即可读取目标网站源码。
    在这里插入图片描述

注意

  • 有些网站对127.0.0.1的访问是不设防的。
  • WAF【架在公网设备上】不会拦截你的SSRF攻击。
  • 传参在中存在http请求,说明可能存在SSRF漏洞。

SSRF核心代码

<?php
	$URL = $_GET['url'];
	$CH = CURL_INIT();
	CURL_SETOPT($CH, CURLOPT_URL, $URL);
	CURL_SETOPT($CH, CURLOPT_HEADER, FALSE);
	CURL_SETOPT($CH, CURLOPT_RETURNTRANSFER, TRUE);
	CURL_SETOPT($CH, CURLOPT_SSL_VERIFYPEER, FALSE);
	CURL_SETOPT($CH, CURLOPT_FOLLOWLOCATION, TRUE);
	$RES = CURL_EXEC($CH);
	CURL_CLOSE($CH);
	echo $RES;
?>

在这里插入图片描述
核心: 穿过防火墙,攻击内网。

在这里插入图片描述

练习

  1. 我们尝试用提示的网址,发现url传参。
  2. 尝试使用dict协议扫描目录,http://ud768019.ia.aqlab.cn/index.php?url=dict://127.0.0.1:81,发现存在81端口。【使用burp即可跑出81端口】
  3. 我们尝试访问一下,发现页面返回空白,查看源码,即可在源码中发现flag。

  4. 但需要注意一点,我们直接在url栏中访问81端口是访问不到的,因为我们用127.0.0.1:81端口,是当前存在SSRF漏洞主机的81端口,而我们在url栏的http://ud768019.ia.aqlab.cn:81/是指这个域名IP对应的81端口,这两者不一样。
举报

相关推荐

SSRF漏洞

漏洞原理SSRF漏洞

SSRF漏洞总结

SSRF漏洞的原理及防御

0 条评论