【随笔】XSS漏洞
原理
XSS是跨站脚本攻击,是指用户向web页面插入js代码,当用户浏览这个页面时,web中嵌入的js代码会被执行。xss漏洞主要是对输入和输出没有严格控制与检验,导致输入的脚本到前端时可以被执行从而产生一些危害。
XSS的分类
思维导图
反射型
交互的数据一般不存在数据库中,例如查询等页面
xss代码出现在url参数中,浏览器发出的请求后参数提交到服务器,服务器接收后参数值出现在相应的html中,浏览器解析并执行了xss代码
<script>alert("helloworld")</script>
作用可获取cookie值
存储型
交互的数据一般存储在数据库中,例如注册,留言等页面
DOM型
不与后台服务器产生交互
防御方法
调用函数
对用户提交的数据可以通过调用函数进行过滤
htmlspecialchars()//函数将输入的内容进行html编码,效果最好 str_replace()//函数可以将指定的字符串转为其他字符串的,但是会被绕过
-
输出编码
可以使用HTML编码(PHP的htmlspecialchars()函数、ASP的Server.HTMLEncode()函数、ASP.NET的Server.HtmlEncode()函数),用对应的HTML实体替代字面量字符,此时浏览器会将恶意代码当作HTML文档的内容而不是结构加以处理。

浙公网安备 33010602011771号