【juice-shop靶场挑战】二星挑战
简述及环境说明
本篇是juice-shop靶场的二星挑战。靶机为kali_linux,攻击机为Windows11,靶场是目前最新版19.1.1,使用docker搭建。也由于是基于docker,有的挑战在docker环境下不兼容导致打不了,这些做不了的挑战这里就不演示了。详细配置内容和环境搭建可见专栏《juice-shop靶场挑战》的靶场搭建篇。
挑战内容
Reflected XSS
docker环境中做不了,跳过。
Exposed credentials
一名开发人员在客户端对一个测试账户的未使用但仍然有效的凭证进行了硬编码,这显得有些粗心。
在main.js文件中搜索“test”,可以搜到一个测试账号的用户名和密码,直接使用账号密码登录。

登录成功后,挑战即算完成。


Login Admin
使用管理员用户帐户登录。
目前不知道管理员的密码,所以只能使用sql注入的方式登录。
在登录页面的账号栏中输入sql注入payload,limit指定了返回的第一条数据,因为第一条是管理员的账号,所以登录的是管理员的账号,要是想登录其他账号,改limit后面参数的第一个数字即可。密码随便输,然后登录。
1' or 1=1 limit 0,1 --

成功登录账号后,挑战随即完成。


Admin Section
访问商店的管理页面。
在main.js文件中搜索“admin”,可以搜到一条名为“administration”的路径。

在登录了admin账号的情况下,直接拼接访问该链接,进入管理页面,挑战随即完成。


Password Strength
使用管理员的用户凭据登录,但不事先更改凭据或使用SQL注入。
前面我们通过sql注入登录了admin账号,拿到了对应的token,这次我们需要通过通过token来找到真正的密码。
在登录了admin账号的情况下,使用浏览器的开发者工具,在存储中找到账号对应的token值。

将token复制到在线的解析网站jwt.io,可以看到密码是一串MD5值。

再将MD5值复制到在线的MD5查询网站www.cmd5.com,可以查到是弱密码admin123。

使用admin账号和密码登录。

登录成功后,挑战完成。


View Basket
查看其他用户的购物车。
先在主页随便添加一个商品到购物车。

在burp的HTTP历史中能找到url为“/rest/basket/1”的数据包,返回的是目前我们购物篮中的商品,将这个包发送到重放模块。

将url最后的数字改成其他的,之前1代表我们自己的购物篮id,改为2即可查看到其他用户的购物篮内容,挑战随即完成。


Deprecated Interface
使用已废弃但未正常关闭的B2B接口。
点击左上角三条横杠,打开侧边菜单,进入投诉页面。

使用开发者模式在网页源码中搜索“B2B”,可以找到上传文件功能的描述,只允许上传pdf和zip文件,但文字中又提到了XML B2B。

直接上传一个xml文件,文件内容无所谓,只要是xml后缀的文件即可。

上传成功了,同时挑战完成。


Empty User Registration
用空的电子邮件和密码注册一个用户。
在注册页面填写注册信息,在打开burp拦截后提交请求。

在burp拦截下的请求包中,将邮箱、密码和确认密码的值都删掉,让它们置空,再放包。返回包虽然显示出错了,但其实账号是注册成功了的。

我们可以前往管理页面查看有哪些用户,在随后一个位置可以看到一个所有内容都是空的用户,说明空邮箱和空密码账号其实是创建成功了的。这样该挑战就算完成了。


Five-Star Feedback
删除所有5星客户反馈。
登录admin账号,前往管理页面,可以在右侧看到所有的用户反馈,五星只有一个,把它删除即可完成挑战。


Login MC SafeSearch
使用MC SafeSearch的原始用户凭据登录而不使用 SQL 注入或任何其他绕过方法。
密码来源于YouTobe一个音乐视频,其中提到使用了他的宠物的名字“Mr. Noodles”,并将字母“o”替换成数字“0”来作为密码。
所以我们这里就可以直接登录这个账号了,账号为“mc.safesearch@juice-sh.op”,密码是“Mr. N00dles”。

成功登录后挑战就算完成。


Meta Geo Stalking
通过查看他上传到照片墙的照片来确定John安全问题的答案并通过忘记密码机制重置他的密码。
先在忘记密码页面输入对应账号,查看一下安全问题,问题是“最喜欢去散步的地方”。

到照片墙查看,涉及最喜欢的散步地点的照片是图中这张,先将它保存下来。

使用在线的EXIF查看器,可以看到图片拍摄时的GPS定位“36 deg 57' 31.38" N, 84 deg 20' 53.58" W”。

对于这个经纬度,直接问问AI是哪里,得到的位置是丹尼尔·布恩国家森林(Daniel Boone National Forest),不出意外的话这就是安全问题的答案了。

回到忘记密码页面输入安全问题的答案“Daniel Boone National Forest”,修改密码。

密码修改成功,挑战完成。


NFT Takeover
貌似要下软件才能做,国内还不让下载,这题做不了,跳过。
Security Policy
开始行动之前任何行为都应该像"白帽"一样。
像白帽一样,指的是开始渗透前先查看一下注意事项之类的。爆破得网站根目录下有一个security.txt文件,直接访问一下这个文件就能完成这个挑战。


Visual Geo Stalking
通过查看她上传到照片墙的照片来确定Emma安全问题的答案并通过忘记密码机制重置他的密码。
一样先前往忘记密码页面查看一下安全问题,是“成年后第一次工作的公司”。

照片墙里找一下,是图中这张,同样先保存下来。

把图片放大查看,发现在图中建筑的二楼左边窗户中,隐约能看到名字“ITsec”,这应该就是安全问题的答案了。

回到忘记密码页面,填入答案“ITsec”,修改密码。

密码修改成功,本挑战完成。


Weird Crypto
联系商店有关它绝对不应该使用的算法或库。
其实就是提交一些靶场还在使用但是已经不安全的加密算法。目前只在上面获取admin账号密码的时候接触到MD5加密,因为加密时没有加盐,我们可以通过彩虹表碰撞查到原密码,所以这是不安全的。
点击左上角三条横杠打开侧边菜单,进入客户反馈页面。

提交md5、base64、base85、hashid、z85都可以,其他的加密在之后的挑战中会遇到。


写在最后
这篇是juice-shop的二星挑战的内容,后续会更新其他星级的挑战,感兴趣的师傅可以前往专栏《juice-shop靶场挑战》查看。











