特征 | XSS (跨站脚本) | CSRF (跨站请求伪造) |
---|---|---|
定义 | 攻击者在网站上注入恶意脚本,使其在其他用户的浏览器中执行。 | 攻击者利用用户在其他站点已登录的会话来执行未经授权的操作。 |
目的 | 盗取用户会话信息、执行恶意操作(如篡改页面内容、重定向到恶意网站等)。 | 以用户身份执行敏感操作(如转账、修改密码等)而不需要用户的明确操作。 |
实现方式 | 通过在网站的输入字段中注入恶意脚本,如输入框、URL 参数、Cookie 等。 | 通过伪造请求,构造恶意的 URL 或表单,并诱使用户点击或提交。 |
例子 | 1. 在论坛发帖中插入恶意脚本,当其他用户浏览帖子时执行。 2. 在输入框中注入脚本,盗取用户的会话 Cookie。 |
1. 诱使用户点击恶意链接,执行转账操作。 2. 在恶意网站上自动提交表单,修改用户密码。 |
防御措施 | 1. 对用户输入进行充分验证和过滤,对输出进行适当的编码。 2. 使用 Content Security Policy (CSP) 限制脚本执行。 3. 使用 HTTP Only Cookie,减少会话 Cookie 被窃取的风险。 |
1. 使用 CSRF Token 防止伪造请求。 2. 使用 SameSite Cookie 属性限制跨站请求。 3. 在执行敏感操作前进行双重确认。 |