DAY10------CSRF和XSS是什么,如何避免?

CSRF 攻击的原理如下:(诱导用户点击非法网页,该网页利用已登入的用户权限,向服务器发送恶意请求操作。)

  1. 用户登录到一个可信的网站 A,并保持登录状态。
  2. 攻击者诱导用户访问一个恶意网站 B。
  3. 恶意网站 B 包含一个向网站 A 发送请求的代码,这个请求会利用用户在网站 A 的登录状态执行未经授权的操作,如转账、修改密码等。
  4. 由于用户在网站 A 保持登录状态,网站 A 会认为这个请求是用户自己发送的,从而执行该请求。

解决方法

  1. 使用 CSRF 令牌: 在每个表单中添加一个随机生成的 CSRF 令牌,服务器端验证该令牌是否正确。
  2. 验证 Referer 头: 检查 HTTP 请求的 Referer 头,确保请求来自预期的域名。
  3. 使用双重提交 Cookie: 在 Cookie 中存储一个随机令牌,并在请求中验证该令牌是否与 Cookie 中的一致。
  4. 使用同源策略: 浏览器会阻止跨域的 AJAX 请求,这可以有效防止 CSRF 攻击。

 

XSS 攻击的原理如下:(通过设置自动运行的脚本代码来实现的)

  1. 攻击者在目标网站上注入恶意的 JavaScript 代码,这段代码可能会窃取用户的敏感信息,如 cookies、会话令牌等。
  2. 当用户访问包含恶意代码的页面时,该代码会在用户的浏览器中执行,从而造成安全隐患。

解决方法

  1. 输入验证和编码: 对用户输入的内容进行严格的验证和编码,确保不会注入恶意代码。
  2. 使用 Content Security Policy (CSP): 通过设置 CSP 头,可以限制页面加载的资源,从而防止 XSS 攻击。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值