2019年5月15日最后更新:漏洞已经被修补。准确的说,从这篇文章发布,到亚马逊修补上这个漏洞,整整花了半个月的时间。这种事都如此效率,所以,卖家们也不必抱怨反馈问题,长时间得不到有效处理。让反馈先飞半个月。。。

前段时间,一篇《数以千计的Shopify卖家收入和交易信息被泄露》文章在跨境圈中传播开来。

大致意思是一位海外的“黑客”通过curl方式抓取shopify的api json数据包时发现了部分店铺交易数据被公开,然后反向查询CNAME记录获得Shopify所有店铺名单,通过编写Python自动化程序读取到了80万家shopify商店,一共有12100家店铺存在风险,其中获得8700家店铺从2015年开始的完整销售记录和流量数据,被设为保密,没有公开,而其他预计3400家将被公布其销售数据。

实际上,Shopify有一个黑客赏金计划,就是为了表彰那些帮助Shopify发现了漏洞并报告给shopify的黑客程序员,就奖励一笔钱给他。奖金计划:https://hackerone.com/shopify

Fathi于2018年10月13日向Shopify报告了这一漏洞,该公司于10月16日承认并于11月1日修复了这个漏洞。然后,想着是不是该收到Shopify奖金了。结果是:一毛都没有!收到了一封这样的邮件:

虽然我们感谢您试图证明所发现问题的影响,故意访问其他商家的信息而不是立即向我们报告这一点是Shopify非常关注的问题。因此,本报告不会获得错误奖励。

哈哈,我能想到这位技术大神心里是如何一万个草泥马在奔腾。

也许是为这位黑客鸣不平,一位博主在znet发表了《Shopify API漏洞泄漏了对数千家商店的收入数据》并强调备注:更新:该错误被认为是有效的,但研究人员没有得到付款。

Fathi在medium.com上分享了自己如何获得这些数据的整个过程:我如何获得数千家Shopify商店的收入和流量数据

阿里云先知社区里甚至公布的Python代码 https://xz.aliyun.com/t/4832

作为技术人员,我仔细阅读了全文,并分析了Python代码内容,理解了fathi是如何做到这些的。一方面是有一些巧合,这种漏洞并非Shopify独有,早年也有一些其他平台同样可以通过抓取数据包的方式获得类似的一些信息。只是Shopify承载的店铺实在太多了,稍微一些疏忽大意,就可能造成严重后果。

当然,不必担心,Shopify的漏洞早已被封堵,也没有导致什么严重的后果。在数据信息安全方面,Shopify做的比国内绝大部分公司要好的多的多。别忘了,很多第三方服务商,在线erp、第三方支付公司通过授权方式掌握了卖家完整的销售数据,而这些数据是否会被用在非法用途上,完全取决服务商的节操与商业道德,这又何尝不是一种被迫的数据泄漏风险呢?

从技术角度来说,即便Shopify没有封堵上这个漏洞,普通人是很难发现和抓取到这些数据的,至少你得懂得如何去curl抓包、懂得DNS反向代理查询原理,懂得Python编程技术,才有发现的机会。

所以,大可不必拿Shopify泄漏卖家数据的事情说事,中国的绝大部分卖家都没有这个技术能力弄够做到这一点。我在《跨境电商卖家要不要学习python编程语言?AI时代Python强势领跑 分享python学习入门的几点经验》一文中谈到了关于Python技术方面的应用,我也非常建议大家学习一些Python的基础编程知识,至少能读懂Fathi编写的代码,搞清楚他是怎么做到的。

当然,说实话,没有任何人能确保一个网站或系统完全漏洞,微软windows的补丁一个接一个,从未停歇过。但Shopify对这位技术大神fathi的反馈态度,有些让人心寒。帮你查找发现反馈漏洞,却说这种风凉话。

今天,一位会员卖家向我反馈了亚马逊全站泄漏卖家真实库存数据的信息,似乎这个事情已经在卖家圈中传开,但亚马逊对这种可能的敏感数据泄漏仍然无动于衷,索性就拿这事来谈一谈。也想告诉大家,信息安全问题并非哪一家的专利,不管是什么公司都会碰到各种各样的数据安全问题,更不要扯那些因为我是谷歌、我是亚马逊、我是facebook,数据泄漏问题不会在我们身上发生。说绝对不会泄漏都是胡扯!去年,谷歌50万用户隐私数据泄漏,因无法确定具体是哪些用户受到了影响,最后导致Google+关闭facebook一个重大安全漏洞泄漏了数百万用户的帐户数据

