+

xss注入

介绍

xss是跨站脚本伪造,是产生在游览器一段的漏洞,他是攻击者在网页中嵌入客户端脚本,主要利用js编写的恶意代码来执行一些想要的功能,也就是说它能干嘛是受到js的控制,那么js能执行出什么脚本代码就取决于它能干嘛。当用户使用浏览器浏览被嵌入恶意代码的网页时,恶意代码将会在用户的浏览器上执行。他可以进行cookie的盗取,js做钓鱼攻击,流量指向,网页页面信息获取,键盘输入获取等危害

分类

反射型XSS
是一种非持续型攻击。漏洞本身存在,但是需要攻击者构造出来,然后让对方去触发。它不会对正常的访问造成跨站攻击。这种攻击是一次型攻击,它不会写入到数据库里。当用户访问一个带有XSS代码的URL请求时,服务器端接收数据后处理,然后把带有XSS的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,最终造成XSS漏洞。这个过程就像一次反射。
DOM型
基于DOM的XSS漏洞是指受害者端的网页脚本在修改本地页面DOM环境时未进行合理的处置,而使得攻击脚本被执行。他可以修改页面的元素,比如页面有个按钮他本来不允许点击,但是攻击者可以通过诱导用户点击恶意网站,这个按钮就可以点了,当然,我这个说明这是举例,他可能不会造成什么危害,但是攻击者可以通过别的伪造页面配合这个点击事件进行欺骗
存储型 XSS
攻击者将恶意代码提交到目标网站的数据库中。
用户打开目标网站时,网站服务端将恶意代码从数据库取出,拼接在 HTML 中返回给浏览器。

流量特征

他的流量特征也较明显,通常会有script,尖括号,alert,cookie,而dom型的特征就有onlick,prompt,confirm

修复

XSS漏洞防御 1、对输入和URL参数进行过滤(白名单和黑名单) 检查用户输入的数据中是否包含一些特殊字符,如<、>、’、“等,发现存在特殊字符,将这些特殊字符过滤或者编码。
2、HTML实体编码 字符串js编码转换成实体html编码的方法(防范XSS攻击) https://www.cnblogs.com/dearxinli/p/5466286.html
3、对输出内容进行编码 在变量输出到HTML页面时,可以使用编码或转义的方式来防御XSS攻击。