【web安全】XSS跨站脚本攻击

  1. 简介
    跨站脚本(cross site scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。
    XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码。从而盗取用户资料,利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

  2. XXS攻击的危害包括

    • 盗取各类用户账号,如系统登录账号,用户网银账号,各类管理员账号
    • 控制企业数据,包括读取,篡改,添加,删除企业敏感数据的能力
    • 盗取企业重要的具有商业价值的资料
    • 非法转账
    • 强制发送电子邮件
    • 控制受害者机器向其他网站发起攻击
  3. XSS漏洞攻击的原理
    恶意攻击者往web页面中插入恶意HTML代码,当用户浏览该web页面时,嵌入到该web页面的恶意HTML代码就会被执行,从而达到恶意攻击用户的特殊目的。
    XSS漏洞又分为两类:一类是持久型、存储型XSS,另一类是反射型XSS;
    (1)持久型、存储型XSS:嵌入到web页面的恶意HTML会被存储到应用服务器端,简而言之就是会被存到数据库,等用户在打开页面时,会继续执行恶意代码,能够持续的攻击用户。或者植入后门对系统本身进行攻击。
    (2)反射型XSS:反射型XSS是一次性的,仅对当次的页面访问产生影响。非持久型XSS攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户浏览器执行,从而达到攻击目的。

  4. 如何防止XSS攻击
    XSS的根源其实就是没完全过滤客户端提交的数据,因此可以从几个方面进行防护:

    • 对于表单类提交的数据要做长度限制
    • 在服务端(数据库)添加长度限制
    • 对用户提交的数据进行过滤处理,如特殊字符的转义,标签的识别
    • 通过http协议提供的相关设置。如:X-Frame-Options , X-xss-protection , X-Content-Type-Options 等

猜你喜欢

转载自blog.csdn.net/weixin_43141627/article/details/86713228