Web安全测试中常见逻辑漏洞解析(实战篇)
简要:
越权漏洞是比较常见的漏洞类型,越权漏洞可以理解为,一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,对信息进行增删改查的时候没有进行一个判断,判断所需要操作的信息是否属于对应的用户,导致用户A可以操作其他人的信息。
逻辑漏洞挖掘一直是安全测试中“经久不衰”的话题。相比SQL注入、XSS漏洞等传统安全漏洞,现在的攻击者更倾向于利用业务逻辑层的应用安全问题,这类问题往往危害巨大,可能造成了企业的资产损失和名誉受损,并且传统的安全防御设备和措施收效甚微。Web安全测试中逻辑漏洞的挖掘经验:
一:订单金额任意修改
解析
很多中小型的购物网站都存在【订单金额任意修改】漏洞。在提交订单的时候抓取数据包或者直接修改前端代码,然后对订单的金额任意修改。
如下图所示:
经常见到的参数大多为:
rmb 、value 、amount 、cash 、fee 、money 等
关于支付的逻辑漏洞这一块还有很多种思路,比如相同价格增加订单数量,相同订单数量减少产品价格,订单价格设定为负数等等。
预防思路
1.订单需要多重较验,如下图所演示:
2. 订单数值较大时需要人工审核订单信息,如下图所演示。
二:验证码回传
解析
这个漏洞主要是发生在前端验证处,并且经常发生的位置在于
账号密码找回 、账号注册 、支付订单等
验证码主要发送途径
邮箱邮件 、手机短信
其运行机制如下图所示:
黑客只需要抓取Response数据包便知道验证码是多少。
预防思路
1.response数据内不包含验证码,验证方式主要采取后端验证,但是缺点是服务器的运算压力也会随之增加。