神刀安全网

从0到1学习网络安全 【Web安全入门篇-XSS 跨站脚本漏洞】

一、什么是 XSS

XSS全称(Cross Site Scripting)跨站脚本攻击,是最常见的Web应用程序安全漏洞之一,位于OWASP top 10 2017年度第三名XSS是指攻击者在网页中嵌入客户端脚本,通常是JavaScript编写的危险代码,当用户使用浏览器浏览网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的。

二、XSS 原理

用户提交的数据没有过滤,或者过滤不严格,输出到网页中 ,导致可以构造执行JS代码,或者修改网页内容。

三、XSS 危害

1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

3、盗窃企业重要的具有商业价值的资料

4、非法转账

5、强制发送电子邮件

6、网站挂马

7、控制受害者机器向其它网站发起攻击

四、XSS 分类

反射型XSS:
反射型XSS,又称为非持久型XSS。XSS代码出现在URL参数中,浏览器发出请求时,参数值作为输入提交到服务器,服务器解后参数值出现在响应的HTML中,最后浏览器解析执行了这段XSS代码。

存储型XSS:
存储型XSS,又称持久型XSS,它和反射型XSS最大的不同就是,攻击脚本将被永久地存放在目标服务器的数据库或文件中。

DOM XSS:
DOM XSS,与反射型XSS和存储型XSS的差别是在于DOM XSS的代码不需要服务器解析响应的直接参与,触发XSS靠的是浏览器DOM解析器的解析,可以完全认为是客户端的事情。

五、漏洞演示

  • 反射型

Step1:打开页面输入your name 发现页面返回Hello加我们输入的内容。

从0到1学习网络安全 【Web安全入门篇-XSS 跨站脚本漏洞】

image.png

Step2:于是我们输入Js脚本它会不会也同样输出呢?

脚本语法:

<a onclick="alert(1)">点击出现弹框!</a> //设置<a>标签单击事件,点击出现弹框 
  • 如图:

    从0到1学习网络安全 【Web安全入门篇-XSS 跨站脚本漏洞】

    image.png

Step3:单击发现弹框出现,这种非持久性XSS 就属于反射型 XSS。

从0到1学习网络安全 【Web安全入门篇-XSS 跨站脚本漏洞】

image.png


  • 存储型

Step1:在留言页面输入留言发现输入内容被存入数据库。

从0到1学习网络安全 【Web安全入门篇-XSS 跨站脚本漏洞】

image.png

Step2:同样我们输入脚本代码。

从0到1学习网络安全 【Web安全入门篇-XSS 跨站脚本漏洞】

image.png

Step3:发现我们输入的脚本代码已经执行。

从0到1学习网络安全 【Web安全入门篇-XSS 跨站脚本漏洞】

image.png

Step4:刷新页面发现脚本代码再次执行,这种持久性XSS 就属于存储型XSS。

从0到1学习网络安全 【Web安全入门篇-XSS 跨站脚本漏洞】

image.png


六、XSS 防御

1、对XSS的防御需要根据实际情况对用户的输入进行严格的过滤。基于过滤的XSS防御方式通常可分为两种:基于黑名单的过滤和基于白名单的过滤。后者的防御效果往往更好,对于用户在白名单之外的输入,可以直接忽略。在构造白名单的过程中需要保证在不影响用户体验的同时,尽可能杜绝一切不必要的输入内容。
2、在cookie中加入httponly属性可以在一定程度上保护用户的cookie,减少出现XSS时损失。
3、Flash XSS的修复需要对相应的flash进行修改或升级替换。


注:《白帽子讲Web安全》中有一句话:互联网本来是安全的,自从有了研究安全的人之后,互联网就变得不安全了。
所以,小编希望大家都是白帽子,而不是一群只会搞恶作剧的骇客。

由于小编也在学习中,写的不好见谅。
从0到1学习网络安全 【目录】
小编最近建了交流群方便大家交流学习,群内有小编平时整理的学习资料、视频、工具等。
白帽交流群 【简介】
感谢大家支持。

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 从0到1学习网络安全 【Web安全入门篇-XSS 跨站脚本漏洞】

分享到:更多 ()