文档章节

用 Webgoat 撬动地球,看安全测试的引路石!

OneAPM蓝海讯通
 OneAPM蓝海讯通
发布于 2016/01/19 11:26
字数 1931
阅读 24
收藏 0

测试工程师是很多人迈进软件行业的起点。从负责很小的局部到把握整个产品的质量,每个人花费的时间长短不一——从功能到性能、可用性到容错性、从兼容性到扩展性、稳定性到健壮性……方方面面逐渐做广做深。

不过,大家逐渐发现,质量这条路的上升空间有层天花板,如果仅限于上面列举的内容但不够深入,固守着手工或半自动测试,则很难突破。很多处于这种状态的人会选择转型,去做产品经理、质量管理、配置管理等方向,甚至去做开发工作,以期获得更大的升职加薪空间。其实,测试的所谓出路未必,也绝不止上面种种,例如我在很多论坛上见到的各路性能优化大师们,在性能测试的方向上做得足够精深,是很受青睐和赏识的,收入自然也是丰厚的。而另一个方向,也是我今天要重点介绍的,则是安全测试。

如果说性能是伴随着互联网起步和电商等在线业务的爆发而崛起的刚性需求,那么安全则是在线业务成熟并进化路上欠下的最大债务,亟待解决。每天都有各式各样的网络欺诈、诱骗、盗窃,安全的互联网生活难道不应该成为每个网民的最低需求么?因此,市场决定了安全测试是一片蓝海,大有前途。

相信很多测试工程师和我有过同样的迷茫,想做自动化、想做性能、想做安全……但是入道无门。一方面企业在安全测试方面投入较少,除非进入圈内的企业,否则难以找到学习和积累的机会;另一方面可能是感觉安全测试有一定门槛,身边又没有资深的人给予指点,在繁重的测试工作压力下作罢。我时常庆幸这个时代入行的人,因为这个时代知识无所不在,只要利用好两样东西——一个是网络,而搜索引擎就是最好的导师;另一个则是圈子,多在业余参加论坛活动和技术分享会议,会很容易结识圈内的朋友,而这些技术大拿是乐于分享他们的经验和学习技巧的。

本人有幸加入了一款安全产品的初创团队,开始了安全测试的学习和摸索,正是源自一次技术分享活动。这个团队聘请了数位圈内资深的安全专家做顾问,在他们的指点下,我先了解了简单的网络攻防的概念和 OWASP 组织收集并整理的 TOP 10 安全漏洞,并复习了 Http 协议,以便于理解各种漏洞和攻击的原理。接下来,我便认识了一个词—— WebGoat。

用 Webgoat 撬动地球,看安全测试的引路石!

这是一款由 OWASP 组织研发的开源安全测试和教学 web 应用,顾名思义,她包含所有最重要的安全漏洞,如 SQL 注入和 XSS 跨站脚本攻击等,每个漏洞类型作为一堂课程免费提供给所有人学习、尝试,如代罪羔羊一样任由人们折腾。她还提供提示和解决方案,以帮助同学们理解并收获成功的喜悦。下图就是 Webgoat 的主界面。

用 Webgoat 撬动地球,看安全测试的引路石!

可以看到,左侧是课程的列表,以安全漏洞的首字母排序;右侧是对应的课程内容,包括:

  1. 对攻击的描述和对漏洞成因的分析
  2. 对漏洞的影响和后果的分析
  3. 对漏洞的防护方式
  4. 一个可以尝试的带漏洞的应用环境,攻击的目标说明,提示、最终解决方案以及 Java 源码。

下图是成功达成攻击目的后的课程页面:

看到这个形象且略带刺激的画面,你是否开始对直觉中冰冷黑暗的安全测试有了兴趣呢?通过这样的学习和尝试,有基础的测试人员可以很快掌握基本的渗透测试手段,以作为进一步学习的基础。

需要注意的是,使用 WebGoat 学习有以下要求:

  1. WebGoat 暂时似乎只有英文版,可见软件这一行缺不了基本的语言能力的;
  2. 部分课程需要使用源码自己编译再部署才能学习,这要求会基本的编译;
  3. 相当一部分课程需要使用 http 代理工具配合完成,需要对代理工具的原理有基本的理解,并且熟悉浏览器的代理配置;
  4. 由于很多漏洞是真对数据的窃取和篡改,所以要具备基础的数据库知识;

此外,利用好浏览器提供的 debug 工具也是提高学习效率的捷径。如在 Chrome 里打开开发者工具抓取网络请求和响应并分析其请求 header 和 body,可以更真实地看到网络应用是如何被攻击的。

