看!这里有三种非Web型的XSS注入漏洞
Posted 阿里安全响应中心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了看!这里有三种非Web型的XSS注入漏洞相关的知识,希望对你有一定的参考价值。
此文为翻译文章
原文链接:
https://websec.ca/publication/Blog/Three-Non-Web-based-XSS-Injections
Alejandro Hernández
@nitr0usmx(Twitter)
恭喜翻译作者mss****@先知社区
价值100元的天猫超市享淘卡一张
欢迎更多优质原创、翻译作者加入
欢迎多多投稿到先知社区
前些天,我跟老友Chris Navarrete进行了一次深入的交流,当谈及为什么选择这个职业时,我给出的理由是:
我们喜欢让事物以迥异于初衷的方式运作,例如利用缓冲区溢出来改变执行流程的方向、将javascript代码注入到不该注入的地方。
对于大部分Web安全方面的教程来说,都是教我们如何以非常简单的方式来测试XSS漏洞 "XSS漏洞"):在反射或存储Web请求中的数据输入时,没有进行严格的安全过滤处理,从而导致反射型XSS或存储型XSS漏洞。
通常情况下,当讨论应用程序的安全性时,我们都知道“永远不要信任任何数据输入”这道圣谕;遗憾的是,并非所有开发人员都透彻地理解了“任何数据输入”的真正含义,因此,攻击者总有许多可乘之机。下面,我们举例进行说明:
PowerDNS Recursor
在我们的讨论中,Chris曾经提到曾在一个流行的DNS软件中发现了一个不同寻常的XSS漏洞,所以,我决定以它为例,让读者意识到Web并非唯一的攻击向量。
PowerDNS Recursor是一款高端、高性能的名称解析服务器,至少可以为1亿用户提供DNS解析服务。该产品的设计初衷,主要就是将其用于DNS解析服务器。
有一篇文章详细展示了如何使用命令行工具dig通过DNS查询注入XSS有效载荷的过程:
之后,我们会在Web UI中看到:
Symantec SSL Toolbox
这是三年前我在赛门铁克的SSL Certificate Tester中找到的一个漏洞,在我提交后,目前该漏洞已经得到了修复。这个免费在线服务用于从给定URL的x509 SSL证书中提取和显示相应的值,由于它完全信任这些内容,所以没有对各个字段中的数据进行安全过滤。
因此,我创建了一个SSL证书,使其不同的字段中值都为
<script>alert(document.cookie);</script>,并将其安装在Web服务器的前端:
所以,这个免费服务解析该证书的时候,就会执行JavaScript代码:
RATS
RATS(Rough Auditing Tool for Security)由CERN计算机安全部门开发一款非常优秀的静态代码分析工具。我个人非常喜欢这款工具,并且已经用了许多年了。然而,该工具已经于2013年12月停止更新,估计现在已经没有人在维护该项目了,但具体情况我也拿不准。
去年的时候,由于坐火车时很无聊,为了打发时间,竟然在该软件中找到了一个XSS漏洞。RATS需要接收一个包含源代码的文件夹,并创建一个包含分析结果的html报告,其中还包括所分析文件的名称,因此,攻击向量也就非常明显了。我在其名称中创建了一个包含JavaScript代码的文件:
分析完成之后,注入的JavaScript代码将在报告中呈现:
如果我是一名开发人员,并且知道自己repos中的代码肯定会进行安全审查的话,那么,我肯定会在文件名中加入相关代码来“搞”安全审计人员。
小结
数据输入并不一定来自HTTP请求。
考虑所有可能的数据输入:从文件系统到数据库、用户名、时间戳、日志,不要放过任何可能性。
开发人员不要信任任何数据输入,在后端使用这些数据之前,一定要对接收到的数据以及发回给用户的数据进行彻底的安全过滤。
感谢各位的阅读!
更
多
精
彩
请猛戳右边二维码
Twitter:AsrcSecurity
阿里安全响应中心
以上是关于看!这里有三种非Web型的XSS注入漏洞的主要内容,如果未能解决你的问题,请参考以下文章