文章目录
引言
在当今的数字化时代,安全问题已成为技术领域不可忽视的核心话题。作为开发人员,无论是构建日常应用还是面向高安全需求的业务场景,掌握基础的安全知识都是必不可少的。安全不仅仅是专门从事安全岗位人员的职责,也是开发工作中的关键一环。尤其是在涉及金融、医疗、政府等敏感行业时,了解并应用基本的安全规范,能够有效降低风险,保护数据和系统免受潜在威胁。于是乎,这个专题笔者就带大家了解下,网络安全的基础知识。
1. 一个网站的基本构成
- 前端(Frontend)
- 用户交互界面(HTML、CSS、JavaScript)
- 常见的框架和库:React、Vue、jQuery
- 静态资源(图像、视频、字体等)
- 后端(Backend)
- 服务器逻辑(处理请求、生成响应)
- 开发语言:Java、Python、PHP、Node.js 等
- 数据存储与操作:数据库(MySQL、MongoDB 等)
- 通信(Networking)
- 协议:HTTP/HTTPS
- Web API(RESTful、GraphQL)
- 基础设施(Infrastructure)
- 服务器和操作系统(Linux、Windows)
- 部署平台和云服务(AWS、Azure、阿里云等)
2. 一些我们经常听到的安全事件
- 著名的漏洞案例
- Heartbleed(心脏出血漏洞):导致敏感信息泄露的OpenSSL漏洞。
- Equifax 数据泄露事件:因未及时修补Struts框架漏洞,导致1.4亿条个人数据被窃取。
- Log4Shell 漏洞:Log4j日志库的远程代码执行漏洞,影响全球大量服务。
- 常见攻击类型的影响
- 数据泄露:攻击者窃取用户数据(如用户名、密码、信用卡信息)。
- 网站瘫痪:DDoS(分布式拒绝服务)攻击导致服务不可用。
- 恶意篡改:网页被挂马或被非法更改内容。
3. 网站攻击者及其意图
3.1 网站攻击者的类型
- 黑客(Hackers)
- 白帽黑客:帮助企业查找和修复漏洞,合法渗透测试。
- 黑帽黑客:恶意攻击者,目的是窃取数据或破坏系统。
- 灰帽黑客:介于合法与非法之间的行为,有时未经授权进行漏洞扫描。
- 脚本小子(Script Kiddies)
- 缺乏专业技能,使用现成的工具或脚本攻击网站。
- APT 组织(Advanced Persistent Threats)
- 高技术的攻击组织,通常有明确的经济或政治目标。
- 内部人员(Insiders)
- 拥有系统权限,可能因利益或矛盾而进行恶意操作。
3.2 攻击者的意图
- 经济利益
- 窃取信用卡信息进行交易。
- 勒索软件攻击,要求支付比特币。
- 政治动机
- 涉及政府或机构的网站被攻击,传播意识形态或信息。
- 恶作剧
- 对知名网站进行涂鸦或修改,炫耀技能。
- 情报收集
- 通过漏洞获取敏感数据,如商业机密或国家安全信息。
4. 漏洞的分类
4.1 按来源分类
- 设计缺陷
- 逻辑漏洞:例如,电子商务网站的优惠券机制被滥用。
- 协议漏洞:例如,HTTP协议的设计缺陷易受中间人攻击。
- 实现问题
- 编码漏洞:如输入验证不当导致SQL注入。
- 配置错误:如默认密码未修改或开放了不必要的端口。
- 第三方问题
- 使用漏洞百出的第三方库或插件。
4.2 按危害分类
- 信息泄露漏洞
- 未加密的敏感数据。
- 错误的访问权限配置。
- 身份验证漏洞
- 弱密码或未启用多因素认证。
- Session劫持。
- 远程代码执行漏洞
- 攻击者可在服务器上运行恶意代码。
- 拒绝服务漏洞
- 导致服务器过载或资源耗尽。
4.3 常见漏洞与OWASP Top 10
- 注入攻击(Injection)
- SQL注入、命令注入等。
- 跨站脚本(XSS)
- 在页面中插入恶意脚本。
- 跨站请求伪造(CSRF)
- 利用用户的认证状态发送恶意请求。
- 失效的访问控制
- 允许未授权用户访问敏感功能。
后续还会更新2篇文章,分别是关于前端和后端的常见漏洞类型。
博客主页: 总是学不会.