0x00:前言
上周做渗透,有一个 sql 注入,负责安全审核的人给开发说你们的程序既然还有 sql 注入,我一年也看不见几个。这句话让我又再次深刻的认识到,渗透测试常规的一些注入跨站漏洞不如以前那么盛了,有点经验的开发写东西都会去考虑到了,再加上修复方法也在逐渐的完善,逻辑类的东西也应该并重的去测。
0x01:分类
我把逻辑类的问题大概总结了一下,大概可以分为十个模块,分别是登录认证模块测试、业务办理模块测试、业务授权访问模块测试、输入 / 输出模块测试、回退模块测试、验证码机制测试、业务数据安全测试、业务流程乱序测试、密码找回模块测试、业务接口调用模块测试。
这次记录的是第二模块业务办理模块。
0x02:业务办理模块测试
1,订单 ID 篡改测试
测试方法:对于一些购买东西的功能,当到订单详情页时,可以刷新页面拦截包,发送到 Repeater,修改其中的 id 订单号,看是否会返回对应的订单信息,如正常返回则存在此问题。
经验之谈:如果存在此问题,则也就意味着同时也存在越权的问题。测试的时候,可以准备两个账号,修改 id 订单号时方便测试。
修复方法:在后台查看订单时要通过 Session 机制去判断用户身份,服务端要去校验相应订单和登录者的身份是否一致,如果不一致则应该拒绝请求,防止出现水平越权泄露个人隐私信息。
2,手机号码篡改测试
测试方法:对于一些登录后才可以使用的功能,