我正在处理客户的 PCI 合规性问题。其中一项不合格项目是:
3.1.4. 盲 SQL 注入(httpgenericscriptblindsqlinjection)
提供的解决方案很简单:“确保 Web 应用程序在 SQL 查询中使用用户输入之前对其进行验证和编码。”
它似乎与 OWA 相关,因为它的站点为:“使用方法 GET 在 http:///owa/?P=+ADwscript+ AD4alert(42)+ADw/ script+AD4 上发现盲 SQL 注入”
有人知道如何解决这个特殊问题吗?
答案1
我认为“SQL 注入”这个术语会误导您。他们实际上描述的是 XSS(跨站点脚本)攻击。
您可以在此处阅读有关此特定漏洞的信息:http://msdn.microsoft.com/en-us/library/dd565635%28v=vs.85%29.aspx
基本上,http:///owa/?P=+ADwscript+ AD4alert(42)+ADw/ script+AD4
在某个地方,在没有指定其编码类型的文档中返回完全未经净化的精确输入。
这意味着该代码实际上由您的浏览器呈现和解析,并<script>alert(42)</script>
在加载时显示弹出“42”。
这个特定的脚本并不是很恶意,但是如果你将人们的帐户重定向到你服务器上的该 URL,你可能会对他们的帐户做一些非常恶意的事情。比如从你的服务器嵌入一个恶意的 JS 文件,劫持页面上的所有输入,或者在页面中插入病毒等。
但是,我找不到任何迹象表明 OWA 存在这些漏洞,所以我只能假设你的 OWA 服务器正在运行某些别的存在此漏洞。
我刚刚尝试利用此漏洞攻击我们这里的 Exchange 2010 服务器,但没有任何效果。如果这是一台 SBS 2011 机器(如您的标签所示),那么远程访问/owa 站点通常仅在文件夹下运行/remote/
。您是否在域的根目录上运行了另一个默认 IIS 应用程序?