笔者在最近与一家安全扫描器厂商的合作中听到了「盲打」这个概念,当时就很好奇,这是个新的安全攻击方式吗?
对方的工程师给了笔者解答,他们的扫描器可以发起经过特殊配置的攻击请求,使得含有被攻击漏洞的服务器 A 执行请求中配置的命令,回连到提前设置好的一台服务器 B 上。这样,通过服务器B的连接纪录就可以知道服务器 A 是否含有特定的漏洞,典型的有非法命令执行和存储型XSS 这两大类。当然,这种检测方式对于其他不存在命令执行过程的漏洞则无能为力了。
盲打这个词不仅出现在上述场景中,如果大家上网搜索「安全 盲打」这个关键词,得出的结果多数是「 XSS 盲打」,而这个概念和我刚刚解释的这个概念相似却不完全相同。网上的解释多是:准备好 JS 代码,见输入框就填!即尝试所有可以输入(注入)的地方,攻击能否成功靠运气。但凡哪个倒霉网站有个输入框没做过滤,就可能中招了!这是「被动型 XSS 盲打」。从这个角度看,扫描的盲打和攻击的盲打是一回事。只不过,由攻击触发的回连动作不会给被攻击者造成任何损失。
相比前面介绍的「被动型盲打」,另一种「主动型 XSS 盲打」,即攻击者知道网站采取数据的方式,而不知道数据展现的后台的情况下,通过主动提交具有真实攻击功能 XSS 代码给程序而触发的 XSS 盲打,要更具威胁一些。部分扫描器可以通过配置生成一些常见的恶意攻击,来达到发现漏洞的目的。
因此尽管扫描可以被看作是一种攻击,但目的不同,决定了结果不同。如果我是个设计扫描器的,扫描请求应该被设计成有攻击性而无害。但真实的扫描器是否如此设计就不得而知了。如果把扫描器比作一支矛,为了避免扫描器对业务逻辑潜在的「破坏」,主动的自我防护产品 RASP 可以充当一把盾挡在应用的前面,监视扫描器的一举一动,迎接扫描器的挑战!
首先,RASP 产品自身具备监测非法命令执行和 XSS 注入 这两类漏洞的能力(当然不限于这两类);其次,RASP 产品在监听到这两类攻击后会把详细信息呈现在管理视图里供运维人员甄别,从而采取适当措施——可以先配置 RASP 阻止此类恶意请求,然后让开发人员着手从容修复漏洞。
本文系 OneASP 质量架构工程师王新泉原创文章。如今,多样化的攻击手段层出不穷,传统安全解决方案越来越难以应对网络安全攻击。 OneRASP 实时应用自我保护技术,可以为软件产品提供精准的实时保护,使其免受漏洞所累。想阅读更多技术文章,请访问OneAPM 官方技术博客