XSS攻击
什么是xss攻击?
跨站脚本攻击 Cross Site Scripting
-
为什么其缩写不是css呢?原因是为了和重叠样式表css进行区分
XSS攻击是指攻击者通过在网页中注入恶意脚本,使得用户在浏览网页时执行该脚本,从而达到攻击的目的。
攻击者可以盗取用户Cookie,密码等重要数据。
例如:用户在评论框输入了javascript脚本而非正常文本,后台没有对该用户数据进行处理,直接放入数据库。那么,当第三方如其他用户访问该页面时,浏览器就会执行该脚本,从而盗取个人信息。
有哪些XSS攻击?
XSS攻击可以分为反射型、存储型和DOM型三种类型。
-
反射型XSS攻击是指攻击者将恶意脚本注入到URL参数中,当用户点击该URL时,恶意脚本会被执行。
-
存储型XSS攻击是指攻击者将恶意脚本存储到服务器上,当用户访问包含该恶意脚本的页面时,恶意脚本会被执行。
-
DOM型XSS攻击是指攻击者将恶意脚本注入到页面的DOM元素中,当用户与该元素交互时,恶意脚本会被执行。
如何防止XSS攻击?
后端永远不要轻易相信用户端提交的数据!!!
-
对用户提交的信息进行"消毒处理",也就是说对特殊字符进行过滤和转义。对js脚本中的<>进行转移<>再进行存储。
-
cookie中设置HttpOnly属性,js脚本将无法读取到cookie信息!
-
设置HTTP响应头中的Content-Security-Policy(CSP)字段,限制页面中可以执行的脚本来源。