SSRF

SSRF

  • CSRF => 客户端请求伪造(跨站请求伪造)
    利用 Js 代码让浏览器发送数据
  • SSRF => 服务端请求伪造
    让服务器帮我们发送数据

  1. 探测内网
    内网:局域网
    防御:外紧内松
  2. 做攻击跳板(攻击A网站)
  3. 探测自己(本地其他网站)
    端口服务:
    防火墙(防外不防内:127.0.0.1)

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;
?>

http://127.0.0.1/ssrf/?url=https://www.baidu.com
在这里插入图片描述
当本地直接访问与通过该网页访问得到的页面不一致时,存在ssrf
dict:// 协议探测端口(字典协议)
在这里插入图片描述
file:// 协议读取文件
(可以搜索敏感目录)

能访问外网的站应该存在ssrf;若传参中包含协议头或者是文件的时候,非常可能存在ssrf

  • a=http://
  • a=123.php(文件读取、文件下载、文件包含、ssrf)

小技巧:

  • 加@,之访问@之后的内容:https://www.baidu.com@127.0.0.1
  • 域名最终指向IP
  • 数字IP法

靶场

在这里插入图片描述
既然可以访问外网,可能存在ssrf,放问其端口
至81端口时发现flag
在这里插入图片描述

拓展

反弹shell:把目标的命令行反弹到你的服务器上

XSS => 偷Cookie (存储型)
CSRF => 利用 Cookie (看不到 Cookie,诱骗,构建特殊 Js)
SSRF => 让服务器去访问XXX (杀入内网、攻击本机)

posted @ 2021-12-28 20:28  1ta-chi  阅读(52)  评论(0)    收藏  举报