Juice Shop 闯关游戏经验分享
Juice Shop 是owasp下面的一款漏洞游戏,包含主流的一些开发项目中遇到的一些漏洞 包含6个等级难度的漏洞。
工具清单:Fiddler postman owasp-zap chrome 等等
一星难度闯关
查找隐藏的url
// 漏洞解析:js 返回了所有的路由信息,根据路由信息查找被隐藏的url
打开F12调试模式 --> Sources --> main.js --> 搜索相关路径(CTRL + F)
注意搜索内容 模糊匹配path 根据页面查找到 routerLink 相关类 为链接 即可找到 administration管理页面 和 /score-board积分版
查找隐私文件
// ftp 目录未进行权限控制 可以直接访问,但是md文档 订单pdf keepass 等都放在改目录下面 这是非常危险的做法 但是现在基本好多东西都放在对象存储了
使用网站爬虫 即可爬出一个隐藏的FTP目录 --> 可以直接访问 --> 访问相关文件即可通关
xss 攻击
//哈哈 这个感觉不算漏洞啊 未屏蔽输入内容
搜索框可以直接执行 xss 脚本
零星差评
// 前端验证最低都要选择一颗心,和必须输入内容 直接绕过前端调用接口就行
打开F12调试模式 --> network --> 先给一个有星的评论 -->获取评论提交地址及内容格式 --> postman 构造请求 并将星数的字段值改为0
二星难度闯关
访问不同人的购物车
打开F12调试模式 --> network --> 点击购物车 -->分析uri为 get请求(http://hacker.youngblog.cc/rest/basket/8) -->
发现传入参数为8 --> 在Appliction中查找值为8的字段 --> Storage --> Session Storage --> bid=8 -->更改bid为其他值(相近的值)-->
刷新浏览器或者开启disable cache 选项 --> 再次发送请求 传入参数会改变 即可访问到不同人的购物车
Deprecated Interface(使用废弃的B2B接口,文件上传)
// 同一星难度 路由文件已经显示
http://hacker.youngblog.cc/#/complain 中有上传文件相关漏洞, 在main js
使用admin账号登陆
1.在登陆页面使用单引号注入 '
2.打开调试工具 查看 http://hacker.youngblog.cc/rest/user/login 会返回报错数据,并打印出查询sql
sql: "SELECT * FROM Users WHERE email = ''1=1' AND password = '8626fe7dcd8d412a80d0b3f0e36afd4a'"
3.分析思路 使用admin@juice-sh.op'-- 账户进行登陆 输入任何密码 (--为sql注释符,原来sql就会转换为SELECT * FROM Users WHERE email =admin@juice-sh.op)会正常查询后返回 可以直接登陆
4.使用 ' or 1=1-- 进行登陆 (为官方使用手册,未能搞清楚是啥意思)
5.对于登陆存在问题 不清楚sql 可百度 mysql万能密码