这篇文章上次修改于 1094 天前,可能其部分内容已经发生变化,如有疑问可询问作者。 [TOC] # 安全成长技术栈 一直在路上,不要抱怨,不要徘徊,一直往前走。 不要去抱怨生活的糟糕,糟糕的大部分原因是自己的造成的, 不断的奋斗、前进,生活自然会变得美好。 当你足够强大时你自然就会拥有话语权。 对于社会来说,科学是第一生产力; 而对于你来说,学习是第一生产力。 不要只想着用自己的时间换取价值,那样获得的回报少之又少,要学会在时间后面加上知识(智慧)。 知识的来源在哪儿?学习。 这张表仅代表个人对于自我成长的见解,后期会不断补充调整,如有问题欢迎探讨。wx:h5osir ## 初级安全工程师(有手就行) ### 基础技能 #### 计算机网络(广度) ### OWASP TOP 10 官网:`https://owasp.org/www-project-top-ten/` PDF中文版下载:`https://wiki.owasp.org/images/d/dc/OWASP_Top_10_2017_%E4%B8%AD%E6%96%87%E7%89%88v1.3.pdf` Top 10: 1. 注入。当将不受信任的数据作为命令或查询的一部分发送到解释器时,会发生注入缺陷,例如SQL,NoSQL,OS和LDAP注入。攻击者的敌对数据可能会诱使解释器执行未经预期的命令或未经适当授权而访问数据。 2. 失效的身份验证。与身份验证和会话管理相关的应用程序功能通常会错误地实现,从而使攻击者能够破坏密码,密钥或会话令牌,或者利用其他实现缺陷来临时或永久地假定其他用户的身份。 3. 敏感数据泄露。许多Web应用程序和API无法正确保护敏感数据,例如金融,医疗保健和PII。攻击者可能会窃取或修改这些受保护程度不高的数据,以进行信用卡欺诈,身份盗用或其他犯罪。敏感数据可能会在没有额外保护的情况下受到损害,例如静态加密或传输中加密,并且与浏览器进行交换时需要采取特殊的预防措施。 4. XML外部实体(XXE)。许多较旧的或配置不当的XML处理器都会评估XML文档中的外部实体引用。外部实体可以使用文件URI处理程序,内部文件共享,内部端口扫描,远程代码执行和拒绝服务攻击来公开内部文件。 5. 失效的访问控制。通常,对身份验证用户允许执行的操作的限制通常未得到正确执行。攻击者可以利用这些缺陷来访问未经授权的功能和/或数据,例如访问其他用户的帐户,查看敏感文件,修改其他用户的数据,更改访问权限等。 6. 安全配置错误。安全配置错误是最常见的问题。这通常是由于不安全的默认配置,不完整或临时的配置,开放的云存储,错误配置的HTTP标头以及包含敏感信息的冗长错误消息的结果。不仅必须安全地配置所有操作系统,框架,库和应用程序,而且还必须及时对其进行补丁/升级。 7. 跨站点脚本XSS。每当应用程序在未经适当验证或转义的情况下在新网页中包含不受信任的数据,或者使用可以创建HTML或JavaScript的浏览器API用用户提供的数据更新现有网页时,都会发生XSS漏洞。XSS允许攻击者在受害者的浏览器中执行脚本,这些脚本可以劫持用户会话,破坏网站或将用户重定向到恶意网站。 8. 不安全的反序列化。不安全的反序列化通常会导致远程执行代码。即使反序列化缺陷不会导致远程执行代码,也可以将它们用于执行攻击,包括重播攻击,注入攻击和特权提升攻击。 9. 使用含有已知漏洞的组件。诸如库,框架和其他软件模块之类的组件以与应用程序相同的特权运行。如果利用了易受攻击的组件,则此类攻击可能会导致严重的数据丢失或服务器接管。使用具有已知漏洞的组件的应用程序和API可能破坏应用程序防御,并造成各种攻击和影响。 10. 不足的日志记录和监控。日志和监视的不足,再加上事件响应的缺失或无效集成,使攻击者可以进一步攻击系统,保持持久性,转向更多系统以及篡改,提取或破坏数据。大多数违规研究表明,发现违规的时间超过200天,通常是由外部各方而不是内部流程或监视来检测。 ### 常见漏洞原理及防御 #### SQL注入 #### 跨站脚本攻击(XSS) #### 跨站请求伪造(CSRF) #### 服务端请求伪造(SSRF) #### 远程执行命令 #### 不安全的外部实体引用(XXE) #### 不安全的文件上传 #### 文件包含漏洞 #### 暴力猜解 #### 逻辑漏洞 ### 使用工具 #### 流量分析 * burpsuite * wireshark #### 扫描工具 * nmap * masscan * AWVS * AppScan * Xray #### 漏洞利用 * sqlmap * 反序列化漏洞利用 * msf * nc #### SSH连接工具 * finalshell * Xshell5 * MobaXterm ### 扩展学习 #### WAF #### Linux #### 各种WEB容器 #### 各种协议 #### 安全实事 ## 高级安全工程师(需要脑子) ### 基础技能 #### 计算机网络(深度) #### HTTP协议(深度) #### TCP/IP协议栈 #### Python #### Php #### Java #### Sql #### JavaScript #### Docker ### 技能要求 #### 企业安全架构 #### 代码审计 #### 逆向分析 * Php * Java * Python #### 移动端安全 IOS+Android渗透测试 #### 内网渗透 ### 扩展学习 #### ATT&CK #### 安全开发生命周期 ## 安全专家(恒心+毅力) #### 技能要求 ##### 机器学习 ##### 大数据 ##### 云计算&虚拟化 ##### 待补充