安基网 首页 安全 Web安全 查看内容

xss攻击执行原理小结

2019-9-8 17:04| 投稿: xiaotiger |来自: 互联网


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 什么是XSS?xss全称跨站脚本(Cross-site scripting),是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以 ...

什么是XSS?

xss全称跨站脚本(Cross-site scripting),是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。

危害

XSS带来的危害有:窃取用户cookies,窃取个人信息;劫持会话,操纵用户网络数据;发起ddos攻击; 篡改页面、弹出广告等。

类型

1、非持久型

1.1 反射型 用户将带有xss攻击的代码作为用户输入传给服务端,服务端没有处理用户输入直接返回给前端。

1.2 DOM-based型 DOM-based xss是由于浏览器解析机制导致的漏洞,服务器不参与。因为不需要服务器传递数据,xss代码会从url中注入到页面中,利用浏览器解析script、某些标签的属性和方法触发xss 。

2、持久型 用户含有xss代码的输入被存储到数据库或者存储文件上。

xss执行原理

造成xss代码执行的根本原因就在数据渲染到页面过程中,html解析触发执行了xss脚本。

脚本的注入分两类:

1、直接注入script脚本。

2、通过某些标签的属性和事件。比如:、xss

直接注入script脚本:我们可能经常使用jquery,通过html()方法去操作页面。这个时候就会触发xss,因为jquery的html()方法设计初衷就是让js脚本执行。原因是:jquery解析到script就会通过createElement('script')创建一个script节点,而此时浏览器就会去执行这个script; 同样的原生js的api,innerHTML也会把含有script脚本的字符串当成标签解析到浏览器,只不过因为浏览器加载js的原则:只会在页面加载时执行一次。所以通过innerHTML无法触发xss。 text()、innerText等方法都是把含xss字符串当作文本节点,所以无法被解析成html节点,也就不会触发xss。

通过属性和事件:。因为img标签未闭合所以会触发 onerror事件,导致xss脚本执行。

通过属性和事件触发是依赖html标签注入到页面,在这个过程中会被chrome浏览器的XSS Auditor拦截。

防御

请记住一句:不要相信用户的输入。

XSS防御的总体思路是:对输入(和URL参数)进行过滤,对输出进行转义。

过滤库 转义库

希望本文能帮助到您!

点赞+转发,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓-_-)

关注 {我},享受文章首发体验!

每周重点攻克一个前端技术难点。更多精彩前端内容私信 我 回复“教程”

原文链接:http://eux.baidu.com/blog/fe/xss%E6%94%BB%E5%87%BB%E6%89%A7%E8%A1%8C%E5%8E%9F%E7%90%86%E5%B0%8F%E7%BB%93

作者:龙山晴雪



小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/i6733793124818108939/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

 最新
返回顶部