docker pull bkimminich/juice-shop
docker run --rm -p 3000:3000 bkimminich/juice-shop
需要挖掘的漏洞内容 寻找记分牌 :: Pwning OWASP Juice Shop (owasp-juice.shop)
访问ip:3000,打开后先注册一个用户,否则功能无法操纵。
前记:
这个靶场的难点在于,只给出问题,范围在整个系统,需要去找题的答案在哪个功能上。
injection
Login Admin
标题要求通过SQL注入找到admin的账号暗码。
在登录页面,输入单引号' 任意输入暗码,点击login
发现报错显示了SQL语句,说明email输入框存在SQL注入漏洞。
可以闭合单引号采用or注入。账号输入框输入' or '1'='1' -- 暗码任意输入点击login 提示成功
可以看到admin的邮箱为 admin@juice-sh.op
参考答案:
Login Bender
Log in with Bender’s user account. 标题要求利用Bender登录
账号:bender@juice-sh.op'-- 暗码任意输入,登录解决。
Broken Authentication 身份验证制止
Bjoern's Favorite Pet ⭐⭐⭐
Reset the password of Bjoern's OWASP account via the Forgot Password mechanism with the original answer to his security question
通过忘记暗码机制重置 Bjoern 的 OWASP 帐户的暗码 许多网站注册都利用安全问题作为两个暗码 检索/重置和登录验证。有些人也问同样的问题 用户拨打电话时的安全问题。安全问题 是验证用户和制止未经授权的访问的一种方法。但 安全问题存在问题。网站大概利用较差 大概产生负面效果的安全问题: 用户无法正确记着答案或答案已更改, 该问题对用户不起作用,该问题不安全且 大概会被其他人发现或猜测。我们必须利用 好问题。良好的安全问题符合五个标准。答案 一个好的安全问题是:
Request a hidden resource on server through server.
This Server-side Request Forgery challenge will come back to the malware you used in Infect the server with juicy malware by abusing arbitrary command execution.
Using whatever you find inside the malware directly will not do you any good.
For this to count as an SSRF attack you need to make the Juice Shop server attack itself.
Do not try to find the source code for the malware on GitHub. Take it apart with classic reverse-engineering techniques instead.
In a Server-Side Request Forgery (SSRF) attack, the attacker can abuse functionality on the server to read or update internal resources. The attacker can supply or a modify a URL which the code running on the server will read or submit data to, and by carefully selecting the URLs, the attacker may be able to read server configuration such as AWS metadata, connect to internal services like http enabled databases or perform post requests towards internal services which are not intended to be exposed. [3] GDPR Data Erasure
通过从蜜蜂天国收集 BEE 来铸造 Honey Pot NFT。
Missing Encoding⭐
photo-wall有一个小猫图片未显示,查看元素,可以看到src地址,在新标签页打开,
发现传给服务器的url变为如下,导致图片未显示。因为#号被浏览器表明了are interpreted by your browser as HTML anchors 所以需要将#编码为%23 即可显示图片
http://10.100.33.10:3000/assets/public/images/uploads/%F0%9F%98%BC-
Bypass a security control with a Poison Null Byte to access a file not meant for your eyes.
"oison Null Byte" 是一个与网络安全相关的术语。在网络安全范畴,特权提拔攻击(Privilege Escalation Attack)是一种攻击手段,其中攻击者试图获取比他们当前权限更高的权限。在某些环境下,攻击者大概会实验利用某些软件或协议中的漏洞,通过插入特殊字符(如NULL字节)来操纵程序的行为,从而执行恶意代码或获得更高的权限。
"oison Null Byte" 这个术语通常是指攻击者利用NULL字节作为攻击的一部分,通过插入NULL字节来操纵程序的行为。比方,在某些编程语言中,字符串是以NULL字节竣事的。攻击者大概会实验在字符串中插入一个NULL字节,以实验操纵程序的行为或执行恶意代码。
为了防止这种攻击,开辟人员应该确保他们的软件和协议能够正确处理NULL字节和其他特殊字符,并接纳其他安全措施来防止特权提拔攻击。
By embedding NULL Bytes/characters into applications that do not handle postfix NULL terminators properly, an attacker can exploit a system using techniques such as Local File Inclusion. The Poison Null Byte exploit takes advantage strings with a known length that can contain null bytes, and whether or not the API being attacked uses null terminated strings. By placing a NULL byte in the string at a certain byte, the string will terminate at that point, nulling the rest of the string, such as a file extension
分析和篡改应用程序中的链接,直到您获取 未受保护的目录列表。
其中的某些文件无法直接访问,因为安全 机制制止访问。
Poison Null Byte 可以诱使安全机制思考 所需的文件具有有效的文件类型。 trick the security mechanism into thinking that the file you want has a valid file type.
http://localhost:3000/file-upload 利用 包罗超过 100 kB 的 PDF 文件的 form 参数 但小于 200 kB。POSTfile
来自服务器的响应将是一个没有内容的响应,但 挑衅将得到成功解决。204
大于 200 kB 的文件将被服务器上的上传大小检查拒绝 一方有错误指出 .500Error: File too large
Zero Stars ⭐
Give a devastating zero-star feedback to the store.
您大概已经意识到无法提交客户 在“接洽我们”屏幕上提供反馈,直到您输入品评和 从 1 到 5 中选择星级。这个挑衅是关于欺骗 申请接受 0 星的反馈。
在customer feedback中抓取提交反馈的请求,然后修改rating为0,提交成功。
这一题同样是由于未举行后端校验,导致提交rating不符合计划。
豪华欺诈 ⭐⭐⭐
无需付费即可获得豪华会员资格,修改continue元素删除diabled属性,然后发送请求。
提示wallet钱不够,抓包,修改请求为空字符串,使后端不知道从哪里扣钱。
Broken Anti-Automation 反主动化失败
Web applications are subjected to unwanted automated usage — day in, day out. Often these events relate to misuse of inherent valid functionality, rather than the attempted exploitation of unmitigated vulnerabilities. Also, excessive misuse is commonly mistakenly reported as application denial-of-service (DoS) like HTTP-flooding, when in fact the DoS is a side-effect instead of the primary intent. Frequently these have sector-specific names. Most of these problems seen regularly by web application owners are not listed in any OWASP Top Ten or other top issue list. Furthermore, they are not enumerated or defined adequately in existing dictionaries. These factors have contributed to inadequate visibility, and an inconsistency in naming such threats, with a consequent lack of clarity in attempts to address the issues. [1]
web应用易受到意想不到的主动化程序干扰,这些变乱通常与固有无效组件错误利用有关。过分的错误利用通常会被错误的转达为DOS如HTTP-flooding,现实上DOS是副作用,而不是程序原始意图。通常这些问题没有被列在owasp top10或者其他top问题的列表。别的,它们没有被枚举 或在现有辞书中充实定义。这些因素具有 导致能见度不足,命名不划一 这些威胁,因此在解决这些威胁方面缺乏明确性 问题
CAPTCHA 绕过 ⭐⭐⭐
A race condition or race hazard is the behavior of an electronics, software, or other system where the output is dependent on the sequence or timing of other uncontrollable events. It becomes a bug when events do not happen in the order the programmer intended
重置 Morty 的暗码⭐⭐⭐⭐⭐