XSS攻击

攻击方式

1.反射型

发出请求时,XSS代码出如今URL中,做为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一块儿传回给浏览器,最后浏览器解析执行XSS代码。这个过程想一次反射,故叫反射型XSS。html

// 适用范围:后端接口会根据url后面拼接传参的参数原样返回的
// 浏览器植入XSS脚本
localhost:3000/?xss=<img%20src="null"%20onerror="alert(1)"/>
// 植入文字
localhost:3000/?xss=<p%20onclick="alert(%27点我%27)">点我</p>
// 嵌套网站
localhost:3000/?xss=<iframe%20src="//baidu.com/t.html"></iframe>

2.存储型

存储型XSS和反射型XSS的差异仅在于,提交的代码会存储服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。数据库

防护措施

1.过滤

移除用户上传的DOM属性,如onerror等,移除用户,上传的Style节点、Script节点、Iframe节点等后端

2.校订

避免直接对HTML Entity解码
使用DOM parse转换,校订不配对的DOM标签浏览器

相关文章
相关标签/搜索