oliverklee / insecurity
由一些功能连接起来的包含大量安全漏洞的Web应用程序
Requires
- php: >= 7.2
- ext-json: *
- ext-mysqli: *
Requires (Dev)
- phpunit/phpunit: ^8.5.4
- squizlabs/php_codesniffer: ^3.5.5
This package is auto-updated.
Last update: 2024-08-29 04:43:06 UTC
README
这究竟是怎么回事?
该项目是一个由一些功能连接起来的包含大量安全漏洞的Web应用程序。
该项目被创建为一个PHP Web安全研讨会教育资源。你可以以多种方式使用它
- 向参与者展示漏洞及其修复方法
- 让参与者寻找漏洞
- 让参与者修复漏洞
警告
永远不要将此项目部署到任何可以公开访问的Web服务器上。你的服务器将会被黑。
如何使用此项目进行学习
为了学习尽可能多的知识(例如,在Web应用程序安全研讨会中),我建议你按照以下顺序进行练习
-
安装应用程序并尝试在不阅读代码和不使用任何自动漏洞扫描工具的情况下找到尽可能多的漏洞。只需使用应用程序前端(未登录,然后使用
user
登录和admin
登录)。使用浏览器插件来帮助您操作请求和读取网站源代码。 -
通过阅读代码尝试找到更多的漏洞。
-
通过使用自动漏洞扫描工具尝试找到更多的漏洞。
-
将你在前两步中找到的漏洞列表与
solutions
分支中可用的列表进行比较。 -
修复漏洞。
安装
- 安装Vagrant并运行
vagrant up
。 vagrant ssh
cd /var/www/
composer install
- 从虚拟机中注销。
- 你现在可以访问你的不安全网站:http://192.168.33.10/。
- 你可以用
admin@example.com / 12345678
或user@example.com / asdfqwer
登录。
重置数据库
在运行vagrant up
时,数据库及其内容将自动创建。
如果你需要从头开始重新构建数据库,请按照以下步骤操作
vagrant ssh
sh /var/www/db/setup-database.sh
- 从虚拟机中注销。
漏洞列表
在solutions
分支的Vulnerabilities.md
文件中有漏洞列表(以免你在找到漏洞之前意外看到解决方案)。
关于我(Oliver Klee)
我曾是我是TYPO3安全团队的一员,也是PHPUnit TYPO3扩展的维护者,该扩展可在TYPO3扩展库(TER)中找到。
您可以在您的公司预订我的研讨会。
我还经常在TYPO3开发者日举办研讨会。
贡献
以修复漏洞、更多漏洞或以pull请求形式进行的清理方式做出的贡献总是受欢迎的。
请勿报告任何安全漏洞,也请勿提交包含安全修复的pull请求 - 您没有抓住重点。
许可证
应用程序许可协议为Gnu公共许可(GPL)V3。
包含的Twitter Bootstrap和jQuery许可协议为MIT许可(MIT)。