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

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

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

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

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

这是一款由 OWASP 组织研发的开源安全测试和教学 web 应用,顾名思义,她包含所有最重要的安全漏洞,如 SQL 注入和 XSS 跨站脚本攻击等,每个漏洞类型作为一堂课程免费提供给所有人学习、尝试,如代罪羔羊一样任由人们折腾。她还提供提示和解决方案,以帮助同学们理解并收获成功的喜悦。下图就是 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 控制台,使得攻击的手段和位置信息也一览无遗!如下图所示:


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

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

本文转自 OneAPM 官方博客

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

  1. 《国度》之大学者联盟找到了那个撬动地球的支点

    有很多人问我<国度>写了什么? 我说,这本书写的是我的志向,我的梦想,我的一个创业想法,我想要打造一个让人可以放心去相信,有乐趣,有意义,能依靠的平台,我给它取名为大学者联盟.它的基本组成 ...

  2. 给我一个兴趣点,我就能撬动一个行业

    给我一个兴趣点,我就能撬动一个行业 兴趣是什么?据百度百科解释:兴趣指 兴致,对事物喜好或关切的情绪.心理学人们力求认识某种事物和从事某项活动的意识倾向.它表现为人们对某件事物.某项活动的选择性态度和 ...

  3. 看头部DTC家纺品牌Casper如何通过网红营销撬动百亿美元大市场(上篇)。

    失眠问题已成为困扰许多现代人的重要问题,这进一步加剧了"睡眠经济"的快速增长.在美国,整个床垫市场规模已达 140 亿美元,市场潜力可 见一斑.但令人意想不到的是,作为全球最大床垫 ...

  4. 区块链再度走入沉寂期,下一个撬动行业的支点会在哪里?

    9 月 22 日,Odaily星球日报"链接O-link城市峰会·深圳站"圆满举办.本次活动吸引到了 OKEx.算力地球.Clipper.BitUniverse.Qtum量子链等多 ...

  5. “千亿市值”巨无霸的膨胀 腾讯靠什么撬动下一个1000亿美金?

    3月26日,阿里巴巴再投下一颗重磅×××--"娱乐宝".许多圈里人不禁要问:从百度"众筹平台"到阿里"娱乐宝",BAT纷纷玩娱乐为哪般?BA ...

  6. 乂学栗浩洋:教育版AlphaGo打破垄断,撬动2000亿在线教育市场

    栗浩洋:很高兴能够在新智元的平台和大家交流AI+教育这个话题.AI现在基本是被图像识别和NLP垄断,但在2014年我们开始做这一行的时候,不但人工智能没有火,很多人还对我们提出了很大的质疑:人工智能是 ...

  7. 希望流程挖掘成为撬动企服市场的突破口 | 专访凡得科技CEO海广跃、首席技术顾问刘聪

    2022年,全球流程挖掘市场规模预计将达70多亿人民币,而目前中国流程挖掘行业尚处于市场启蒙期,仅少数大型企业与机构对流程挖掘进行了初步或尝试性的投入.从目前来看,原生流程挖掘厂商会直接面向客户输出流 ...

  8. NEC:借助AI撬动未来物联网世界

    看过<碟中谍>系列大片的朋友,可能对特工们在火车站庞大的人流中借用人脸识别隐形眼镜迅速锁定目标的场景惊叹不已,而这一幕已被NEC从梦想带到了现实.近日,NEC在东京高大上的场所--东京国际 ...

  9. 扇贝编程python是干嘛的-产品观察 | 以对话式互动学习撬动转化,扇贝编程瞄准职教市场...

    原标题:产品观察 | 以对话式互动学习撬动转化,扇贝编程瞄准职教市场 成人编程教育是职业教育行业最火热的赛道之一,除了行业内的垂直创业公司,越来越多教育公司也在把业务线延展至这一领域,以便深度结合业务 ...

  10. 如何撬动机器学习的冰山一角?

    目前,人工智能的应用日渐广泛. 而作为人工智能核心的机器学习,是一门多领域的交叉学科,专门研究计算机模拟或实现人类学习行为的方法,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能. ...

最新文章

  1. python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换
  2. 20151020sql2
  3. java的类型默认存储类型_java 问题:保存对话框的默认文件类型?
  4. 5-29 vscode占位
  5. 无需人工!无需训练!构建知识图谱 BERT一下就行了!
  6. 5元以下纯铜小摆件_【拍4斤发5斤】早餐饼干网红早餐代餐曲奇酥性小饼干零食500g6元优惠券券后价5.8元...
  7. 学习mysql随笔——mysql的安装启动
  8. 小数分频器vhdl实现_基于VHDL的小数分频器设计
  9. 自定义进度条PictureProgressBar
  10. Cannot find module ‘node-sass‘问题解决
  11. Freeswitch和微信小程序对接
  12. 智能家居电动窗帘如何选择?小米,绿米还是智汀
  13. 你他喵的告诉我标题怎么起!
  14. WORD2003电子签名插件(支持手写、签章)
  15. flutter 键盘挡住输入框问题
  16. 高数【积分-不定积分】--猴博士爱讲课
  17. vue实现登录路由跳转到成功页面
  18. Symbian OS 初探
  19. hello,handsome...
  20. ACPI协议所定义的计算机电源的几种管理状态(S、G、C)

热门文章

  1. android 如何把.swf作为开机动画,win10系统将PPT幻灯片转为SWF动画的操作方法
  2. Jira与敏捷项目管理
  3. Unhandled exception. System.NullReferenceException: Object reference not set to an....
  4. 安卓客户端使用矢量图
  5. 矢量图代替PNG/JPG
  6. 生意参谋活动复盘分析
  7. CCNA考试题库中英文翻译版及答案7
  8. 海康摄像头rtsp流格式
  9. 下载到的电子书格式是Mobi,这种格式能否在IOS手机上打开?
  10. 搞懂Nfc刷卡看这篇就够了