0x00:前言
上周做渗透,有一个 sql 注入,负责安全审核的人给开发说你们的程序既然还有 sql 注入,我一年也看不见几个。这句话让我又再次深刻的认识到,渗透测试常规的一些注入跨站漏洞不如以前那么盛了,有点经验的开发写东西都会去考虑到了,再加上修复方法也在逐渐的完善,逻辑类的东西也应该并重的去测。
0x01:分类
我把逻辑类的问题大概总结了一下,大概可以分为十个模块,分别是登录认证模块测试、业务办理模块测试、业务授权访问模块测试、输入 / 输出模块测试、回退模块测试、验证码机制测试、业务数据安全测试、业务流程乱序测试、密码找回模块测试、业务接口调用模块测试。
这次记录的是第七个模块业务数据安全测试。
0x02:业务数据安全测试
1,商品支付金额篡改测试
测试方法:在一些电商系统或是支付购买商品功能处,生成订单后去支付时,拦截其请求,看支付金额是否可以修改,修改后提交至服务区器,如果成功返回,且存在此问题。
修复方法:对于一些支付类的信息,不能在前端控制,其校验信息应该由后端来完成。
2,商品订购数据篡改测试
测试方法:这个和商品支付金额负数,提交后弱服务器成功返回,则存在此问题。
修复方法:后端应该对其风险进行控制,对异常的交易行为进行限制和阻断,其异常行为例如积分为负、交易商品数量为负、交易商品数量和金额不符,商品数量为 0 等。
3