• SSRF


    SSRF

    服务器端请求伪造 (也称为SSRF) 是一个web安全漏洞,它允许攻击者诱导服务器端应用程序向一个意想不到的位置发出请求。

    在典型的SSRF攻击中,攻击者可以让服务器连接到内部服务。在其他情况下,还能让服务器连接到任意外部系统。

    只要是能够发起网络请求的地方就可能有SSRF漏洞,例如:

    • 请求某个接口网站的数据,如获取文本内容图片软件

    • 在线识图

    • 分享,订阅

    小实验可以去Server-side request forgery (SSRF)看一下还是蛮全的。

    可以使用的协议里大部分都是php的,除掉这一部分剩下的常见的大概就gopherfile了吧。

    关于gophper协议可以看Gopher协议在SSRF漏洞中的深入研究万金油想怎么打怎么打。

    需要注意的是满足版本要求的才能使用

    协议PHPJavaASP.NT
    gopher--wite-curlwrappers且版本$\geq$5.3JDK$<$1.7版本$<$3

    file协议一般就是拿来读取本地的文件file://path/file_name

    SSRF如何绕过

    防御SSRF通常的机制是使用白名单黑名单白名单相对于黑名单来说防御效果更好。

    白名单绕过

    白名单通常的方法

    • 找到一个重定向漏洞**(open redirect vulnerability)👉Open redirectpython举例res.redirect(req.query.redirect_url ? req.query.redirect_url : '/')不完全的编码造成了重定向漏洞**

    • 如果白名单没有正确的配置,可以使用在允许的域名里加入恶意子域名 victim.com.evil.com或者evil.com/victim.com

    • 可以在URL中使用@将凭证嵌入到主机名之前 victim.com@evil.com

    • 可以在URL中使用#表示一个URL片段 victim.com#evil.com

    • 将上述技术结合起来

    Orange Tsai研究员在黑帽大会上的演讲A New Era of SSRF中介绍了URL的参数解析。

    黑名单绕过

    黑名单相比之下就有更多的方法了,黑名单常常限制直接对内网的访问。

    • DNS解析绕过

      • 可以把自己的域名解析到127.0.0.1达到绕过
      • 在自己的网站上使用一个重定向程序,当请求下面的程序,将会重定向到127.0.0.1
      <?php header(“location: http://127.0.0.1"); ?>
      
      • 1
      • http://dlj.bz/kA47FD利用短链地址
    • ipv6地址

      有些防护可能只配置在了ipv4上而没有配置在ipv6上,当然前提是目标支持ipv6地址。有下面几个ipv6地址查询网站

    • 不同的编码

      • 16进制

      127.0.0.1 -> 0x7f.0x0.0x0.0x1

      • 8进制

      127.0.0.1 -> 0177.0.0.01

      • 2进制

      127.0.0.1 -> 01111111.00000000.00000000.00000001

      • URL编码

      localhost -> %6c%6f%63%61%6c%68%6f%73%74

      • 混合编码

      127.0.0.1 -> 0177.0.0.0x1

  • 相关阅读:
    成人高考的入学考试有哪几门-大专升本科的那种
    windows10自动设置时间灰色怎么办
    BUUCTF [BJDCTF2020]藏藏藏 1
    ESP32——串口通讯应用实例
    市场人员被 CEO、销售要求去证明“数量指标”作用的现象越来越常见
    CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统
    计算机操作系统 (第四版 汤小丹)(持续学习中)
    多线程的学习中篇上
    GPT会统治人类吗
    HTML表单元素-输入框
  • 原文地址:https://blog.csdn.net/qq_40710190/article/details/125567146