OWASP’s Juice Shop v12.1.0 一星难度所有题解 – 作者:5oneXj

OWASP Juice Shop v12.1.0

OWASP Juice Shop目前有100个关卡,分为了6个难度等级,模拟真实环境。这个做着做着你就解锁了其他关卡了。

Tips:进入靶机后,先找记分板哦!

官方链接:https://github.com/bkimminich/juice-shop

本文内容为原创,请转发经得作者同意!

1. Score Board

目标:找到精心隐藏的“计分板”页面,也是整个靶场的第一步必做。

考察:代码分析

解题思路:

策略一:可以先猜几个相关的单词测试一下。

策略二:先F12打开开发者选项看看是不是入口给注释隐藏了,但是发现源代码里没有搜索到。

策略三:这里我们再看看这种不是注释在代码里了那就是js动态渲染的,去资源文件里看看相关的渲染代码,这里通过搜索关键词找到了渲染的地方(这里看出来就是前端路由的地方,写过代码的就知道~),最后拼接在地址栏后面打开就解锁了,之后在左侧栏就显示了(localhost:3000/#/score-board)。

图片[1]-OWASP’s Juice Shop v12.1.0 一星难度所有题解 – 作者:5oneXj-安全小百科

2. Bonus Payload

目标:使用提供的一个payload,完成一个DOM XSS挑战。

考察:XSS

解题思路:

这里是DOM XSS第一想到的就是各种输入提交框,这里难度不高,姑且就把这个playload粘贴到各种网页内可提交的input框里,结果就是粘贴到搜索栏后回车执行即可。

3. DOM XSS

目标:使用提供的代码进行基于DOM的XSS攻击。

考察:XSS

解题思路:

这题跟上一题差不多,就把这个playload粘贴到各种网页内可提交的input框里,结果就是粘贴到搜索栏后回车执行即可。

4. Confidential Document

目标:查阅机密文件。

考察:敏感数据暴露

解题思路:

找各个页面,找各个链接,尝试很多之后发现‘’关于我们‘’这个页里面的隐私政策附加了个链接,观察这个地址栏(localhost:3000/#/ftp/legal.md)感觉就是ftp资源文件目录,果不其然可以直接访问到该目录的其他文件,这里我们进来就看到了这个兼并收购的隐私文件(acquisitions.md),点开看看就完成了。

1606145263_5fbbd4efee680494e3430.png!small?1606145264524

5. Error Handling

目标:引发一个错误,该错误既不能很好地解决也不能始终如一地处理。

考察:安全配置

解题思路:

引发一个错误那还不简单了,制造一些有问题的数据不就好了。最终其实就是引发页面404、403、500等等,但是404未找到文件最好制造了,刚才不是隐私文件有一个目录么,地址后随便接一个不存在的文件就好了。

1606145736_5fbbd6c822b14653c6412.png!small?1606145736496

6. Repetitive Registration

目标:注册用户时请遵循DRY原则。

考察:前端绕过

解题思路:

先来看看什么是DRY = Don’t Repeat Yourself,题目就是让不做重复的事来进行注册,那就是不重复输入密码也能注册。当不输入密码发现注册按钮不可用,这里F12看看网页元素给改改看看能不能提交。

注册前把注册按钮里面的disable=”true”删除了,然后把前面邮箱密码一填,其他不填都可以,点击后直接注册成功(这里页面可能不发生变化,其实注册成功了的~)。

1606204731_5fbcbd3b9aa6025250a59.png!small?1606204732838

7. Privacy Policy

目标:阅读隐私政策。

考察:动手能力

解题思路:

说实话这里有点侮辱智商了(这里就点这个隐私政策就解出来了~emmmmm),隐私条款政策都知道在关于我们里面或者账户里面,反正多点来看看就知道了。

1606204913_5fbcbdf1b00191c1aad53.png!small?1606204914007

8. Bully Chatbot

目标:从支持聊天的机器人接收优惠券代码。

考察:暴力破解

解题思路:

机器人是死的嘛,他可能就是根据什么关键词口令来回复你,那要想获得优惠券口令,你就把你想要的告诉他不就自动回复你了嘛。

1606205413_5fbcbfe512adae01d7a76.png!small?1606205413737

9. Missing Encoding

目标:检索Bjoern猫”乱斗模式”的照片。

考察:URL Encoding

解题思路:

这里发现这个图片没有被解析出来,因为URL中包含了特殊的符合需要进行一个转换(否则就是按特殊符合的特殊意思去解析!),就会导致一些异常,这里对应把这个 “#” 改成 “%23” ,然后把URL新开一个页面访问就可以看到Bjoern的猫了。(-%23zatschi-%23whoneedsfourlegs-1572600969477.jpg)

URL特殊符号及对应的十六进制值编码:
 
 +       URL中+号表示空格                  %2B   
 空格     URL中的空格可以用+号或者编码        %20   
 /       分隔目录和子目录                   %2F    
 ?       分隔实际的 URL 和参数              %3F    
 %       指定特殊字符                      %25    
 #       表示书签                         %23    
 &       URL中指定的参数间的分隔符           %26    
 =       URL中指定参数的值                 %3D

1606284263_5fbdf3e71d877ddc69b98.png!small?1606284270197

10. Zero Stars

目标:给商店一个毁灭性的零星反馈。

考察:前端绕过

解题思路:

这里通过代码可看到默认就是零星评价,因为星级这里我们不需修改,但是不评价无法提交,我们这里把提交按钮的属性 disabled=”true” 给删除就可以提交了(这里页面可能不发生变化,其实评价成功了的~)。

1606284909_5fbdf66d2d2eaa53f16b0.png!small?1606284910508

11. Outdated Whitelist

目标:让我们将您重定向到我们不再使用的加密通用地址。

考察:代码分析

解题思路:

题目中这个通用地址一定是隐藏在页面了,通过F12搜索发现页面没有,那么我们在js文件中搜索关键词。

(localhost:3000/redirect?to=https://blockchain.info/address/1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm)

1606285704_5fbdf988a26246362fbe8.png!small?1606285706564

12. Exposed Metrics

目标:找出后端服务使用常见监测软件获得的服务器数据。

考察:敏感数据泄露

解题思路:

我们得知后端使用了一个常见监测软件,那么我们需要知道入口的URL路由地址。这里链接指向了这个开源的监测项目地址,从这个GitHub中我们知道了这个项目的官网,官网中的官方文档可查阅到默认的后端入口地址(localhost:3000/metrics)。

1606286127_5fbdfb2f81b8bd178664f.png!small?1606286129041

注:本文内容为原创,请转发经得作者同意!

来源:freebuf.com 2020-11-25 14:53:16 by: 5oneXj

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论