标记语言

HTML
XML 人类不友好

脚本

JavaScript

渲染引擎

简称“浏览器内核”

Web 存储

跨域资源共享

CORS
XMLHttpRequest
Access-Control-Allow-Origin:*

HTML5

WebSocket
Web Worker
WebRTC
历史

隐患

Bug、漏洞、脆弱性、缺陷
《黑客攻防技术宝典》

HTTP首部安全特征

  • 内容安全策略
  • 安全cookie标志
  • HttpOnly cookie标志
  • X-Content-Type-Options
  • Strict-Transport-Security

沙箱

  • 浏览器沙箱
  • Iframe沙箱

混入内容(机制)

HTTPS+HTTP

攻击面

  • 升级速度
  • 静默更新
  • 扩展
    常见的XSS隐患
  • 插件

Fuzzy测试–>各式各样模糊测试反应

加密通信

同源策略

#SOMETHING
URI 统一资源定位符
URL 统一资源标识符
URN 统一资源名称

escape()
encodeURI()
encodeURIComponent()

DOM:Document,Object,Model
iframe>内联框架当前文档中嵌入另一个文档

<script>alert(1)</script>
<img src=# onerror="alert(1)" />
<input type="text" value="x" onmouseover="alert(1)" />
<iframe sec="javascript:alert(1)"></iframe>
<a href="javascript:alert(1)">x</a>

AJAX风险

Asynchronous JavaScript And XML

  • 创建快速动态网页的技术
  • 部分网页更新
function load()
{
    var xmlhttp;
    xmlhttp=new XMLHttpRequest();
    xmlhttp.onreadystatechange=function()
    {
        if(xmlhttp.readyState==4&&xmlhttp.status==200)
        {
            document.getElementById('muDiv').innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","info.txt",true);
    xmlhttp.send();
}

Cookie安全

CSRF
Cookie重要机制…

本地存储风险

  • Cookie
  • UsreData
  • LocalStorage
    • HTML5的LocalStorage是大势所趋
    • LocalStorage无法跨浏览器存在
    • LocalStorage存储的数据永久存在
  • Local Database
  • FlashCookie
  • JavaScript函数劫持
    • 在目标函数执行前重写函数
    vap _eval=eval;
    eval = function(x){
      if(typeof(x)=='undefined'){return;}
      alert(x);
      _eval(x);
    };
     eval('alert(1)');

$$ADT=(A,D,T)$$