某学习APP存在收货地址全局越权删除

  • A+
所属分类:安全文章
某学习APP存在收货地址全局越权删除
点击关注我哦

某学习APP存在收货地址全局越权删除

 

漏洞类型】:业务逻辑漏洞

 

【漏洞级别】:高危

 

【漏洞描述】:

我的 =》商城=》替换data返回值 =》正常进入兑换界面 =》 地址管理 =》地址删除处可以遍历ptAddressId导致删除任意用户使用的地址,涉及80多w用户地址。

 

【漏洞URL】:

xxx.top/integralapi/api/outer/points/orders/deletePtAddress?ptAddressId=857677&source=wechat

 

【复现步骤】:

打开某APP =》 我的 =》福利商城=》替换data返回值 =》正常进入兑换界面 =》地址管理 =》地址删除处存在越权


正常情况下因为彩虹币不够 是不能进入兑换购买界面

但是可以通过修改点击商品时的第一个请求包的返回包的data值,进入正常的兑换流程

某学习APP存在收货地址全局越权删除

将data修改成任意值 最好大一些99999之类的 超过商品价值就行

某学习APP存在收货地址全局越权删除

然后进入兑换界面:

某学习APP存在收货地址全局越权删除

进入商品兑换界面后,商城有地址管理:

某学习APP存在收货地址全局越权删除

然后在地址删除时,可以遍历ptAddressId值,然后越权删除全局用户地址

某学习APP存在收货地址全局越权删除

 

具体验证:

A账户下有地址 ptAddressId=857964

某学习APP存在收货地址全局越权删除

然后在B账户下,随便删除地址时:

某学习APP存在收货地址全局越权删除

替换ptAddressId的值,将其替换成A账户下的待删除地ptAddressId=857964

某学习APP存在收货地址全局越权删除

然后去A账户查看地址是否被删除:

某学习APP存在收货地址全局越权删除

再回到A账户下 发现ptAddressId=857964的地址被越权删除了


同理因为这里的地址id构造简单,而且是叠加的,所以这里可以直接遍历id,将所有用的地址全部越权删除,涉及到80W用户地址

某学习APP存在收货地址全局越权删除

 

修复方案:

1、限制请求的频率,后端进行用户权限的校验。

2、尝试添加验证码或者是token随机值。

PS:本文仅用于技术讨论与分析,严禁用于任何非法用途,违者后果自负

EDI安全

某学习APP存在收货地址全局越权删除

扫二维码|关注我们

一个专注渗透实战经验分享的公众号



发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: