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)。
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),点开看看就完成了。
5. Error Handling
目标:引发一个错误,该错误既不能很好地解决也不能始终如一地处理。
考察:安全配置
解题思路:
引发一个错误那还不简单了,制造一些有问题的数据不就好了。最终其实就是引发页面404、403、500等等,但是404未找到文件最好制造了,刚才不是隐私文件有一个目录么,地址后随便接一个不存在的文件就好了。
6. Repetitive Registration
目标:注册用户时请遵循DRY原则。
考察:前端绕过
解题思路:
先来看看什么是DRY = Don’t Repeat Yourself,题目就是让不做重复的事来进行注册,那就是不重复输入密码也能注册。当不输入密码发现注册按钮不可用,这里F12看看网页元素给改改看看能不能提交。
注册前把注册按钮里面的disable=”true”删除了,然后把前面邮箱密码一填,其他不填都可以,点击后直接注册成功(这里页面可能不发生变化,其实注册成功了的~)。
7. Privacy Policy
目标:阅读隐私政策。
考察:动手能力
解题思路:
说实话这里有点侮辱智商了(这里就点这个隐私政策就解出来了~emmmmm),隐私条款政策都知道在关于我们里面或者账户里面,反正多点来看看就知道了。
8. Bully Chatbot
目标:从支持聊天的机器人接收优惠券代码。
考察:暴力破解
解题思路:
机器人是死的嘛,他可能就是根据什么关键词口令来回复你,那要想获得优惠券口令,你就把你想要的告诉他不就自动回复你了嘛。
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
10. Zero Stars
目标:给商店一个毁灭性的零星反馈。
考察:前端绕过
解题思路:
这里通过代码可看到默认就是零星评价,因为星级这里我们不需修改,但是不评价无法提交,我们这里把提交按钮的属性 disabled=”true” 给删除就可以提交了(这里页面可能不发生变化,其实评价成功了的~)。
11. Outdated Whitelist
目标:让我们将您重定向到我们不再使用的加密通用地址。
考察:代码分析
解题思路:
题目中这个通用地址一定是隐藏在页面了,通过F12搜索发现页面没有,那么我们在js文件中搜索关键词。
(localhost:3000/redirect?to=https://blockchain.info/address/1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm)
12. Exposed Metrics
目标:找出后端服务使用常见监测软件获得的服务器数据。
考察:敏感数据泄露
解题思路:
我们得知后端使用了一个常见监测软件,那么我们需要知道入口的URL路由地址。这里链接指向了这个开源的监测项目地址,从这个GitHub中我们知道了这个项目的官网,官网中的官方文档可查阅到默认的后端入口地址(localhost:3000/metrics)。
注:本文内容为原创,请转发经得作者同意!
来源:freebuf.com 2020-11-25 14:53:16 by: 5oneXj
请登录后发表评论
注册