Google最近发布了一个被称之为Jarlsberg的项目,其目的是帮助网站管理员和网络应用爱好者了解和学习Web应用程序攻击与防范技术。很多时候黑客(hacker)针对各种网络应用的漏洞进行攻击,而这些攻击方式对于普通的网络用户几乎是感觉不到的,即便是有一些网络经验的爱好者和程序开发者也不一定能窥得全貌,笔者在网络安全方面几乎就是一个小白,前段时间朋友使用dede做的站点就被人攻陷,并在网站所有页面中植入弹出页面和黒链让笔者头痛不已。。。,虽然知道对手使用的是SQL注入方式的攻击,但究竟如何攻击,如何找到漏洞的笔者也不甚清楚。
和笔者一样,很多人都想知道黑客是如何攻击并进入到系统的,为了帮助他们,Google创建了一个特殊的名为Jarlsberg 的实验室,其中的应用程序满是安全漏洞,开发者可以利用它以实践的方式学习到潜在的漏洞是什么样的,恶意用户是如何利用这些漏洞的,以及如何做才能免受攻击。
这个实验室是围绕安全漏洞的不同类型来组织的,对于每个漏洞,都有找寻和攻击漏洞的任务可供完成。 该实验室使用了下列三种主要的技术:
- 黑盒:用户看不到应用程序的源代码,因此他们需要猜测服务器工作的方式,从而设法利用安全漏洞。
- 白盒:以开源应用的形式提供了源代码(Python)。 用户可以阅读代码,从而找到弱点所在。
- 灰盒:实验室会给出一些应用程序是如何编写的提示,但不会让用户看到完整的源代码。
Google Jarlsberg特意使用了大量特性,以扩大应用程序的攻击面。
- 代码片段中的HTML: 用户可以在代码片段中包含特定的HTML代码。
- 文件上载: 用户可以向服务器上载文件,例如,在他们的代码片断中包含图片。
- Web形式的管理: 系统管理员可以使用web界面来管理系统。
- 新建账号: 用户可以创建属于自己的账号。
- 模板语言: Jarlsberg模板语言(JTL)是种新语言,它使得开发者可以更容易地编写网页,作为直接与数据库连接的模板。 你可以在jarlsberg/jtl.py找到JTL的相关文档。
- AJAX: Jarlsberg使用AJAX来实现在主页和代码片断页中的刷新。 如果不需要特别关注AJAX内容,你可以忽略Jarlsberg中的AJAX部分。
在Google Jarlsberg中,你可以找到、利用并最终修复以下安全漏洞:
- 跨站点脚本攻击(XSS)
- 跨站点伪造请求攻击(XSRF)
- 跨站点包含脚本攻击(CSSI)
- 客户端状态操控攻击
- 路径模式发掘攻击
- 拒绝服务攻击(DoS)
- 执行代码攻击
- 配置漏洞
- AJAX漏洞攻击
Google Jarlsberg项目地址:
Google Jarlsberg
你可以在本地运行该实验室,以在整个学习过程中完全掌控该实验室;或者也可以在Google的云中作为沙盒实例运行。 该实验室大部分是基于Creative Commons Attribution 3.0协议发布的,但也有一部分是基于Creative Commons Attribution-No Derivative Works 3.0协议发布的,这使得对于大学培训学生或者公司培训员工,让他们理解并保护他们系统免受安全漏洞影响都是很理想的。
摘自:infoq
[ad#468-60]