OWASP Juice Shop v12.1.0
OWASP Juice Shop目前有100个关卡,分为了6个难度等级,模拟真实环境。这个做着做着你就解锁了其他关卡了。
Tips:在这一章节需要先学习SQL相关知识点、Burp Suite工具使用等等。
官方链接:https://github.com/bkimminich/juice-shop
本文内容为原创,请转发经得作者同意!
1. View Basket
目标:查看其他用户的购物车。
考察:失效的访问控制
解题思路:
通过指引让修改存储的某个key以解题,这里发现这个会话存储了购物车的内容,下面还有个存储了购物车的总价。我们修改这个bid为任意其它值就行。这里我们直接把购物篮这个链接复制粘贴再访问一遍也是可以达到效果,但是不是作者的意图。
2. Login Admin
目标:使用管理员用户帐户登录。
考察:SQL注入
解题思路:
这里我们得知这个果汁店域名是juice-sh.op,则管理员邮箱账号是admin@juice-sh.op。
1.这里弄一些非法数据发现了可注入点;
2.执行playload(电子邮箱:admin@juice-sh.op' or 1=1 -- 密码:任意)绕过。这里就不普及SQL知识了~~
简单版playload:电子邮箱:' or 1 -- 密码:任意 (一开始不知道账号,这样注入进去就看见了~~)
3. Password Strength
目标:使用管理员的用户凭据登录,但不事先更改凭据或使用SQL注入。
考察:暴力破解
解题思路:
这里我们得知这个果汁店域名是juice-sh.op,则管理员邮箱账号是admin@juice-sh.op。确定好账号后我们进行暴力破解,这里需要用到工具Burp Suite,并且我们找了一些常用的字典fuzzdb来破解(https://github.com/fuzzdb-project/fuzzdb),最后暴力破解出密码是admin123。
1.找到管理员登录入口;
2.确定管理员账户;
3.暴力破解密码。
1. 设置浏览器代理和Burp Suite一致;
2. 抓包登录包并send to intruder模块;
3. 配置sniper模式,添加需要爆破的变量password那里;
4. 配置爆破字典后就可以开始了,过程有点慢。
5. 分析结果,通过状态或者返回包的长度不一样来得到结果。
4. Admin Section
目标:访问商店的管理页面。
考察:失效的访问控制
解题思路:
先登录之前破解的管理员账号,然后找到隐藏的管理员入口进入就行(localhost:3000/#/administration)。
5. Five-Star Feedback
目标:删除所有5星客户反馈。
考察:失效的访问控制
解题思路:
先登录之前破解的管理员账号,然后进入之前找到的隐藏管理员入口,进去操作就行了。
6. Visual Geo Stalking
目标:通过查看她上传到照片墙的照片来确定Emma安全问题的答案并通过忘记密码机制重置他的密码。
考察:敏感数据泄露
解题思路:
通过之前拿到的管理员账号登录后可看到注册的用户emma@juice-sh.op。并且找回密码时问成年后陪伴你的第一个工作是什么?,在照片墙中的帖子也说了那个图是她的工作地(My old workplace),放大图片中工作地的海报即可解出答案:ITsec (发现自己真是个细心的boy)。
7. Meta Geo Stalking
目标:通过查看他上传到照片墙的照片来确定John安全问题的答案并通过忘记密码机制重置他的密码。
考察:敏感数据泄露
解题思路:
通过查看到John的安全问题是最喜欢去远足的地方,照片墙也有他远足的照片,这里我们保存下来查看查看图片的经纬度信息来推断,使用exiftool工具。获得GPS信息:36 deg 57' 31.38" N, 84 deg 20' 53.58" W
通过转换为经纬度:-84.348217,36.958717。然后去百度地图反查地址。得到答案是Daniel Boone National Forest ,如果模糊数据比较多可以使用Burp Suite 进行重放攻击。
8. Weird Crypto
目标:联系商店告诉他们有关它绝对不应该使用的算法或库。
考察:加解密
解题思路:
在使用这种过时的加密算法(md5)的情况下,现在是时候告诉商店它们的漏洞,并提交一份包含该算法名称的顾客反馈内容,就通过这个奇怪的加密挑战了。
9. Deprecated Interface
目标:使用已废弃但未正常关闭的B2B接口。
考察:安全配置错误、前端绕过
解题思路:
通过搜索线索B2B关键词,在投诉页面里发现了有很可疑的地方。这个地方原来其实是可以上传三种文件的,包括.pdf、.xml、.zip,但是由于接口废弃,不能上传.xml文件了,我们这里来绕过上传一下试试。于是上传一个文件5oneXj.xml.zip (文件内容不重要,能绕过这种格式就行~~),通过抓包修改一下包名就可以绕过前端验证了。
10. Security Policy
目标:开始行动之前任何行为都应该像"白帽子"一样。
考察:杂项
解题思路:
在使用
"白帽子"界提议了一个标准,允许网站定义安全策略(https://securitytxt.org/),里面访问security.txt可以知道这个网站允许"白帽子"怎样做,但是事实上我之前不知道这个。我就比较原始,使用dirsearch工具(https://github.com/maurosoria/dirsearch)对网站子目录进行扫描看看,也会发现这个和题目相关的security.txt文件,但是扫描也可能会误解其他题,这里还没扫描完就已经发现彩蛋了(localhost:3000/.well-known/security.txt)。
11. Login MC SafeSearch
目标:使用MC SafeSearch的原始用户凭据登录而不使用 SQL 注入或任何其他绕过方法。
考察:敏感数据泄露
解题思路:
从题目中得知要登录MC SafeSearch的账户,从前面的后台管理员权限中可以看到注册的用户账户mc.safesearch@juice-sh.op,谷歌搜索的时候发现MC SafeSearch是一个YouTobe音乐视频Protect Ya’ Passwordz。
音乐视频中你可以得知字幕内容:
“But then how do you remember is the question that I get I say why not use the first name of your favorite pet?Mine’s my dog, Mr. Noodles. It don’t matter if you know because I was tricky and replaced some vowels with zeroes.”
“但是,您怎么还记得我要问的一个问题,为什么不使用您喜欢的宠物的名字呢?我的狗是我的狗,面条先生。您是否知道这并不重要,因为我很棘手,并用0替换了一些元音。”
这里我们大致知道密码是什么了,Mr. Noodles,但这里我们准备一些字典进行Burp Suite的Sniper攻击。
Mr. No0dles Mr. N0odles Mr. N00dles
Mr.N00dles ...
最后暴力测试得出了最终密码(Mr. N00dles),说实话这里用到的社会工程学是真的无敌~~跪了~
12. Reflected XSS
目标:使用 <iframe src="javascript:alert(`xss`)">
代码执行反射型 XSS 攻击。
考察:XSS
解题思路:
以获取我的任何订单,显示订单跟踪订单看到交付状态,可以看到这里很容易受到XSS攻击。
注意 id 在URL中参数 http//localhost:3000/#/track-result?id=5267-f375f1f710625ed7,当 5267-f375f1f710625ed7 屏幕上显示时,可能容易受到XSS攻击。 粘贴攻击字符串 <iframe src="javascript:alert(`xss`)"> 进入该URL,即可XSS攻击: http//localhost:3000/#/track-result?id=%3Ciframe%20src%3D%22javascript:alert(%60xss%60)%22%3E
本文内容为原创,请转发经得作者同意!