1.xss是什么:跨站脚本攻击(Cross Site Scripting) a.通过恶意的script脚本获取用户信息或进
行攻击 b.影响范围主要在客户端
2.集中常见的xss:1 存储式(通过存储到数据库中进行攻击)
通过输入恶意脚本,存储在服务端,在每次调用数据库的时候,将数据
呈现在客户端,这种攻击会一直存在,可以用于盗取用户信息
2 反射式(依靠站点服务端返回脚本,在客户端触发执行从而发起web攻
击) 例如:通过构造url,或者构造相应的表单数据,盗取对应的数据。
3 基于dom的xss,客户端本身对脚本的解析不正确导致
3 xss同csrf之间的区别
CSRF的定义 ◦Cross-site request forgery 跨站请求伪造
◦服务端信任用户的请求,通过伪装为信任的用户进行对服务端进行攻击
区别
◦Xss为客户端信任服务端,允许服务端的任何信息进行允许
◦CSRF则为服务端信任客户端,没有对用户信息进行校验
◦Xss主要集中于html标签以及js脚本,对客户端进行破坏
◦CSRF主要侧重于跨站,伪造获取服务端信息
4 xss攻击出现的原因
1 浏览器对html本身的解析方式造成的
2 HTML特性决定◦可以执行脚本的地方太多,比如onclick事件,html标签属性
5 xss攻击示例
输入框中直接输入恶意脚本
◦比如:<script>alert(document.cookie)</script>
输入框中输入html标签,在标签中嵌套恶意脚本
◦比如<IMGSRC="javascript:alert('XSS');">;
将脚本注入到event事件中,如click
◦<a onclick="alert(document.cookie)">xxslink</a>
Meta标签◦<META HTTP-EQUIV="Set-Cookie"Content="USERID=<SCRIPT>alert('XSS')</SCRIPT>">
6 后端框架处理xss攻击
6.1:原则 不要相信任何用户的直接输入或者间接输入。
6.2:方式:对输入的内容进行转码 对输入的内容进行过滤(比较常用) 常用实现:https://blog.csdn.net/kouwoo/article/details/41946683
网友评论