SSRF服务器端请求伪造

Itachi

SSRF

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

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

SSRF不属于漏洞,它是一种功能
比如翻译软件,给它一个域名,他会去访问该域名,再翻译该网页
img

判断ssrf

1
2
3
4
5
6
7
8
9
10
11
12
<?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
img
当本地直接访问与通过该网页访问得到的页面不一致时,存在ssrf
dict:// 协议探测端口(字典协议)
img
file:// 协议读取文件
(可以搜索敏感目录)

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

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

小技巧:

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

靶场

img
既然可以访问外网,可能存在ssrf,放问其端口
至81端口时发现flag
img

拓展

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

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

  • 标题: SSRF服务器端请求伪造
  • 作者: Itachi
  • 创建于 : 2021-12-28 20:54:32
  • 更新于 : 2021-12-28 23:12:33
  • 链接: https://blog.tarchi.top/web/SSRF服务器端请求伪造/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论
此页目录
SSRF服务器端请求伪造