《Web前端黑客技术解密》读书笔记(第九、十章)

本文地址:http://www.jianshu.com/p/ebb1db302ef5

第九章 Web蠕虫

主要分三类:XSS蠕虫CSRF蠕虫Clickjacking蠕虫,还有第四类 文本蠕虫

Web 蠕虫思想

  • 用户参与后被动或主动的传播威胁

XSS 蠕虫

  • 性质:传播性和病毒性
  • 具备以下条件
    • 内容有用户驱动
    • 存在XSS漏洞
    • 被感染用户是登陆状态
    • XSS蠕虫利用的关键功能本身具有内容的传播性

CSRF 蠕虫

与XSS蠕虫基本类似,只不过用的是CSRF,攻击代码放在攻击者页面中,目标网站都包含攻击者的URL

  • 使用服务器端进行跨域优点是:蠕虫代码、逻辑可以很好的隐藏,缺点是在服务器端发起的GET和POST请求无法带上攻击站点的本地Cookie或内存Cookie。CSRF蠕虫只能通过Referer里的唯一值来进行下一步攻击

ClickJacking 蠕虫 ,界面劫持

发动ClickJacking蠕虫攻击,必须满足以下两个条件

  • 在SNS社区中,找到一个可以直接发动HTTP的GET方式提交数据的页面
  • 这个页面可以被iframe标签包含

第十章 关于防御

三个方面防御

  • 浏览器厂商的防御,围绕Web厂商能参与的策略进行
  • Web厂商的防御
  • 用户的防御

浏览器厂商的防御

HTTP响应的X-头部

  • X-Frame-Options

用于防御ClickJacking,有两个值:

  • DENY(禁止被加载任何frame);

  • SAMEORIGIN(仅允许被加载进同域内的frame)

  • X-XSS-Protection

有三个值:

  • 0(表示禁用这个策略);

  • 1(默认,对危险脚本做一些标记和修改,以阻止在浏览器上的熏染执行);

  • 1;mode=block(强制不熏染,在Chrome下直接跳转到空白页,IE下返回一个#符号)

  • X-Content-Security-Policy(即CSP策略,将成为主流)

比如现在的问题,IE下CSS的expression可以执行js,html中的script标签,标签中on事件、标签style属性、标签src/href/action等属性都可以执行js,没有分离,导致很多安全问题,CSP就是解决这些问题

Chrome支持CSP策略的头部是X-WebKit-CSP,而非标准的X-Content-Security-Policy,不过具体策略都一样

CSP语法格式如下:

X-Content-Security-Policy:[指令1] [指令值1] [指令值2];[指令2] [指令值1] [指令值2];....

具体指令参考书本 P339,

主要有指令有:default-srcscript-srcobject-srcimg-srcmedia-srcframe-srcfont-srcconnect-srcstyle-srcreport-uri

指令值有:

(1)、*表示允许所有的来源
(2)、*.foo.com表示来源foo.com的所有子域内容
(3)、https://foo.com表示来源https协议下的foo.com

以下特殊指令值,单引号必须有

(1)、'none'表示空集,即外部资源不被加载
(2)、'self'表示仅同域内的资源可加载
(3)、'unsafe-inline'表示允许内嵌JS/CSS,如

  • 使用token进行防御

用户的防御

附原书购买地址: http://item.jd.com/11181832.html

你可能感兴趣的:(《Web前端黑客技术解密》读书笔记(第九、十章))