一、攻击类型
反射型:
攻击代码在url中,作为输入提交到服务器,服务器解析后响应,XSS代码随响应返回给浏览器,浏览器解析执行XSS代码
存储型
提交的代码会存储在服务器端(数据库/内存/问价系统),下次请求目标页面不用在提交XSS代码
二、防范
编码
符号 | 说明 |
---|---|
" | " |
& | & |
< | < |
> | > |
' | #39 |
\n | <br> |
空格 | |
过滤
1、移除用户上传的DOM上的属性事件
2、移除用户上传的style、script、Iframe节点
校正
1、避免对HTML 解码
2、使用DOM Parse转换,校正不配对的DOM标签
<script>
$(document).ready(function () {
var xmr = new XMLHttpRequest();
var url = 'https://www.baidu.com';
xmr.open('GET',url,true);
xmr.onreadystatechange = function () {
if (xmr.readyState == 4) {
if (xmr.status == 200) {
console.log("ok")
} else {
console.log('fail')
}
}
};
xmr.send();
})
</script>
网友评论