当前位置:首页 > 热点

漏洞漏洞 拍下自动改价

```html 漏洞漏洞 拍下自动改价

上周三凌晨,老陈在自家客厅盯着手机屏幕,拍下手指有点抖。自动他刚在某个二手交易平台挂出一台自用的漏洞漏洞尼康Z6,标价8600。拍下两分钟不到,自动有人拍下,漏洞漏洞没付款。拍下

紧接着,自动一条系统消息弹出来——“买家已修改价格,漏洞漏洞请确认”。拍下老陈点进去一看,自动成交价变成了860。漏洞漏洞他愣了半秒,拍下赶紧去点“拒绝”,自动结果页面卡住,再刷新,订单已经显示“待发货”,价格栏赫然写着860元。

老陈没发货。他截图,找客服,折腾到天亮。第二天下午,平台把订单关了,理由是“交易异常”。但老陈那台相机的链接已经被下架,重新上架要重新审核,折腾了三天。

• • •

这不是什么新鲜事。拍下自动改价,说白了就是利用平台前端和后端之间的校验缝隙。买家点“立即购买”的一瞬间,前端把价格从8600改成860,发给后端。后端如果只信任前端传过来的数字,不做二次比对,订单就按860生成了。

我翻过几个类似的漏洞报告。其中一个案例里,攻击者甚至不需要抓包工具,直接在浏览器地址栏里改参数就行。比如某个老版本的商城系统,商品详情页的URL长这样:

// 原始链接
https://mall.example.com/order/confirm?itemId=12345&price=8600

// 手动改成
https://mall.example.com/order/confirm?itemId=12345&price=860

就这么简单。后端拿到 price=860,直接写进订单表。整个过程没有一次数据库查询去验证这个商品原本卖多少钱。开发图省事,把价格计算放在了前端,后端只做“搬运工”。

更离谱的是,有些平台连签名都不做。参数明文传输,改多少是多少。你以为你买的是相机,其实你买的是那个数字。

那为什么这种漏洞反复出现?我观察下来,两个原因。一是业务逻辑复杂,购物车、优惠券、积分抵扣、限时折扣叠在一起,前端算完价格再传给后端,后端懒得重新算一遍,怕算错,干脆信前端。二是测试不到位,安全团队盯着SQL注入、XSS这些传统漏洞,业务逻辑漏洞往往要手工测,费时费力,上线前经常被忽略。

有个做电商后端的朋友跟我聊过,他说他们公司内部有一条潜规则:“前端传什么,后端就存什么,只要不崩就行”。我听完不知道该笑还是该哭。

• • •

普通用户能做什么?说实话,能做的有限。你没法阻止平台写出烂代码。但有几个习惯可以养成:

第一,拍下之后别急着付款,先看一眼订单金额。如果和你看到的不一样,立刻截图,别点确认。

第二,如果平台有“价格保护”或“异常订单举报”入口,优先走那个,比找在线客服快。客服很多时候只会说“帮您反馈”,然后没下文。

第三,卖家尤其注意——别因为对方催得急就发货。老陈那台相机如果真发了,860块连个镜头盖都买不回来。

至于平台方,修这个漏洞其实不复杂。后端在生成订单前,拿商品ID去数据库查一次当前售价,和前端传过来的价格比对。不一致就拒绝,返回错误码。加这一层校验,代码量不超过二十行。但很多团队就是不做,因为“不影响主流程”。

直到有人把8600改成860,他们才想起来。

老陈后来把相机卖给了线下二手店,7500成交。他说不想再折腾了。那个平台的漏洞有没有修,他不知道。他只知道,自己再也不会在上面卖东西了。

```

分享到: