目录
XSS(跨站脚本攻击)
概念
黑客通过“HTML注入”篡改网页,插入恶意脚本,当用户浏览网页时,实现控制用户浏览器行为的一种攻击方式。 利用盗取用户的cookie,以正常用户身份来访问站点
分类
存储型XSS
原理
过程:黑客首先恶意构造XSS脚本并写入数据库中,用户打开浏览器,访问嵌入了XSS脚本的页面,浏览器向后端WEB应用程序请求内容,页面中的留言是存储在数据库中,所以会查询数据库,数据库会将携带XSS脚本的留言给用户,最终展现在用户浏览器触发XSS。
反射型XSS
主动访问携带XSS脚本的链接触发XSS。XSS脚本包含在URL的参数中
原理:获取参数,直接输出到客户端,触发XSS
过程:用户访问携带XSS脚本的链接,浏览器向后端WEB程序发送请求,后端程序将URL中的XSS脚本数据写入响应页面并返回给浏览器,浏览器渲染响应页面触发XSS。
DOM型XSS
主动访问携带XSS脚本的链接。XSS脚本包含在URL的hash中,#号分割符,URL中的hash不会发送到后端服务器的
原理:从URL的hash中取出值然后赋值给errorMsg ,然后将errorMsg用URL编码进行解码,在以一定的HTML形式写入id为errorMsg的DOM中
过程:用户在浏览器中访问带有XSS脚本的链接,浏览器通过JS从URL提取出XSS脚本内容,并写入到DOM中触发XSS