测试工程师是不少人迈进软件行业的起点。从负责很小的局部到把握整个产品的质量,每一个人花费的时间长短不一——从功能到性能、可用性到容错性、从兼容性到扩展性、稳定性到健壮性……方方面面逐渐作广作深。html
不过,你们逐渐发现,质量这条路的上升空间有层天花板,若是仅限于上面列举的内容但不够深刻,固守着手工或半自动测试,则很难突破。不少处于这种状态的人会选择转型,去作产品经理、质量管理、配置管理等方向,甚至去作开发工做,以期得到更大的升职加薪空间。其实,测试的所谓出路未必,也毫不止上面种种,例如我在不少论坛上见到的各路性能优化大师们,在性能测试的方向上作得足够精深,是很受青睐和赏识的,收入天然也是丰厚的。而另外一个方向,也是我今天要重点介绍的,则是安全测试。web
若是说性能是伴随着互联网起步和电商等在线业务的爆发而崛起的刚性需求,那么安全则是在线业务成熟并进化路上欠下的最大债务,亟待解决。天天都有各式各样的网络欺诈、诱骗、盗窃,安全的互联网生活难道不该该成为每一个网民的最低需求么?所以,市场决定了安全测试是一片蓝海,大有前途。数据库
相信不少测试工程师和我有过一样的迷茫,想作自动化、想作性能、想作安全……可是入道无门。一方面企业在安全测试方面投入较少,除非进入圈内的企业,不然难以找到学习和积累的机会;另外一方面多是感受安全测试有必定门槛,身边又没有资深的人给予指点,在繁重的测试工做压力下做罢。我时常庆幸这个时代入行的人,由于这个时代知识无所不在,只要利用好两样东西——一个是网络,而搜索引擎就是最好的导师;另外一个则是圈子,多在业余参加论坛活动和技术分享会议,会很容易结识圈内的朋友,而这些技术大拿是乐于分享他们的经验和学习技巧的。浏览器
本人有幸加入了一款安全产品的初创团队,开始了安全测试的学习和摸索,正是源自一次技术分享活动。这个团队聘请了数位圈内资深的安全专家作顾问,在他们的指点下,我先了解了简单的网络攻防的概念和 OWASP 组织收集并整理的 TOP 10 安全漏洞,并复习了 Http 协议,以便于理解各类漏洞和攻击的原理。接下来,我便认识了一个词—— WebGoat。安全
这是一款由 OWASP 组织研发的开源安全测试和教学 web 应用,顾名思义,她包含全部最重要的安全漏洞,如 SQL 注入和 XSS 跨站脚本攻击等,每一个漏洞类型做为一堂课程免费提供给全部人学习、尝试,如代罪羔羊同样任由人们折腾。她还提供提示和解决方案,以帮助同窗们理解并收获成功的喜悦。下图就是 Webgoat 的主界面。性能优化
能够看到,左侧是课程的列表,以安全漏洞的首字母排序;右侧是对应的课程内容,包括:网络
下图是成功达成攻击目的后的课程页面:架构
看到这个形象且略带刺激的画面,你是否开始对直觉中冰冷黑暗的安全测试有了兴趣呢?经过这样的学习和尝试,有基础的测试人员能够很快掌握基本的渗透测试手段,以做为进一步学习的基础。xss
须要注意的是,使用 WebGoat 学习有如下要求:工具
此外,利用好浏览器提供的 debug 工具也是提升学习效率的捷径。如在 Chrome 里打开开发者工具抓取网络请求和响应并分析其请求 header 和 body,能够更真实地看到网络应用是如何被攻击的。
说到这里,不能不提一下咱们所作的安全产品—— OneRASP 。或许大家想象不到,这款产品在我学习使用 WebGoat 的过程当中还发挥了不小的做用呢!RASP 即运行时应用自我保护,属于主动安全防御的概念,理解起来或许比较抽象。那么,到底 OneRASP 能怎样帮到学习安全测试的咱们呢?
原来,WebGoat 当然提供了每种漏洞的攻击方法,并把效果展示了出来,可是攻击发生的具体位置仍是看不到的。如前面的示例,数字类型的 SQL 注入可使全部城市的天气信息一览无遗,那么具体是在源码的什么位置泄漏出去的呢?WebGoat 没法告诉咱们,可是 OneRASP 能够——由于咱们开发的安全探针能够植入 WebGoat 所在的容器 Tomcat,并在恶意请求访问数据库时发现并上报到可视化的 Web 控制台,使得攻击的手段和位置信息也一览无遗!以下图所示:
可见,OneRASP能够帮助咱们理解攻击发生时的不少细节,而且能够定位到源代码的具体文件和具体行上。固然,这款产品的真正目的是帮助企业在没必要马上修复漏洞的状况下实现安全生产,用在学习上则是有点大材小用了,但毕竟锦上添花,何乐不为呢?
本文系 OneASP 质量架构工程师王新泉原创文章。现在,多样化的攻击手段层出不穷,传统安全解决方案愈来愈难以应对网络安全攻击。OneRASP 实时应用自我保护技术,能够为软件产品提供精准的实时保护,使其免受漏洞所累。想阅读更多技术文章,请访问 OneAPM 官方技术博客
本文转自 OneAPM 官方博客