今天,有个朋友问我,如果要转入安全行业需要哪些知识,例如最流行的Web应用安全。 我想了一下列了一下内容:

html, js, css, json, xml, url

字符编码主要就是ascii, iso-8859-1, utf-8, utf-16

操作系统(WIndwos、linux等)命令行编码,文件名规则, 

oracle, mysql的特殊字符编码规则

mime-type也比较重要,html里很常用

二进制格式,DER和BER编码可以学习一下,是x.509, pkcs和密码学数据包里常用的

常用的密码学、分类以及用法

安全协议工作原理(TLS)

HTTP协议:http header 的语法格式和编码

OWASP TOP 10

CWE TOP 25

浏览器的行为:解析Web页面和提交请求等

Web服务器(Apache,Nginx,WebLogic)

Web相关编程语言(java、c#、php等)

Web常用架构:Spring,Struts等

代理工具(BurpSuite、ZAP等)的工作原理和使用

一些业界安全标准:例如(PCI-DSS)

国家级别的法律要求,例如《国家网络安全法》

国家的网络安全标准

一些其它国家的标准:例如 美国国防部的FIPS标准、欧洲的《一般数据保护法案》GDPR等。

如果专注某些领域,例如:金融,还有各个领域各自的要求。

如果要掌握Web应用的所有方面,最好有Web应用的开发经验,这样更加有利于学习和掌握Web应用的安全原理和如何预防。

安全是一个大杂烩,必须了解相关的:法律法规、安全标准、协议、应用的技术和怨言以及实施的平台等。