XSS基本学习

跨站脚本攻击:XSS

指黑客通过html注入篡改了网页,插入了恶意的脚本,从而在浏览网页时,控制用户浏览器的一种攻击。

XSS根据效果的不同可以分为如下几类:

第一种类型:反射型XSS

反射型XSS只是简单的把用户输入的数据反射给浏览器。也就是说,黑客往往需要诱使用户点击一个恶意链接,才能攻击成功。反射型xss也叫做非持久型xss。

第二种类型:存储型xss

存储型xss会把用户输入的数据存储在服务器端。这种xss具有很强的稳定性。

比如黑客写下一篇包含有恶意Javascript代码的博客文章,文章发表后,所有访问该博客文章的用户,都会在他们的浏览器中执行这段恶意的js代码。黑客把恶意的脚本服务器端,所以这种xss攻击就叫做存储型xss。

存储型xss通常叫做持久型xss

第三种类型:dom based xss

通过修改页面的dom节点形成的xss,称之为dom based xss

xss payload

xss payload实际上就是javascript脚本,例如读取浏览器cookie对象,引发cookie劫持,构造get与post请求

xss构造技巧

1.利用字符编码

2.绕过长度限制

3.使用<base>标签

4.window.name

正确防御xss:

xss的本质是一种html注入,如果使用了mvc框架,那么xss发生在view层,所以在用户提交数据处进行输入检查的方案,其实并不是在真正发生攻击的地方做防御

原文地址:https://www.cnblogs.com/amberamber/p/3343556.html