漏洞 | 编程语言 | 运行易受攻击的代码片段 | 安装 | 更新
YesWeHack 提供了包含多种不同漏洞的代码片段,让你能在安全的 Docker 化环境中练习代码分析。这些易受攻击的代码片段适合所有技能水平。
~ 每周五在 Twitter @yeswehack 上发布新的易受攻击的代码片段!🗒
如果你想看到一些特别的内容,或者你只是对易受攻击的代码片段有一个想法,欢迎创建一个「新建 Issue」来阐述你的想法,没有想法是愚蠢的。
⚠️ 请注意
请务必在安全的环境中运行这些代码,因为代码本身存在漏洞,仅供学习代码分析之用! 默认情况下,所有易受攻击的代码片段都包含一个 Docker 配置,可将代码与你的主机系统隔离,使其可以安全运行(更多信息请参阅“运行易受攻击的代码片段”一节)。
我们在 Twitter 上发布的所有易受攻击的代码片段合集 📂
| ID | 漏洞 | 描述 |
|---|---|---|
| 📜#1 | SQLi & XSS | 反斜杠过滤器冲突 |
| 📜#2 | 文件访问不当 & XSS | 无效字符和正则表达式验证 |
| 📜#3 | 日志伪造注入、路径遍历 & 代码注入 | 过滤器不佳以及不正确的 include() 处理 |
| 📜#4 | XSS | 无效的用户输入过滤器 |
| 📜#5 | SSRF & 失效的授权 | 信任用户输入以及来自请求头的客户端 IP |
| 📜#6 | SSTI | 混合输入格式 |
| 📜#7 | SQLi | 在语句中使用无效变量 |
| 📜#8 | CSRF | 未包含 CSRF token |
| 📜#9 | 开放重定向 | 无效的正则表达式处理器 |
| 📜#10 | DOM XSS | 后端过滤器与客户端 JavaScript 冲突 |
| 📜#11 | CORS | 错误配置的 Access-Control-Allow 请求头 |
| 📜#12 | CSRF/点击劫持 | 通过不安全的删除流程实现的 GET 请求 CSRF / 点击劫持 - 在 HTML meta 标签中设置 X-Frame-Options |
| 📜#13 | 路径遍历/不受限制的文件上传 | 薄弱的路径遍历和文件上传防护导致代码注入 |
| 📜#14 | DOS | 'for 循环'中的运算符处理不正确 |
| 📜#15 | 忘记密码时脆弱的密码恢复机制 | 密码恢复使用弱哈希 |
| 📜#16 | IDOR | 不安全的 if 语句导致不适当的访问控制 |
| 📜#17 | 不安全的反序列化 | 在 pickle 函数 loads() 中执行受信任的用户输入 |
| 📜#18 | 路径遍历 | 对用户提供的文件名验证不当 |
| 📜#19 | 开放重定向 | 对用户可控输入 "location.hash" 的处理不当 |
| 📜#20 | SQL 注入 | 函数 replace() 的使用无效,字符仅被替换一次 |
| 📜#21 | PostMessage DOM XSS | 未验证 origin,导致 PostMessage DOM XSS |
| 📜#22 | XSS/开放重定向 | 过滤器防护并未过滤所有可用于利用漏洞的特殊字符 |
| 📜#23 | 缓冲区溢出 | 使用 gets() 函数接收用户的 STDIN 输入,且未检查缓冲区大小 |
| 📜#24 | SQL 注入 | 错误使用 PHP 函数 addslashes() |
| 📜#25 | XSS - CSP 绕过 | 未验证用户输入,同时 nonce 的处理不安全 |
| 📜#26 | 路径遍历 | PHP 函数 "preg_replace()" 提供的过滤器仅限于过滤前 10 个字符 |
| 📜#27 | Web 缓存投毒 | HTTP 请求头 Referer 未经过滤即被反射到缓存的响应体中 |
| 📜#28 | 业务逻辑漏洞 | 攻击者可以提取负金额来增加其账户的总余额 |
| 📜#29 | IDOR | 攻击者可以通过执行强制浏览攻击来获取其他用户的敏感数据 |
| 📜#30 | 不安全的反序列化 | 使用用户可控的危险函数 (exec),从而导致 RCE |
| 📜#31 | LFI | 没有进行适当的字符转义或过滤器验证。include() 函数会执行给定文件中的所有 PHP 代码,无论文件扩展名是什么,从而导致代码注入 |
| 📜#32 | 格式注入! | 对包含客户端提供值的字符串进行格式化,导致格式注入 |
| 📜#33 | SQL 注入 (二阶) | 除最后一个查询外,所有 SQL 查询都使用预编译语句。该语句从数据库中提取一个曾受用户控制的值,并将其添加到 SQL 查询中,从而导致 SQL 注入 (二阶) |
| 📜#34 | 正则表达式拒绝服务 (ReDoS) | 用于过滤用户输入的正则表达式模式配置不当 |
| 📜#35 | XSS | 信任 GET 参数中的用户输入 |
| 📜#36 | 不受限制的文件上传 | 对上传文件的扩展名验证不足,并且遗漏了对文件内容的验证 |
| 📜#37 | SSRF | 对代理头 X-Forwarded-Host 和 cURL 的不安全处理导致完整的 SSRF |
| 📜#38 | 代码注入 | 用户可以将自定义内容写入所选文件,然后在易受攻击的系统上启动该文件 |
| 📜#39 | LFI | 利用 LFI 可以运行工具 pearcmd,从而实现远程代码执行 |
| 📜#40 | 不受限制的文件上传 | 由于 Apache 代理中的配置,php3 扩展名可用于执行 php 代码。 |
| 📜#41 | 命令注入 | escapeshellcmd 的错误使用导致命令注入漏洞 |
| 📜#42 | 命令注入 | 未对用户输入进行验证,导致命令注入漏洞 |
| 📜#43 | SSTI | 模板引擎使用不当导致 SSTI,进而造成 RCE |