标记语言
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)$$