何为XSS攻击及反制措施

发布时间 2023-10-11 23:09:56作者: 3DG

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)字段,限制页面中可以执行的脚本来源。