说到这里,不能不提一下我们所做的安全产品—— OneRASP 。或许你们想象不到,这款产品在我学习使用 WebGoat 的过程中还发挥了不小的作用呢!RASP 即运行时应用自我保护,属于主动安全防护的概念,理解起来或许比较抽象。那么,到底 OneRASP 能怎样帮到学习安全测试的我们呢?

原来,WebGoat 固然提供了每种漏洞的攻击方法,并把效果展现了出来,但是攻击发生的具体位置还是看不到的。如前面的示例,数字类型的 SQL 注入可以使所有城市的天气信息一览无遗,那么具体是在源码的什么位置泄漏出去的呢?WebGoat 无法告诉我们,但是 OneRASP 可以——因为我们开发的安全探针可以植入 WebGoat 所在的容器 Tomcat,并在恶意请求访问数据库时发现并上报到可视化的 Web 控制台,使得攻击的手段和位置信息也一览无遗!如下图所示:

用 Webgoat 撬动地球,看安全测试的引路石! 用 Webgoat 撬动地球,看安全测试的引路石!

可见,OneRASP可以帮助我们理解攻击发生时的很多细节,并且可以定位到源代码的具体文件和具体行上。当然,这款产品的真正目的是帮助企业在不必立刻修复漏洞的情况下实现安全生产,用在学习上则是有点大材小用了,但毕竟锦上添花,何乐不为呢?

本文系 OneASP 质量架构工程师王新泉原创文章。如今,多样化的攻击手段层出不穷,传统安全解决方案越来越难以应对网络安全攻击。OneRASP 实时应用自我保护技术,可以为软件产品提供精准的实时保护,使其免受漏洞所累。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

© 著作权归作者所有

OneAPM蓝海讯通
粉丝 94
博文 631
码字总数 1266889
作品 0
海淀
私信 提问
你的 Docker 应用是安全的吗?

近一年来,Docker 已经逐渐成为 container 界的事实标准,成为技术人员不可或缺的技能之一,就像 Docker 宣称的那样,「Build,Ship,and Run Any App,Anywhere」,容器极大简化了环境部署的...

OneAPM蓝海讯通
2016/01/21
19
0
WebGoat SQL注入之 Order by注入解题思路

版权声明:本文为 Abracadabra(爱博客大伯) 原创文章,转载请注明作者及链接,请勿用于任何商业用途。 https://blog.csdn.net/u013553529/article/details/82765062 ★ WebGoat 8.0 下载地址...

爱博客大伯
2018/09/18
0
0
如何从代码层防御10大安全威胁中的 Xpath Injection?

普遍性和可检测性: Xpath 注入是 OWASP TOP10 安全威胁中 A1 Injection 中的一种,注入漏洞发生在应用程序将不可信的数据发送到解释器时。虽然注入漏洞很容易通过审查代码发现,但是却不容易...

OneAPM蓝海讯通
2016/01/05
14
0
WebGoat SQL注入解题思路

版权声明:本文为 Abracadabra(爱博客大伯) 原创文章,转载请注明作者及链接,请勿用于任何商业用途。 https://blog.csdn.net/u013553529/article/details/82794542 WebGoat SQL注入解题思路...

爱博客大伯
2018/09/20
0
0
WebGoat 8.0 XXE注入 解题思路

版权声明:本文为 Abracadabra(爱博客大伯) 原创文章,转载请注明作者及链接,请勿用于任何商业用途。 https://blog.csdn.net/u013553529/article/details/82795037 WebGoat 8.0 XXE注入 解题...

爱博客大伯
2018/09/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java中垃圾回收的方法有哪些?

引数计数法 应用于:微软的COM/ActionScrip3/Python等 对象没有被引用就会被回收,缺点是需要维护一个引用计算器 复制算法 年轻代中使用的Minor GC。 a.效率高,缺点:需要内存容量大,比较耗...

DustinChan
37分钟前
4
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
39分钟前
6
0
初识Java

Java语言的优势: 1、跨平台(所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。主要是由jvm所决定) 2.、面向对象(用老师的一句话“一切皆对象”后面会用详细...

Carina_猪
昨天
5
0
Java描述设计模式(09):装饰模式

本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景 1、场景描述 孙悟空有七十二般变化,他的每一种变化都给他带来一种附加的本领。他变成鱼儿时,就可以到水里游泳;他变成鸟儿时,就...

知了一笑
昨天
4
0
聊聊nacos的HttpHealthCheckProcessor

序 本文主要研究一下nacos的HttpHealthCheckProcessor HealthCheckProcessor nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/healthcheck/HealthCheckProcessor.java public in......

go4it
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部