OWASP JUICE SHOP部分题解
本文作者:S0u1
0×00 简介
OWASP JUICE SHOP是一个开源的web应用靶场,里面包含了共记47个漏洞挑战任务,囊括了OWASP TOP 10的各个点,是一个很不错的渗透测试练手项目。0×01 环境搭建
我使用的测试环境为kali2+docker。 搭建过程如下: 1.安装docker(可自行百度kali安装docker教程) 2.下载https://github.com/bkimminich/juice-shop 3.运行docker pull bkimminich/juice-shop 4.运行docker run -d -p 3000:3000 bkimminich/juice-shop 5.打开浏览器访问localhost:3000即可看到JUICE SHOP页面(也可以在本机上访问虚拟机的ip地址加上端口号) 看到该页面即表示搭建成功:
0×02 开始玩耍
一开始进入这个页面,可能不知道要干啥。又不像DVWA那样对各个漏洞进行了分类提供选择。 这时候我们看一手页面源代码,就很舒服:


0×03
下面就开始写每一题的完成攻略了。大家可以先自己去尝试一下,有些题目我也还没做出来。大家一起努力,有些题目应该有很多种不同的思路可以完成。1.Error Handling
2.XSS Tier 1
根据题目的描述,是使用<script>alert("XSS1")</script>
这个payload来进行一次反射型XSS。
这边一眼就瞄到了搜索框,直接插语句试试,就成功了:

3.Login Admin
根据在Error Handling里看到的SQL语句,直接进行构造: SELECT * FROM Users WHERE email=” or 1=1 — AND password = ‘xxxxxx’; 所以在Email处直接输入’ or 1=1 –,密码处任意填写,即可成功登录。 到购物车里看看,可以看到登录的是admin用户:
4.Password Strength
这个要求我们在不通过预先更改密码或sql注入的方式登录到Admin账户,结合题目密码强度,猜测应该是弱口令问题。使用BP的inturder模块进行一下爆破。
5.Zero Stars
在Contact Us这个界面可以看到打星功能。这里在没有填内容和打星前是不能点击submit按钮的。不过这里只是前端校验,可以通过把它的disabled属性直接删除,来进行绕过。
6.Confidential Document
在About Us这个界面,可以看到有一个链接供我们点击:

7.Forgotten Sales Backup&&Forgotten Developer Backup
这题承接上一题,有一个coupons_2013.md.bak的文件和一个package.json.bak,直接访问会显示错误:Only .md and .pdf files are allowed!
8.Admin Section
这一题我是直接猜测路径,admin、administrator不行,administration成功访问到了:
9.Five-Star Feedback
这题得要做出上面一题才能做,页面的右边就是评价,登录到Admin账号把五星的全给删除就ok了。10.Basket Access
在点击Your Bakset前进行抓包,有一个包是这样的:GET /rest/basket/4 HTTP/1.1
Host: 192.168.200.129:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdGF0dXMiOiJzdWNjZXNzIiwiZGF0YSI6eyJpZCI6NywiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIiwicGFzc3dvcmQiOiI2OTVlYzk0NWMxMmQ2NzMxOTgyM2Q3ZDcxM2U5MjFhNSIsImNyZWF0ZWRBdCI6IjIwMTctMTEtMDIgMDY6MDE6MDEuMDAwICswMDowMCIsInVwZGF0ZWRBdCI6IjIwMTctMTEtMDIgMDY6MDE6MDEuMDAwICswMDowMCJ9LCJpYXQiOjE1MDk2MDI1MTQsImV4cCI6MTUwOTYyMDUxNH0.BCD9yWxs1viKSlL5j-nhtWqKCW_eovZ5hoSu3fhgUhA
Referer: http://192.168.200.129:3000/
Cookie: continueCode=mVOzpKQaWAD4HXuph6tecwIRiqfvSauEhWtyc3IvT4ieHVughgADEonejg6l; io=ENtxNgoEQGfvP05jAAAH; token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdGF0dXMiOiJzdWNjZXNzIiwiZGF0YSI6eyJpZCI6NywiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIiwicGFzc3dvcmQiOiI2OTVlYzk0NWMxMmQ2NzMxOTgyM2Q3ZDcxM2U5MjFhNSIsImNyZWF0ZWRBdCI6IjIwMTctMTEtMDIgMDY6MDE6MDEuMDAwICswMDowMCIsInVwZGF0ZWRBdCI6IjIwMTctMTEtMDIgMDY6MDE6MDEuMDAwICswMDowMCJ9LCJpYXQiOjE1MDk2MDI1MTQsImV4cCI6MTUwOTYyMDUxNH0.BCD9yWxs1viKSlL5j-nhtWqKCW_eovZ5hoSu3fhgUhA
Connection: close
If-None-Match: W/"99-9QdKEP5stGr2mvgcEwoFif7Oe9I"
GET请求的url:/rest/basket/4,这个4很让人在意啊。
把它修改成1或者其它的一些数字,就到达别人的购物车了。
11.Christmas Special
在商品列表中找不到有关Christmas Special的商品,考虑可能是sql语句中对于日期之类的做了限制。看看能不能用or 1=1之类的让它全部暴露出来。 在查询处进行抓包,虽然没有成功,但是暴露出了完整的sql语句:


0×03 To Be Continued…
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 总书记寄语新时代青年 7904268
- 2 许其亮遗体在京火化 7808860
- 3 班主任高考第一场就押中了大题 7713896
- 4 以旧换新国补资金如何抵达消费者 7617223
- 5 演员孙涛陪孩子高考 连说三个不容易 7521532
- 6 空调一开一关和一直开着哪个费电 7425664
- 7 TF三代登陆少年团疑全员放弃高考 7328223
- 8 高考历史有“文言文” 7237795
- 9 “韦神”的牙齿问题其实很多人都有 7142205
- 10 黄晓明新电影撤档 曾为此片增肥30斤 7045740