本文针对WASC给出的分类,根据测试经验,进行进一步分析,从检测角度进一步完善攻击类型。
WASC的漏洞分类相比OWASP来说,更加的具体,比如OWASP就是失效的认证会话管理,WASC分开说:Insufficient Authentication(身份认证不足)、Credential/SessionPrediction(会话凭证可预测) 、Session Fixation(会话固定),从挖漏洞角度来看,确实更准确的说明了漏洞存在的原理,比如会话凭证可预测是指会话凭证,如token值不够随机,存在某种规律,可被攻击者破解,这样攻击者就可以伪造成合法用户进入系统了,会话固定是指登陆前后,会话的session值未更新,如果说攻击者拿到了之前的会话session信息,同样可以伪造成合法用户访问系统。
WASC还有一些更贴近业务的漏洞种类,比如:Insufficient Anti-Automation(防止自动化缺失),比如爬虫就是一种自动化技术,对我们的业务系统也有潜在的安全风险,而防止这种自动化的机器行为目前使用的最多的就是验证码,但如果验证码没有合理设置,比如验证码不过期这个漏洞,或者验证码可绕过,都是一种防止自动化缺失的漏洞。还有:Abuse of Functionality(功能滥用),这也是一种业务漏洞,比如常见的接口未设置合理的访问控制,如短信平台,攻击者可随意使用,导致短信炸弹,给用户和企业造成损失。
说明:其实日志或者流量上是不能监测到一些攻击的,比如:
1、访问控制缺陷,这个漏洞是因为未对用户进行有效的访问控制,导致非法用户可以访问合法用户才能访问的系统,包括越权和未授权访问,但从日志或者流量上看,并没有明显的攻击特征。(需要通过黑名单白名单进行检测)
2、传输层保护缺失,比如http明文传输用户的敏感信息,如密码,是漏洞,但不是攻击行为。
3、跨站请求伪造,攻击者让受害者访问的请求可以说是“合法的”,受害者确实访问了这个链接,但是在不知情或者说受到欺骗的情况下,所以该攻击并不能监测到。
4、Insufficient Process Validation(过程验证缺失)
如下是WASC
WASC-01 Insufficient Authentication(身份认证不足)
WASC-02 Insufficient Authorization(访问控制缺陷 )
WASC-03 Integer Overflows(整数溢出)
WASC-04 &nbs