WEB服务安全问题概述
· 阅读需 5 分钟
常见漏洞类型
- 分布式拒绝服务攻击(DDoS - Distributed Denial of Service) DDoS 攻击通过让大量的设备同时向目标服务器发送请求,耗尽其资源,导致服务器无法处理正常的请求,最终使服务无法使用。
-
目标 :服务器、网站或网络资源。
-
方法 :利用僵尸网络(Botnet)来发起大规模流量攻击。
- SQL 注入(SQL Injection) SQL 注入是一种攻击方式,攻击者通过输入恶意 SQL 代码,绕过身份验证或操纵数据库查询,访问或修改敏感数据。
-
目标 :使用 SQL 数据库的网站或应用程序。
-
后果 :窃取或删除数据库中的敏感信息,或篡改应用行为。
- 跨站脚本攻击(XSS - Cross-Site Scripting) XSS 是一种代码注入攻击,攻击者通过向网页注入恶意脚本,当用户浏览受感染的网页时,恶意代码在用户的浏览器中执行。
-
目标 :Web 应用程序用户。
-
后果 :窃取用户的会话令牌、用户凭证,或者在用户浏览器上执行恶意操作。
- 暴力破解(Brute Force Attack) 暴力破解是一种尝试所有可能的密码组合,直到找到正确密码的攻击方法。
-
目标 :用户登录系统、SSH、RDP 等需要密码的系统。
-
防御 :使用强密码、账户锁定策略和双因素认证。
- 文件包含攻击(File Inclusion Attack) 这种攻击发生在 Web 应用程序允许用户动态加载文件的情况下。攻击者利用漏洞加载恶意文件,执行不安全操作。
-
目标 :PHP、ASP 等动态加载文件的 Web 应用程序。
-
后果 :攻击者可能获得服务器的控制权或敏感数据。
- 跨站请求伪造(CSRF - Cross-Site Request Forgery) CSRF 攻击诱骗已登录的用户在未察觉的情况下执行恶意操作。例如,在用户登录某网站时,诱导其点击特制的链接,导致未经授权的 操作。
-
目标 :Web 应用中的合法用户。
-
后果 :攻击者可以利用用户的身份执行未经授权的操作。
authentication 和 authorization 区别
总结:
特性 | Authentication(身份验证) | Authorization(授权) |
---|---|---|
目的 | 确认用户身份(你是谁) | 决定用户能做什么(有什么权限) |
过程 | 验证用户凭证(用户名、密码、指纹等) | 检查用户是否有权限访问特定资源或执行特定操作 |
顺序 | 首先进行身份验证 | 身份验证之后进行授权 |
实例 | 用户输入用户名和密码,系统验证其合法性 | 用户登录后,系统决定用户能否查看特定页面或文件 |
应用范围 | 登录、身份识别、用户认证系统 | 权限管理、资源访问控制、功能限制 |
实际场景:
-
身份验证 :你输入用户名和密码登录银行网站。
-
授权 :你登录成功后,银行网站决定你可以查看账户余额,但不能访问管理员功能。
在实际应用中,身份验证和授权经常结合使用。例如,在 OAuth 2.0 中,用户首先通过身份验证登录(Authentication),然后授权应用程序访问其资源(Authorization)。