基于Burpsuite的安全测试八:业务办理模块

基于Burpsuite的安全测试八:业务办理模块

情景1:订单ID篡改测试

  1. 交易业务中,如果没有考虑登录后用户权限隔离的问题,会导致攻击者篡改订单id从而获取其他用户订单详情等敏感信息。

情景2:手机号码篡改测试

  1. 如果用户登录后的某些功能点没有考虑用户权限问题,会导致攻击者篡改手机号并做一些其他非法操作。

情景3:用户ID篡改测试

  1. 订单类业务对用户ID进行篡改。

情景4:邮箱和用户篡改测试

  1. 攻击者抓包纂改发信请求,可以伪造发信人,发送钓鱼信件。

情景5:商品编号篡改测试

  1. 可通过修改金额或者商品编号来低价买入高价商品。

情景6:竞争条件测试

  1. 多个进程共同运行的时候会同时访问数据库,因为服务端逻辑和数据库读写存在时序问题,所以有可能在多线程时利用数据库中金额更新之前多次购买商品。
  2. 订单提交时抓包,然后设置多个线程重该包,个别请求就可能绕过金额、次数等的判断,交易成功。
  3. 高频率点击提交按钮也可能导致生成多笔订单。

系统修复方案:

  1. 综合运用Session机制、订单用户信息、登录者信息一致性,来做好平行权限控制,如不一致则拒绝请求。
  2. 商品金额不要在客户端传入,如果需要在客户端传入则服务器收到请求后要和实际的商品价格做对比,是否一致,如果不一致则拒绝该交易。
  3. 处理订单、支付等业务时,使用悲观锁或者乐观锁保证事物的ACID(原子性、一致性、隔离性、持久性)特性,即数据库在处理数据时锁表等操作,使其处理时的时间差不可利用。避免数据脏读,即一个事物读取了另一个事物未提交的数据。

猜你喜欢

转载自blog.csdn.net/chang_jinling/article/details/92386579