0x01 前言
继续上一篇的内容,往下闯关。想了解如何搭建的同学可参考第一篇文章。
看第一篇:黑客游戏 Owasp juice shop (一)
0x02 玩耍
第二十三关:Product Tampering
要求修改O-Saft商品的描述
这题参考第十八关XSS Tier 3,通过put方法修改0-Saft的商品描述
1.先找到该商品的id。
2.通过PUT修改该商品的描述,如下图。
注意必须增加Content-Type该值必须设为application/json(之前会崩溃就是因为没设置这个值)。
第二十四关:Vulnerable Library
要求告知商店正在使用的易受攻击的库。(请在评论中提及确切的库名称和版本)。
发现网站开发使用了sanitize-html 1.4.2版本,该版本存在漏洞
在http://192.168.239.128:3000/#/contact,处填写 sanitize-html 1.4.2即可过关。
第二十五关:Easter Egg Tier 1
要求寻找隐藏的复活节彩蛋(easter egg)
这个彩蛋藏在ftp目录处。
采用截断的方式下载该文件,抓包可看到一串base64编码。
解开得:
访问/gur/qrif/ner/fb/shaal/gurl/uvq/na/rnfgre/rtt/jvguva/gur/rnfgre/rtt即可过关。
第二十六关:Eye Candy
要求回到网页设计的黄金时代。
开启JavaScript console 输入命令
document.getElementById("theme").setAttribute("href","css/geo-bootstrap/swatch/bootstrap.css");
即可过关, 这是看官方说明做的, 没明白这里的考点是什么。
第二十七关:Upload Size
要求使上传超过100kB的文件。
登入后在http://192.168.239.128:3000/#/complain处又上传功能,上传文件只允许为pdf且大小不能超过100kB。
选择一个不大于100kB的pdf,上传,抓包增加内容使其大于100kB(不要超过200kB会报错)。
第二十八关:Upload Type
要求上传非pdf的文件
这题也很简单,上传一个pdf抓包修改上传文件的类型即可。
第二十九关:Login Bjoern
要求使用 Bjoern 的用户帐户登录, 而不更改他的密码、应用 SQL 注入或黑客他的 Google 帐户。
使用sql注入可得到加密后的密码,但破解不出,小编跑了好久都没破解出来,最后审计源码发现下图。
官方说明是说会使用账号的base64编码作为密码,但是小编找不到官方中说的那个文件,最后是找到这个验证过关的条件。
第三十关:Reset Bender's Password
要求使用忘记密码功能重置Bender的密码。
从之前的关卡可知这里又是社工问题。
可知他在金属加工厂工作。制造suicide booth(这个不知是啥)
然后搜索suicide booth。
可知 Stop'n'Drop是这个行业中重要的一个品牌。猜测bender在这家公司工作。提交安全问题答案为Stop'n'Drop 过关。
第三十一关:NoSQL Injection Tier 1
要求让服务器休眠一段时间。
这题看题目很明确就是用nosql注入,使用sleep 函数。
在http://192.168.239.128:3000/rest/product/3/reviews 中3处是nosql查询使用是参数。构造sleep(1000),使其睡眠即可过关。
第三十二关:NoSQL Injection Tier 2
要求同时更新多个产品评论。
通过PATCH方法提交
{ "id": { "$ne": -1 }, "message": "NoSQL Injection!" }
注意点这里需要登入后,并且获取Authorization的值,在PATCH操作的时候加上这个值,最后一定要在头部加Content-Type: application/json。
0x03 To be continued
越做到后面越有意思,但是有些点确实不容易get到,希望各位小伙伴有不同看法、想法的多交流。有些知识点学习的不深,请大佬们指点。
参考链接:
https://github.com/bkimminich/pwning-juice-shop/blob/master/part2/README.md