先声明,我并非最早发现,在亚马逊网页源代码中可以直接抓取到卖家真实库存数据的人,我并不明确,亚马逊是否认为卖家的真实库存数据并非重要的敏感数据故意直接以明文方式在网页源代码中显示出来,我也没有义务向亚马逊报告反馈这一漏洞,Fathi的经历告诉我,这是自讨没趣。

我一直有些疑惑,像anker这样的超级大卖家,到底一款充电宝产品有多少库存在仓库中?然后今天得到了一个准确的答案:31271个.

如何找到这个卖家真实库存数量数据?

找到数据的做法比你想象中要简单的多。您无需懂得编程,也不需要去抓json数据包,只需三步,睁大眼睛就能找到。

第一步,打开一个亚马逊listing页面。

第二步,反敲鼠标右键,点击“显示网页源代码”,

第三步,按ctrl + F键 查找关键词 “ stockOnHand ”,页面会快速定位到库存数量代码中,恭喜你,找到了!

你没看错,它真的以明文方式显示出来了。我在去年的时候还分享过一篇《试试用这种方式进行亚马逊选品》,其中也谈到了一些手动方式获得卖家库存数选品的小技巧,大概是:

1、打开此产品的亚马逊销售页面,点击 add to cart,加入购物车;

2、点击 cart 链接,进入Shopping Cart页面,对产品数量进行调整;

3、在Quantity处,点击出现数量列,点选10+后,手动输入999;

4、黄框白底区域内显示:“This seller has only *** of these available.”字样,其中的***即是此卖家真实库存数量;

5、按照上述方式,每天手动获取一次销售数据,填入产品销售动态跟踪表中。

6、收集7天或者更长时间销售数据,完成跟踪表单,根据库存数据的变化情况,备注产品初步结论;

7、根据选品因素与动态跟踪表以及其他辅助依据作出最终的选品决策

但有些卖家会在后台设置,禁止这种方式获得真实库存数据,也有些卖家入仓数超过999,这种方式也检查不多来。而这次不一样,亚马逊通过网页源代码以明文的方式全告诉你了。

是不是只有美国站出现这个问题?别急,我们再来随机选择几个站点看一看。

一、英国站

二、德国站

三、西班牙站

四、加拿大站

五、中国站、

时间有限,其他的站点,我也懒得去测试了,这些数据已经足够说明亚马逊几乎在每一个站点上都存在泄漏卖家真实库存数据的情况,并且任何普通人都可以通过直接查看源代码方式找到这些信息。

获得卖家真实库存数据有什么用途?

最直接的作用,就是了解自己的竞争对手情况。

利用这种手动的简便方法可以精确掌握到自己的竞争对手实际的库存数量,然后按照上面的记录方式,每天在固定时间记录一次库存数据,即可算出卖家的大致每天销售数量,有了销量也有了销售价格,就能算除卖家每天的销售额,是涨了还是降了。掌握了产品的这些信息,大致就能估算出卖家的利润等等,当然,这里有很多广告成本支出,并无法精准估算出实际利润。

如何快速获得所有卖家的真实库存数据和每天销量情况?

python派上了用场,当然上,很多编程语言都进行批量抓取。

利用python编写一个简单的脚本语言,实际上真的很简单,因为网页源代码中”stockonhand”是唯一的,只出现一次,所以,能够很容易抓取到。细心点的用户会发现,库存数据实际上位于一个json数据包中,利用python抓取这个包,然后获取数据包里面的各个数据节点与对应的值,然后用python的Pandas进行数据整理入库,对了,遍历亚马逊各个站点listing,这不就获得亚马逊的各个站点的卖家的所有sku的精确销量了么?

最后:

或许要不了多久,上述方法就会失效。或许亚马逊认为真实库存数本身就不是什么隐私敏感数据,开放以明文方式显示,本来就有意为之。其实,我是不太相信作为全球最大的电商企业亚马逊会犯这种低级错误的。作为卖家来说,能看到竞争对手的真实库存数据是非常重要的,知己知彼,百战不殆。但对亚马逊来说,或许更愿意倡导公开透明吧。总之,趁着还有用,赶紧喽。

Leave A Comment

  1. 头像
    Dave Sun 2019年5月17日 at 上午10:30 - Reply

    真实一股清流了,我希望跨境这个圈子多点这种技术向的文章。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据