23,148,855,308,184,500是一个神奇的数字,还是纯粹的机会?


556

作为新闻报道等这一指示上述号码可能出现的编程错误。

一名美国男子突然到他的当地加油站买了一包香烟,结果发现他的卡被收取23,148,855,308,184,500美元。

那就是23万亿美元(14万亿英镑),是美国国债的许多倍。*

以十六进制表示的是523DC2E199EBB4,乍一看似乎并不十分有趣。

有人对导致此错误的编程错误有任何想法吗?


31
无聊的加油站服务员?
txwikinger

217
奥巴马确实说过,他在工作中制定了新的刺激计划以缓解赤字……
克里斯托弗·克莱恩

25
确切地说,这笔交易通过哪种信用卡进行,仅触发了$ 15的透支费...加油站也可能对此不满意2%的信用卡手续费。
尼克·巴斯汀

42
即将被解雇的程序员的复活节彩蛋;)
马修·怀特

28
也许这是一种新的反吸烟运动。(“看看吸烟到底让您付出了多大代价!” :-)
Slapout

Answers:


1447

将美分添加到数字中,您将获得2314885530818450000,以十六进制表示的是2020 2020 2020 1250。

你看到图案了吗?前六个字节已被空格覆盖(十六进制20,十月32)。


56
再次证明空白不是无害的。
埃里克

547
如果是真的,您只是赢得了“年度最佳调试”奖:)
Stefano Borini,2009年

82
VISA可能比NASA更需要他。
布兰登

61
看起来他买了一个纸箱,而不是一包-十六进制的1250 =十二月4688或£46.88
John Rasch

157
书呆子:通过调试错误的信用卡报告来找出一个男人抽烟的品牌和数量;)
Stefano Borini

239

稍等一下; 发生了一些可疑的事情。

虽然用空格括起来的解释当然看起来不错,但它可能(至少部分是)似是而非。

VISA表示,“ Visa Buxx”预付卡受智能手机影响的“不到13,000”客户。到目前为止,我已经发现了几则新闻。新罕布什尔州的乔什·穆琴斯基(Josh Muszynski),田纳西州的杰森·布赖恩(Jason Bryan),德克萨斯州的罗恩·希尔(Ron Seale),伯特利的卡伦·泰勒(Karen Taylor)的十几岁的儿子和奥瓦通纳(Owatonna)的少女伊丽莎白·刘易斯(Elizabeth Lewis)。

事实是,他们每个人都有完全相同的费用:$ 23,148,855,308,184,500.00。如果问题出在空间填充上,那么他们如何都完全相同地收取$ 0x1250($ 46.88)的费用呢?其中两人在加油站购买了香烟,另外两人在餐馆付款,刘易斯(Lewis)买了鸡蛋和牛奶,最后一个在药店买了。所有这些不同的商品碰巧都花费相同吗?$ 46.88的餐厅账单似乎还可以,但要买一包香烟?牛奶和鸡蛋‽

空格填充错误是有意义的,除了它不能解决0x1250常数。为什么所有单词都以最后一个WORD 0x2020 2020 2020 1250而不是0x2020 2020 2020 2020或不同的数字结尾?

嗯,如果只影响了13,000个客户,则可能是由于确切的特定费用触发了该错误。在这种情况下,不仅是字段错误。如果只是文本字段被解释为64位整数,那么为什么没有其他数量引起它,从而影响到所有人,而不仅仅是13,000。但是,在同一周内恰好有13,000人收取完全相同的费用怎么办?

他们说这是“临时编程错误”,很可能是这样,但这是否可能是黑客行为?在这种情况下,它可能是一个幻数。实际上,这可能是两者的结合:一些黑客将0x1250自动收费与空间填充错误结合在一起,导致检测到一个或两个错误。

注册认为答案是确实填充字段错误,但为什么他们都同样不扩大,虽然评论的人提到的数字可能被四舍五入到最接近的$ 100(因为银行和银行软件不可能明确地去长度以确保精度)。

(也有类似错误的报告。)


杰森·布莱恩特的帐单:

杰森·布莱恩特(Jason Bryant)的账单

