XSS攻击原理
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
简单说,进行XSS攻击和写网文差不多,区别只是二者当中一个提交的是文章,另一个提交的是脚本。 通过页面的输入框提交文章的那个人就叫“网文博主”,他的文章是静态的,只是向他人传递信息,表达思想,被其他人看到而已,从功能上说是完全无害的。 而以相同方式提交脚本的那个人则是“XSS攻击者”,他提交的脚本用户看不到,但用户的浏览器却可以识别并执行它们,从功能上说有巨大的安全风险。 这种非法注入的脚本所带来的具体风险,视脚本具体功能而定。其中风险最大的一个莫过于窃取用户本地cookie文件中的“会话”信息,即 session ID。 session ID本质是个身份信息,攻击者通过向被攻击者网页注入脚本,再通过脚本获取其身份信息,就可以用他的身份信息在相关网站做所有能做的事了。 具体来说可以在窃取到用户身份信息后,再构造一个向攻击者服务器发送的请求,以便将身份信息提交给攻击者。 当然,你不能用普通的Ajax请求,因为“跨域限制”机制会阻拦这个请求。 但仍然可以利用web的JavaScript脚本加载与执行的漏洞,通过构建jsonp请求将被攻击者身份信息泄露出去。 不过请放心,这个jsonp的漏洞其实也被打补丁了。那就是使用CSP(Content Security Policy),直译即“内容安全策略”。 CSP可以制定一个白名单,让所有在白名单外的脚本都无法执行,这自然就包括攻击者注入的恶意脚本。 不过考虑到CSP只是被当前主流浏览器支持,要想把使用老旧浏览器的用户也都照顾到,最好同时配合使用传统的反XSS手段。 具体说就是对用户的输入进行过滤和判断,如果发现是脚本而非普通的文本,就要对脚本进行去除或者转义,这样它就无法被执行了。 -END-阅读原文:原文链接 该文章在 2025/8/8 13:09:24 编辑过 |
关键字查询
相关文章
正在查询... |