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

admin 2020年10月2日11:30:50评论205 views字数 763阅读2分32秒阅读模式
某学习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存在收货地址全局越权删除

扫二维码|关注我们

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



  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年10月2日11:30:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某学习APP存在收货地址全局越权删除http://cn-sec.com/archives/148740.html

发表评论

匿名网友 填写信息