美文网首页
《白帽子讲Web安全》第三章笔记

《白帽子讲Web安全》第三章笔记

作者: chuaa | 来源:发表于2018-08-02 23:29 被阅读0次

    跨站脚本攻击

    1.1 XSS简介

    XSS攻击,英文全称是Cross Site Script,通常指黑客通过“HTML注入”篡改了网页,插入恶意的脚本,从而用户在浏览网页时,控制用户浏览器的一种攻击行为。


    1.2 XSS分类

    1.2.1 反射型XSS

    反射型XSS也叫“非持久型XSS(Non-persistent XSS)”,只是简单地把用户输入的数据“反射给”浏览器。也就是说,黑客往往需要诱使用户点击一个恶意链接,才能攻击成功。

    1.2.2 存储型XSS

    存储型XSS也叫“持久型XSS(Persistent XSS)”会把用户输入的数据“存储”在服务器端。这种XSS具有很强的稳定性。

    1.2.3 DOM Based XSS

    通过修改页面的DOM节点形成的XSS,称之为DOM Based XSS。


    1.3 XSS攻击进阶

    1.3.1 XSS Payload

    XSS攻击成功后,攻击者能够对用户当前浏览的页面植入恶意脚本,通过恶意脚本,控制用户的浏览器。这些用以完成各种具体功能的恶意脚本,称之为“XSS Payload”。

    1.3.2 XSS构造技巧

    • 利用字符编码
    • 绕过长度限制
    • window.name
    • 使用base标签

    1.4 XSS的防御

    1.4.1 HttpOnly

    浏览器禁止页面的JavaScript访问带有HttpOnly属性的Cookie。

    1.4.2 输入检查

    输入检查的逻辑必须放在服务器端代码中实现。如果只是在客户端使用JavaScript进行输入检查,是很容易被攻击者绕过去的。目前Web开发的普遍做法是同时在客户端和服务器端实现相同的输入检查。客户端的输入检查,可以阻挡大部分误操作的正常用户,从而节约服务器资源。

    1.4.3 输出检查

    一般来说,除了富文本的输出外,在变量输出到HTML页面时,可以使用编码或者转义的方式来防御XSS攻击。

    1.4.4 处理富文本

    1.4.5 防御DOM Based XSS

    相关文章

      网友评论

          本文标题:《白帽子讲Web安全》第三章笔记

          本文链接:https://www.haomeiwen.com/subject/bclevftx.html