开发者社区> 问答> 正文

XSS分为哪⼏类?

展开
收起
前端问答 2019-12-13 08:10:10 1096 0
1 条回答
写回答
取消 提交回答
  • 前端问答小助手

    根据攻击的来源,XSS 攻击可分为存储型、反射型和 DOM 型三种。

    • 存储区:恶意代码存放的位置。
    • 插⼊点:由谁取得恶意代码,并插⼊到⽹⻚上。

    存储型 XSS

    存储型 XSS 的攻击步骤:

    1. 攻击者将恶意代码提交到⽬标⽹站的数据库中。
    2. ⽤户打开⽬标⽹站时,⽹站服务端将恶意代码从数据库取出,拼接在 HTML 中返回给浏览器。
    3. ⽤户浏览器接收到响应后解析执⾏,混在其中的恶意代码也被执⾏。
    4. 恶意代码窃取⽤户数据并发送到攻击者的⽹站,或者冒充⽤户的⾏为,调⽤⽬标⽹站接⼝执⾏攻击者指定的操作。

    这种攻击常⻅于带有⽤户保存数据的⽹站功能,如论坛发帖、商品评论、⽤户私信等。

    反射型 XSS

    反射型 XSS 的攻击步骤:

    1. 攻击者构造出特殊的 URL,其中包含恶意代码。
    2. ⽤户打开带有恶意代码的 URL 时,⽹站服务端将恶意代码从 URL 中取出,拼接在 HTML 中返回给浏览器。
    3. ⽤户浏览器接收到响应后解析执⾏,混在其中的恶意代码也被执⾏。
    4. 恶意代码窃取⽤户数据并发送到攻击者的⽹站,或者冒充⽤户的⾏为,调⽤⽬标⽹站接⼝执⾏攻击者指定的操作。

    反射型 XSS 跟存储型 XSS 的区别是:存储型 XSS 的恶意代码存在数据库⾥,反射型 XSS 的恶意代码存在 URL ⾥。 反射型 XSS 漏洞常⻅于通过 URL 传递参数的功能,如⽹站搜索、跳转等。 由于需要⽤户主动打开恶意的 URL 才能⽣效,攻击者往往会结合多种⼿段诱导⽤户点击。 POST 的内容也可以触发反射型 XSS,只不过其触发条件⽐较苛刻(需要构造表单提交⻚⾯,并引导⽤户点击),所以⾮常少⻅。

    DOM 型 XSS

    DOM 型 XSS 的攻击步骤:

    1. 攻击者构造出特殊的 URL,其中包含恶意代码。
    2. ⽤户打开带有恶意代码的 URL。
    3. ⽤户浏览器接收到响应后解析执⾏,前端 JavaScript 取出 URL 中的恶意代码并执⾏。
    4. 恶意代码窃取⽤户数据并发送到攻击者的⽹站,或者冒充⽤户的⾏为,调⽤⽬标⽹站接⼝执⾏攻击者指定的操作。

    DOM 型 XSS 跟前两种 XSS 的区别:DOM 型 XSS 攻击中,取出和执⾏恶意代码由浏览器端完成,属于前端JavaScript ⾃身的安全漏洞,⽽其他两种 XSS 都属于服务端的安全漏洞。

    2019-12-13 09:57:48
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载