伊丽莎白·刘易斯的帐单:

伊丽莎白·刘易斯的账单

罗恩·希尔的帐单:

罗恩·西尔的帐单

Josh Muszynski的帐单:

Josh Muszynski的帐单


8
可能的十六进制数字1250 = dec 4688是导致某种其他欺诈检查方法的最小值。如果正好与此相等,那么会引入代码错误吗?
PeteT

6
+1您能想象如果13,000个客户同时进行拒付会发生什么情况?:P
pageman

11
@ petebob796实际上每个字节都被单独处理,因此1250(12 50)是18和80。18是控制字符,而80是大写P(至少在ASCII中)。嗯... Ctrl + P?
WildJoe

1
$ 12.50是一个相对较小的整数。数以百万计的交易中有13,000笔具有确切的金额,这一点也不令人惊讶。但这确实需要与引发覆盖的其他逻辑缺陷结合在一起。
汤姆A” 2009年

4
12.50小而圆,但与0x12.50完全不同。而且,如果有人在那里为一包香烟支付12.50美元,我很高兴我辞职了。

62

用卡购物时会发生的情况是,该软件会立即联机以确保您有足够的资金来进行购买,而只是保留用于交易的资金。在工作日结束时,软件将收集最近24小时内放置的所有交易,并将其提交给收单银行进行处理。

提交给银行被称为结算,通过以非常严格的格式发送纯文本文件来完成。(这是几十年前开发的,现在使用它的系统数量众多,很难进行现代化改造)

每个交易在文件中以一行文本形式出现,其中一部分是交易价值。该字段应为11个数字字符(左侧填充零),并且始终将值保留在最小公分母中(在本例中为美分)。11个数字字符非常适合任何货币的值。

看起来这种情况下的付款处理器已经对其提交软件进行了一些更改,并错误地将零填充替换为空格填充。a)服务提供商,b)收购银行和c)Visa却没有被取走,这真是让我无所适从。该结算文件(13,000个高价值交易)的净值本来是天文数字,也许这也是某处的一个促成因素。


15
“ 11个数字字符非常适合任何货币的值。” -津巴布韦元呢?
–quant_dev

6
谁在津巴布韦用VISA付款?(^_^)
ЯegDwight

这是一个很好的评论。但是,如果这是软件故障,那么就无法证明a)服务提供商,b)收购银行和c)Visa都看到了。它可能在任何时候出现。
艾萨克·卢博

20

如果删除尾随零,则将其验证为VISA卡号。我的猜测是他们先刷卡,然后手动输入号码,以为刷卡失败。


9
大声笑-我们刚刚发布了他的Visa卡号吗?..他又叫什么名字?
ian_scho

4
ps这是最可能的答案,第一个答案的200多个支持者是极客:)每年大约有50亿笔Visa交易。
ian_scho

14
不,这是一个错误,不是使用错误。此漏洞影响了大约13000个客户。
Guffa

8
偶然的机会,前六个字节是空格的可能性是什么?
罗伯特·哈维

1
不太可能..与不同客户进行了多次交易,所有交易的金额都完全相同!
罗迪

10

最终的谜团仍然来自12 50。它们是Ctrl + R,P的ASCII码。这恰好是您必须键入以输入QuickBooks验证码的秘密击键。

链接:在何处输入验证码

很巧合。我不知道当您在错误的位置键入这些键时会发生什么...


7

如果您将64位表示左移8位(乘以256),则会得到格式正确的信用卡号和3个空位置,从而获得3个安全额外编号(由于某些原因全为零)。每10个机会中就有1个随机数会给出格式正确的CC号码。

5926 1069 5889 5232 000


6

如果使用数字23148855308184500的二进制等价(1110101110110100)解码,则会得到K矿,这是采矿和矿石的普通话字符。Kmine可能意味着“知识矿”,或诸如kmine Holdings Ltd之类的东西。也许K(矿或矿石)与美国银行或Visa之间存在关联?


56
我认为一切都比这更深刻。如果将此数字乘以胡夫金字塔的高度,然后将每三个数字乘以2012,则将得到半人马座的正好1/666的长度。
serg
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.