攻击手段
XSS
Cross Site Scripting,跨站攻击
攻击者将恶意代码注入到正常网页中,当其他用户浏览这些网页时,嵌入其中的恶意脚本会被执行。
类型
- 反射型 XSS
- 攻击者将恶意脚本包含在 URL 参数中,用户点击带有恶意参数的链接时,脚本被执行。这种类型的攻击通常需要诱使用户点击特定链接。
- 存储型 XSS
- 攻击者将恶意脚本存储在应用程序的数据库中,然后用户在访问特定页面或内容时,从数据库中检索并执行该脚本。
- DOM 型 XSS
- 这种类型的攻击发生在客户端,攻击者通过修改页面上的 DOM 元素来触发 XSS 漏洞。恶意脚本会在用户的浏览器中执行,但不会被发送到服务器。
- 基于事件的 XSS
- 攻击者通过触发特定的浏览器事件来执行恶意代码,例如
onclick
事件。这种类型的攻击通常利用用户的互动来触发。
防护措施
- 输入过滤:对用户输入的数据进行严格的验证和过滤。移除或转义用户输入中的 HTML 标签和 JavaScript 代码。
- 字符转义
- 内容安全策略:CSP (Content Security Policy)
- W3 org 引入,实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行
- 法一:通过 HTTP 头信息的
Content-Security-Policy
字段 - 法二:通过通过网页的
<meta>
标签
- 使用 HTTP-only 和 Secure标记的 Cookies:防止 JavaScript 访问这些 Cookies
CSRF
加密算法
凯撒密码
Caesar cipher
一种替换加密的技术,明文中的所有字母都在字母表上按照一个固定数目进行偏移后被替换成密文。
例如,当偏移量是 3 的时候,所有的字母 A 将被替换成 D,B 变成 E,以此类推。