首先我们要知道的是,安全测试并不是一个单独的学习科目,要掌握的内容是非常全面且深入的。如果你是一个对互联网行业、IT编程等内容完全不了解的人,也从来没有学习过这方面技术,没有从事相关工作的经历,那么我们并不建议你学安全测试。学习一门编程语言如java,或者是零基础就可以学的普通软件测试,都是不错的选择。如果是非科班同学,大部分学习安全测试的同学都是从Web前后端技术、Web安全、漏扫工具等开始上路。非常基础的安全测试入门,技能点主要在黑客工具的使用上,所以你只需要花时间去了解下OWASPTOP10,学习下主流的扫描器、工具、和使用方法,这些内容相对来说对计算机系统知识体系的要求相对要低一些,上手起来更快,也更有成就感。当你想要以此就业,就要了解下行业的现状了。比如时下热门的安全测试工程师,工作内容到底是什么,具体需要什么技能。比如计算机网络、操作系统Linux、Web开发技术(后端+前端),学会了计算机网络,你才知道网络通信的原理,网络协议攻击是怎么一回事,流量分析又将怎么进行。学会了操作系统和Linux,你才知道攻击溯源如何进行,系统安全日志如何分析,服务器提权又是什么原理。学会了Web开发技术,你才知道那些个Web安全攻击手法SQL注入、XSS、CSRF、一句话木马背后的原理是什么,漏洞扫描又该如何进行。这些就是安全测试的重要基础。然后还有SQL、XSS、CSRF等主流漏洞的原理与利用学习,当下主流漏洞的挖掘与审计复现,掌握这些,就足够一个新手从入门到小有所成了。但是到这里,还是不足以胜任安全测试工程师的工作,你还需要大量的实战训练积累。比如通过流量分析、日志分析找到网站存在的漏洞,比如使用POC去拿下一台服务器,比如建设一套安全防御体系,这些东西需要你在具备网络安全知识的基础之上,通过攻防对抗去丰富自己的安全经验,成为自己的安全能力。总体来说,安全测试的岗位技能难度还是比较大的,所以不建议零基础去学习。