Является ли 23 148 855 308 184 500 магическим числом или просто шансом?

Сообщения новостей, такие как этот указывают на то, что вышеуказанное число могло возникнуть как ошибка программирования.

Появился человек в Соединенных Штатах на свою местную автозаправочную станцию, чтобы купить пачку сигарет - только чтобы найти его карты взимается 23 148 855 308 184 500 долл. США.

Это $23 квадриллиона (£ 14 квадриллион) - много раз в США государственный долг. *

В шестнадцатеричном виде это $523DC2E199EBB4, который на первый взгляд не выглядит ужасно интересным.

У кого-нибудь есть какие-то мысли о том, какая ошибка программирования вызвала бы это?

Ответ 1

Добавьте центов к числу, и вы получите 2314885530818450000, который в шестнадцатеричном формате 2020 2020 2020 1250.

Вы видите шаблон? Первые шесть байтов были заменены пробелами (hex 20, dec 32).

Ответ 2

Удерживайте секунду; Theres что-то рыбное происходит.

В то время как объяснение с пространственным разделением, безусловно, кажется хорошим, оно может быть (по крайней мере частично) благоразумным.

ВИЗА сообщила, что "менее 13 000" клиентов пострадали от snafu с предоплаченными картами Visa Buxx. На данный момент Ive нашла новости по нескольким. Джош Мушински в Нью-Гемпшире, Джейсон Брайан в Теннесси, Рон Сил в Техасе, сын подростка Карен Тейлорс в Вефиле и девочка-подросток Элизабет Льюис в Оватонне.

Дело в том, что все они имеют тот же самый заряд: 23 148 855 308 184 500,00 долларов США. Если проблема заключалась в заполнении пробела, то как получилось, что все они имели то же самое $0x1250 ($ 46,88)? Двое из них купили сигареты на бензоколонках, еще два заплатили в ресторанах, Льюис купил яйца и молоко, последний в аптеке. Разве все эти разные предметы стоят того же? $46,88 за счет ресторана выглядит нормально, но для пачки сигарет? для молока и яиц

Ошибка пространственного заполнения имеет смысл, за исключением того, что она не учитывает постоянную 0x1250. Почему все они закончили с 0x2020 2020 2020 1250 вместо 0x2020 2020 2020 2020 или разными номерами в последнем WORD?

Хммм, если пострадали только 13 000 клиентов, может быть, так или иначе, что именно конкретный заряд вызвал ошибку. В этом случае это больше, чем просто ошибка поля. Если бы только текстовое поле интерпретировалось как 64-битное целое число, то почему другие суммы не вызывали его, таким образом влияя на всех, а не только на 13 000. Тем не менее, как могло случиться, что только 13 000 человек могли взимать ту же сумму за одну неделю?

Они говорят, что это "временная ошибка программирования", и это вполне может быть, но может ли это быть взлом? В этом случае, вероятно, это будет магическое число. Фактически, это может быть комбинация обоих: некоторый хакер, устанавливающий автоматический заряд 0x1250, который сочетается с ошибкой пробела, вызывая обнаружение одной или обеих ошибок.

Register считает, что ответ действительно является ошибкой с заполненным полем, но не раскрывает, почему они все одинаковы, хотя в одном из комментариев упоминается, что число, возможно, округляется до ближайших 100 долларов США (маловероятно, так как банки и банковское программное обеспечение явно стремятся к точности для обеспечения точности).

(Существует также отчет аналогичной более ранней ошибки.)


Законопроект Джейсона Брайанта:

Jason Bryant’s bill

Элизабет Льюисс:

Elizabeth Lewis’s bill

Счет Рона Силса:

Ron Seale’s bill

Счет Джоша Мушинскиса:

Josh Muszynski’s bill

Ответ 3

Что происходит, когда вы совершаете покупку по карте, так это то, что программное обеспечение немедленно выходит в интернет, чтобы обеспечить вам достаточные средства для покупки, но только удерживает средства для транзакции. В конце рабочего дня программное обеспечение затем собирает все транзакции, размещенные за последние 24 часа, и отправляет их в банк-эквайринг для обработки.

Представление в банк известно как урегулирование, и его делается путем отправки простого текстового файла в очень жестком формате. (Все это было разработано несколько десятилетий назад, и число систем, использующих его, затрудняет модернизацию)

Каждая транзакция отображается в файле как строка текста, а часть этого значения - транзакция. Это поле должно содержать 11 числовых символов (ноль с левой стороны) и всегда будет удерживать значение в самом нижнем общем знаменателе (в данном случае центах). 11 цифровых символов хорошо подходят для значений в любой валюте.

Похоже, что процессор платежей в этом случае внес некоторые изменения в свое программное обеспечение для отправки и ошибочно заменил нулевое заполнение пробелом. Довольно, как это получило: a) поставщик услуг, b) приобретение банка и c) Visa, не подхваченный, ускользает от меня. Чистая стоимость этого файла расчета (13 000 транзакций с высокой стоимостью) была бы астрономической, и, возможно, это было также фактором, способствующим достижению.

Ответ 4

Если вы удалите конечный ноль, это подтверждается как номер карты VISA. Я предполагаю, что они вытащили карту, а затем вручную ввели номер, считая, что салфетка потерпела неудачу.

Ответ 5

Конечная тайна все еще там, откуда приходит 12 50. Это коды ASCII для Ctrl + R, P. Которым случается секретные нажатия клавиш, которые вы должны ввести, чтобы ввести код проверки для QuickBooks.

Ссылка: Где ввести код подтверждения

Довольно совпадение. Интересно, что происходит, когда вы вводите эти ключи в неправильном месте...

Ответ 6

Если вы сдвинете левое 64-битное представление на 8 бит (умножьте на 256) Вы получите хорошо сформированный номер кредитной карты и 3 пустые позиции для этого 3 защищенных дополнительных номера (по какой-то причине все нули). Есть только 1 из 10 случайных чисел, что случайное число дает хорошо сформированный номер CC.

5926 1069 5889 5232 000

Ответ 7

Если вы используете декодер двоичного эквивалента (1110101110110100) номера 23148855308184500, вы получаете K 鑛, который является символом мандарина для добычи и руды. Kmine может означать "знание шахты" или что-то вроде kmine Holdings Ltd. Возможно, существует корреляция между K (шахтой или рудой) и Bank of America или Visa?