会员升级变“装修”——这火气必须发泄一下

说白了,就是爱较真。特别是遇到那种花钱买罪受的事儿,那真是气不打一处来。这回的事儿,得从我那个倒霉的健身房说起。去年非让我搞了个“会员尊享升级”,说是什么能用所有的分店设备,交了整整一万块钱,票子一交,屁股还没坐热,两个月不到,就收到通知,说我们这边的店要“内部升级”——得,直接停业装修了半年

找他们退钱,那简直就是跟空气打仗。电话永远是占线或者自动语音,App里点了退款申请,状态就跟被施了定身咒一样,一直是“处理中”,动都不动一下。我琢磨着,你们一个大公司,搞个线上退款能搞成这样?里面肯定有鬼。我那暴脾气一下就上来了,行,你不让我退钱,那我就自己进去看看,你们这网站到底在搞什么名堂。

F12走起:扒开网站的皮看看肉

虽然不是什么大牛,但以前也瞎搞过几年代码,知道从哪儿下手。直接打开他们的官网,登录,然后就是老规矩:F12(开发者工具)走起。先不看那些花里胡哨的页面代码,那没用,我的目标是网络请求那一栏。

我把那个卡死的“退款申请”页面又刷新了一遍,然后把所有的请求都扫了一遍。大部分都是些图片、字体、前端脚本啥的,没啥意思。但当我把目光锁定在几个API接口请求上时,我心里咯噔了一下。

    小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

  • 一个叫 `/api/order/submit` 的请求,很正常。
  • 另一个叫 `/api/refund/status` 的请求,返回一堆数据,里面全是关于我的退款信息,时间戳、金额、以及一个叫 `PROCESS_STEP` 的字段,显示“3”。
  • 重点来了!在这些正常数据里面,夹带了一个特别突兀的字段,叫 `ADMIN_TICKET_ID`,后面跟着一串七八位的数字。

我当时就纳闷了。这“管理员工单ID”是干什么用的?我一个普通用户,在自己的退款申请里,怎么会混进这种内部系统的东西?这玩意儿不是给你们客服或者技术部看的吗?

一串数字引发的“窥视”

好奇心害死猫,但也往往能发现大问题。我赶紧翻回请求那一栏,找到这个 `/api/refund/status` 接口的URL。它后面也跟着一大串我自己的退款编号。我琢磨着,既然返回里有别人的“管理员工单ID”格式,那我是不是可以试着换个编号试试

我没敢乱来,毕竟牵扯到钱。我只是试着把URL末尾的那个编号,也就是我的退款申请ID,随便加了个“1”,然后把这个新的URL地址复制下来,直接在浏览器里访问了一下。

结果,页面没有报错,返回的数据量直接爆炸了!这哪儿还是我的退款信息?

返回的数据里,赫然出现了十几个退款申请的详细信息!我看到了别人的申请时间,别人的退款金额(虽然被系统做了脱敏处理,但还是能看出个大概),最吓人的是,每一个申请下面,都有一个详细的处理历史记录,写着“某某客服在X月X日接手”、“某某管理员将状态从‘3’改为‘4’”等等这些内部流转的日志!

我立马就明白了。他们根本就没好好做权限隔离!这个接口,本意可能是给客服管理员用的,用来查看和跟踪所有待处理的工单状态,但他们直接把它暴露给用户端了!只需要改个编号,就能把整个系统的工单列表给拉出来,这简直就是把管理员的“窥视孔”直接留在了公网大门口!

事后诸葛亮:技术,还得靠谱点

我赶紧把这整个操作过程录了个屏,然后找了个认识的同行,让他帮忙转给这家公司的技术负责人。没两天,这个接口就被撤了,我的退款状态也终于动了,虽然过程很曲折,但钱总算是退回来了。

这事儿让我觉得挺讽刺的。一个这么大的健身连锁品牌,动不动就搞什么高端营销,结果背后的技术却这么粗糙。权限控制,API设计,最基本的安全防护,几乎等于没有。我只是想退个钱,却稀里糊涂地当了一回“管理员”,窥视了他们系统的底裤。这让我对那些看着光鲜的互联网服务,又多了一层担忧。面子工程再底子烂了,早晚得出问题。

免责声明:喜欢请购买正版授权并合法使用,此软件只适用于测试试用版本。来源于转载自各大媒体和网络。 此仅供爱好者测试及研究之用,版权归发行公司所有。任何组织或个人不得传播或用于任何商业用途,否则一切后果由该组织及个人承担!我方将不承担任何法律及连带责任。 对使用本测试版本后产生的任何不良影响,我方不承担任何法律及连带责任。 请自觉于下载后24小时内删除。如果喜欢本游戏,请购买正版授权并合法使用。 本站内容侵犯了原著者的合法权益,可联系我们进行处理。