很多人都想知道黑客是如何攻击并进入到系统的,为了帮助他们,Google 创建了一个特殊的名为 Jarlsberg 的实验室,其中的应用程序满是安全漏洞,开发者可以利用它以实践的方式学习到潜在的漏洞是什么样的,恶意用户是如何利用这些漏洞的,以及如何做才能免受攻击。
这个实验室是围绕安全漏洞的不同类型来组织的,对于每个漏洞,都有找寻和攻击漏洞的任务可供完成。 该实验室使用了下列三种主要的技术:
- 黑盒:用户看不到应用程序的源代码,因此他们需要猜测服务器工作的方式,从而设法利用安全漏洞。
- 白盒:以开源应用的形式提供了源代码(Python)。 用户可以阅读代码,从而找到弱点所在。
- 灰盒:实验室会给出一些应用程序是如何编写的提示,但不会让用户看到完整的源代码。
Jarlsberg 特意使用了大量特性,以扩大应用程序的攻击面。
- 代码片段中的 HTML: 用户可以在代码片段中包含特定的 HTML 代码。
- 文件上载: 用户可以向服务器上载文件,例如,在他们的代码片断中包含图片。
- Web 形式的管理: 系统管理员可以使用 web 界面来管理系统。
- 新建账号: 用户可以创建属于自己的账号。
- 模板语言: Jarlsberg 模板语言(JTL)是种新语言,它使得开发者可以更容易地编写网页,作为直接与数据库连接的模板。 你可以在
<a href="http://jarlsberg.appspot.com/code/?jtl.py">jarlsberg/jtl.py</a>
找到 JTL 的相关文档。- AJAX: Jarlsberg 使用 AJAX 来实现在主页和代码片断页中的刷新。 如果不需要特别关注 AJAX 内容,你可以忽略 Jarlsberg 中的 AJAX 部分。
在 Jarlsberg 中,你可以找到、利用并最终修复以下安全漏洞:
- 跨站点脚本攻击(XSS)
- 跨站点伪造请求攻击(XSRF)
- 跨站点包含脚本攻击(CSSI)
- 客户端状态操控攻击
- 路径模式发掘攻击
- 拒绝服务攻击(DoS)
- 执行代码攻击
- 配置漏洞
- AJAX 漏洞攻击
你可以在本地运行该实验室,以在整个学习过程中完全掌控该实验室;或者也可以在 Google 的云中作为沙盒实例运行。 该实验室大部分是基于 Creative Commons Attribution 3.0 协议发布的,但也有一部分是基于 Creative Commons Attribution-No Derivative Works 3.0 协议发布的,这使得对于大学培训学生或者公司培训员工,让他们理解并保护他们系统免受安全漏洞影响都是很理想的。
查看原文: Learning About Security Vulnerabilities by Hacking Google’s Jarlsberg
评论