PortSwigger靶场(三)SSRF服务端请求伪造

前言

如何辨别存在ssrf

这里我们主要用到burpsuite当中的collaborator项目。在referer头中换成collaborator中的url地址,然后发送过去,等待一段时间之后就可以在collaborator中发现dns和http类型的改动

一、实验室:针对本地服务器的基本SSRF

本题就很简单,题目提示说在检查库存数量的时候会进入系统内部,我们就抓这个查看库存的包来看看,发现在包最下方存在stockAPI=后面跟的是网址,结合实际网页来看,发包后页面就会来到这个网址,此时我们尝试在这个API后面输入,http://localhost/admin,放包看看,果然进入了管理员页面,这时我们只要点击删除carlos的按键就可完成靶场

二、实验室:针对另一个后端系统的基本 SSRF

看到实验后还是先看题目给出的信息

该实验室具有库存检查功能,可从内部系统获取数据。

若要解决实验室问题,请使用库存检查功能扫描端口 8080 上的管理界面的内部范围192.168.0.X,然后使用它删除用户。

在这里我们先抓包,发送到爆破功能处

然后将stockapi设置成我所设置的这种样子,然后再payload进行如下配置

设置完成后就可以直接开始进行攻击了,发现大多数的ip地址的在发包后的返回值都是400,500但是却有正常响应值为200的,这应该就正确的IP地址

此时这个请求包所显示的IP地址就是理论上网站服务器的ip而用于这个网站的端口也被我们得知,接下来我们尝试进入admin界面也就是管理员界面,也就是如上进行发包,就可以将题目所请求的删除用户完成

三、实验室:带外检测的盲 SSRF

还是先看题目中给出的信息,

本网站使用分析软件,该软件在加载产品页面时获取 Referer 标头中指定的 URL。

若要解决实验室问题,请使用此功能向公共 Burp 协作者服务器发出 HTTP 请求。

题目中讲到在加载产品页面时获取referer标头中指定的URL,那我们就把这个加载产品这个包抓一下来看看,发现果然在referer头当中存在url,这里开始我们介绍一下带外检测

3.1 带外检测 

带外检测一般我们称为OAST,他主要提供了一种新的检测方法

3.2 什么是OAST安全测试

带外应用程序安全测试是使用外部服务器来帮助我们来查看无回显的漏洞。

了解一下目前主流的集中应用安全测试技术。
DAST: 动态应用程序安全测试(Dynamic Application Security Testing)技术在测试或运行阶段分析应用程序的动态运行状态。它模拟黑客行为对应用程序进行动态攻击,分析应用程序的反应,从而确定该Web应用是否易受攻击。
SAST:静态应用程序安全测试(Static Application Security Testing)技术通常在编码阶段分析应用程序的源代码或二进制文件的语法、结构、过程、接口等来发现程序代码存在的安全漏洞。
IAST:交互式应用程序安全测试(Interactive Application Security Testing)是2012年 Gartner 公司提出的一种新的应用程序安全测试方案,通过代理、VPN或者在服务端部署Agent程序,收集、监控Web应用程序运行时函数执行、数据传输,并与扫描器端进行实时交互,高效、准确的识别安全缺陷及漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数。IAST相当于是 DAST 和 SAST 结合的一种互相关联运行时安全检测技术。

OAST 结合了传统 DAST 的交付机制和 IAST 的检测能力。它动态地发送检测代码到应用程序,当以不安全的方式被执行时,就会触发漏洞,攻击的结果不会直接返回到响应包中,而是使其与外部系统进行网络互动(例如:DNS)。互动的内容包括了漏洞的类型和触发互动的输入点。

3.3 OAST强大之处

  • DAST 无法检测响应中不可见的漏洞,也就是针对无回显的漏洞,DAST明显是检测不到的, 同样也无法扫描到异步触发的漏洞,相反,OAST 能够发现无回显和延迟的漏洞。
  • SAST 能够发现DAST 检测不到的模糊漏洞,但静态分析技术出现误报的概率太大,需要对报告的漏洞逐个验证,相反,OAST 就不存在误报,如果有互动,那就是检测到了漏洞。
  • IAST 相当于结合了动态检测和静态检测,它涉及了对应用程序进行侵入性的行为,很可能导致网站或服务器引起新的问题,损害性能,适合在应用未上线之前进行检测,外带检测(OAST)则不会对系统进行修改,只有验证代码在存在漏洞的位置才会被执行,并且验证代码不具有攻击性。

源:带外应用安全测试(OAST) - 知乎 

3.4 实验总结 

简单的来说就是有时候我们对网站进行黑盒测试,由于在我们攻击后,网站的安全设置让我们看不到回显,也就有漏洞也不知到在哪里,此时我们使用oast,将受攻击影响的地方通过请求回应时经过另外一个服务器的信息表现出来,这样我们就知道我们的攻击造成了什么效果

