互联网安全观察

2012 年移动互联网浪潮开始,新出现的应用很少有 XSS 和 SQL 注入漏洞。越权和绕过漏洞明显增多,甚至占到主要比重。(大概是因为互联网公司加班和缺乏充分测试所致。)而更糟糕的是,后者没有可用的形式化防范和测试方法(SQL可以预编译,XSS可以使用开启引擎的默认转义),漏洞挖掘比起前者更加依赖经验。

对新兴事物重视不足,比如最新流行的 NoSQL,可能出现未授权访问、注入,以及竞态条件(Race Condition)等漏洞。(因为大家普遍认为新兴事物是“默认安全”的,并且对NoSQL 的隔离级别不了解而没有意识到使用事务。)在 Redis 未授权访问一周年之际,Mongo和Hadoop(?)也爆出了此类漏洞。近几年后端的演变向着服务化和容器化的方向进行,此类服务只会多不会少,而大部分服务都是没有“默认安全”的。

过多重视 PHP,导致过度重视 PHP 独有的漏洞,比如文件包含,以及文件上传(由于PHP 的默认不安全的路由机制导致)。现在 Web 应用基本都使用自定义的动态路由,很难执行路由之外的页面。

过度重视 Web 而忽视了二进制。XSS 需要结合 JS 引擎的攻击和溢出,否则你连计算器都弹不了,只能收集一下用户的 Cookie。服务器方面,最终的提权也需要内核漏洞的配合。