万事开头难,难在第一步如何走?没有知识积累、没有安全测试思维认知等等,将会让很多功能测试人员望而止步。
请看完我的文章描述,我相信可以助力你成为一个初级安全测试工程师!!!
一、思维认知
Q:安全测试测试什么啊?咋测?有什么工具自动去测?
Q:安全测试策略如何编写?
Q:安全测试如何执行?
Q:安全测试报告长啥样?咋写?
Q:什么是sql 注入?什么是文件上传漏洞?什么是 XSS 漏洞?
Q:什么是 CSRF 漏洞?
Q:什么是越权访问?
Q:什么是信息泄露?
…
以上问题作为功能测试人员往往满脑子都是这些问题。
很多初学者学习安全测试都会去搜索一些安全测试方法,比如提到很多的 kali、appscan 、ZAP 等自动化安全测试工具。 然后在不知道工具运行策略等基础上,拿来用是没有任何意义的,且通过实际操作,默认的工具策略执行出的结果是无法满足安全测试目标要求的。 学习的前提我个人建议应该是去工具化重思维理解。工具只是辅助的去验证你的思维结果正确性、结果性。
二、Web 安全测试范围
以下安全测试范围是本人实践过的,且用于过部分上市的基金公司安全测试执行过程的测试验证。
面对任何测试对象,我们需要有对应的范围,然后才讲到各个范围的技术方法。 所以我里首先枚举 Web 安全测试的范围内容。
1. Web 网站通用的安全漏洞测试范围
- SQL 注入攻击
- 跨站脚本攻击 XSS
- XML 外部实体注入(XXE)
- 跨站点伪造请求(CSRF)
- 服务器端请求伪造(SSRF)
- 任意文件上传漏洞
- 任意文件下载漏洞
- 任意目录遍历漏洞
- 信息泄露
- CRLF 注入
- 命令/代码执行
- URL 重定向
- 第三方组件安全
- 本地远程文件包含
- 安全配置错误
- 不安全的加密存储
- 传输层保护不足
- 已存在的脚本木马
2.基于业务层面的安全漏洞范围
- 未授权访问
- 验证码机制
- 业务数据篡改
- 业务流程乱序
- 业务接口恶意调用
- 用户账号枚举
- 用户密码枚举
- 用户弱口令
- 会话标志固定攻击
- 越权访问
3.基于应用框架及中间件安全漏洞
- Webloigc反序列化命令执行
- Bash远程解析命令执行漏洞
- Websphere反序列化命令执行
- Jenkins反序列命令执行
- Jboss反序列化命令执行
- Struts2远程命令执行
- OPENSSL心脏滴血漏洞
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块