在这里我们只需要在referer头中换成collaborator中的url地址,然后发送过去,等待一段时间之后就可以在collaborator中发现dns和http类型的改动,这时试验结束,这个实验其实是想教大家基本的带外注入方法,以便在接下来的实验使用

四、实验室:带有基于黑名单的输入滤波器的 SSRF

这里这个实验我做的时候一头雾水,没找到方向,后来做完才知道这个其实是考察我们的过滤能力的,这第四个实验其实和第一个实验就很像,同样是利用他的这个库存查询的时候,能直接从内部系统获取数据,然后我们控制了这个输入端 ,就可以控制访问系统内部的任何网页,但是这次他进行了过滤,好像把我们常用的localhost和127.0.0.1还有admin全部进行过滤了

当我们把shockapi改成带有这两个字段的样式的时候都会报错,但是本实验室为我们提供了两个方法,一个就是将http://127.0.0.1/改成http://127.1在效果上是一样的,然后我们将字母a改为%2561也就是变成url编码,这样就可以绕过过滤了

然后本题有两种方案,一种是使用http://127.1/%2561dmin

一种是http://loc%2561lhost/%2561dmin

这两种方法都可以帮助我们绕过过滤然后进入管理员界面将特定用户删除以完成实验室

五、实验室:通过开放重定向漏洞旁路过滤器的 SSRF

这道题的迷惑性实在是太大了,让我被误导了很久,首先我看题目,说的是要通过开放重定向,所以我们按照常规思路找到在商品页面右下角有一个next的字样,猜测这个是重定向,然后抓包来看

 

 抓完包我猜测可能是重定向的过程中对权限没有限制什么的,所以直接试试看,改掉他原本的重定向的路径,换成本地服务器管理员页面试试看

试过了之后发现压根转不过去,说是什么要用post请求,但是在更改请求方式之后还是报错p用没有,没有办法,只能试试前几个实验室的方法看看行不行

 

这里我们还是抓那个看库存的包,然后将下面的api改成重定向的形式进行,发现一下子就成功了,这时我才意识到,原来本题重定向的意义在于,以重定向的形式进行跳转,与系统内部进行交互的还是这个查库存的地方,只是直接访问管理员页面好像被过滤掉了,绕过不来哦,我们只好观察页面重定向的格式,然后在这里看看用重定向的格式能不能跳转到管理员页面,结果成功了,删除carlos的账号即可通关这个靶场

六、实验室:盲目SSRF与壳冲击(shellshock)利用 

 这道题其实考虑的就是对burpsuite的应用了,我这关也是只有看攻略才能通关但是毕竟是在学习阶段这也正常,师傅说这些东西不用太深研究,这里我也是按部就班的采用了大神的方法

【burpsuite安全练兵场-服务端9】服务端请求伪造SSRF漏洞-7个实验(全)_黑色地带(崛起)的博客-CSDN博客

七、实验室:带有基于白名单的输入滤波器的 SSRF 

这道题也是蛮经典的,我们输入信息,再根据回显给出的信息进行修改,首先就是还是从检查库存的地方来进行渗透,老方法抓包修改信息,这里我们将shockapi修改成http://localhost/admin看看

发现报错,需要使用特定的格式才可以输入,我们根据错误提示进行修改

http://username@stock.weliketoshop.net/

这里发现会报错,那就不得不提到URL规范了

7.1 URL规范

URL规范包含许多在实现对URL的即席解析和验证时容易被忽略的特性:
 
1、可以使用@字符在主机名之前的 URL 中嵌入凭据。 例如:
    https://expected-host(预期主机)@evil-host(恶意主机)
 
2、可以使用 # 字符来表示 URL 片段。例如:
    https://evil-host(恶意主机)#expected-host(预期主机)
 
3、可以利用DNS命名层次结构将所需的输入放入您控制的完全限定DNS名称中。例如:
    https://expected-host.evil-host
 
4、可以对字符进行URL编码以混淆URL分析代码。如果实现筛选器的代码与执行后端HTTP请求的代码处理URL编码的字符的方式不同,则这一点特别有用
 
5、可以将这些技术结合使用

7.2 在靶场中使用

这里我们已经使用了方法一,发现不行

那我们继续使用方法二 

http://username#@stock.weliketopshop.net/

这个URL还是被拒绝了,那我们接着使用方法四,双URL将#编码为%2523,并观察非常可疑的“Internal Server Error”响应,该响应指示服务器可能已尝试连接到“username”,方法三并不适用

http://username%2523@stock.weliketopshop.net/

http://localhost:80%2523@stock.weliketoshop.net/admin这个时候我们将api换成这个就可以进入管理员界面了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值