23.148.855.308.184.500 sihirli bir sayı mı yoksa tam bir şans mı?


556

Olarak Haber böyle raporlar bu bir yukarıdaki sayı bir programlama hata olarak ortaya çıkan olabileceğini göstermektedir.

ABD'de bir adam bir paket sigara almak için yerel benzin istasyonuna çıktı - sadece kartının 23.148.855.308.184.500 dolarlık ücretini bulmak için.

Bu 23 katrilyon dolar (14 katrilyon sterlin) - ABD'nin ulusal borcunun çoğu. *

Hex'de, ilk bakışta çok ilginç görünmeyen 523DC2E199EBB4 dolar.

Kimse hangi programlama hatası buna neden olacağını düşünür?


31
sıkılmış benzin istasyonu?
txwikinger

217
Obama, açığı hafifletmek için çalışmalarda yeni bir teşvik planı olduğunu söyledi ...
Christopher Klein

25
Tam olarak ne tür bir kredi kartı bu adam bu işlem geçti ve sadece overdraft ücretleri 15 $ tetikledi var ... Benzin istasyonu da muhtemelen% 2 kredi kartı işlem ücreti hakkında mutsuz.
Nick Bastin

42
Yakında kovulacak bir programcıdan Paskalya yumurtası;)
Matthew Whited

28
Belki de bu bir tür yeni sigara karşıtı kampanyadır. ("Sigara içmenin size ne kadara mal olduğunu görün!" :-)
Slapout

Yanıtlar:


1447

Sayıyı sente ekleyin ve onaltılık 2020 2020 2020 1250 olan 2314885530818450000 olsun.

Deseni görüyor musun? İlk altı baytın üzerine boşluklar yazılmıştır (hex 20, dec 32).


56
Boşluğun zararsız olmadığını bir kez daha kanıtlayın.
Eric

547
bu doğruysa, "yılın en iyi hata ayıklaması" için bir ödül kazandınız :)
Stefano Borini

82
VISA'nın NASA'dan daha fazlasına ihtiyacı olabilir.
Brandon

61
Görünüşe göre bir karton değil, bir karton satın aldı - hex 1250 = dec 4688 veya £ 46.88
John Rasch

157
nerds: Bir adamın yanlış kredi kartı raporunda hata ayıklayarak sigara içtiği marka ve miktarı öğrenin;)
Stefano Borini

239

Bir saniye bekle; bir şeyler var.

Uzay dolgulu açıklama kesinlikle iyi görünse de, (en azından kısmen) fena olabilir.

VISA, Visa Buxx ön ödemeli kartlarıyla snafudan etkilenen “13.000'den az” müşteri olduğunu söyledi. Şimdiye kadar birkaç kişiyle ilgili haberler buldum. New Hampshire'da Josh Muszynski, Tennessee'de Jason Bryan, Teksas'ta Ron Seale, Bethel'de Karen Taylor'ın genç oğlu ve Owatonna'da Elizabeth Lewis adlı bir genç kız.

Mesele, hepsinin aynı ücrete sahip olması : 23.148.855.308.184.500.00 $. Sorun boşluk doldurma ise, hepsinin aynı 0x1250 $ (46.88 $) ücrete sahip olması nasıl bir şey? İki tanesi benzin istasyonlarından sigara satın almış, diğer ikisi restoranlardan ödeme yapmış, Lewis sonuncusu bir eczaneden yumurta ve süt almıştı. Tüm bu çeşitli eşyalar aynı mıdır? 46,88 $ bir restoran faturası için iyi görünüyor, ama bir paket sigara için? süt ve yumurta için‽

Boşluk doldurma hatası mantıklıdır, ancak 0x1250 sabitini hesaba katmaz. Son WORD'de neden hepsi 0x2020 2020 2020 1250yerine 0x2020 2020 2020 2020veya farklı sayılarla sonuçlandı ?

Hmmm, sadece 13.000 müşteri etkilendiyse, bir şekilde kesin, belirli bir ücret hatayı tetiklemiş olabilir. Bu durumda, bir alan hatasından daha fazlasıdır. Sadece metin alanı 64 bit tamsayı olarak yorumlanıyorsa, neden diğer miktarlar buna neden neden olmadı, bu yüzden sadece <13.000 değil, herkesi etkiledi. Yine de, aynı hafta 13.000 kişinin tam olarak aynı miktarı alması nasıl mümkün olabilir?

Bunun “geçici bir programlama hatası” olduğunu söylüyorlar ve iyi olabilir, ancak hackleme işi olabilir mi? Bu durumda, muhtemelen bir sihirli sayı olurdu. Aslında, her ikisinin bir kombinasyonu olabilir: boşluk doldurma hatasıyla birleştirilen ve hatalardan birinin veya her ikisinin algılanmasına neden olan 0x1250 otomatik şarjı veren bazı hackerlar.

Kayıt yorumların bir numara muhtemelen açıkça gitmek en yakın banka ve bankacılık yazılımları beri pek mümkün 100 $ (yuvarlak olan bahseder rağmen cevap, gerçekten de yastıklı alan hatadır, ama hepsi aynı neden genişletmek etmediğini düşünen sağlamak için uzunluklara).

( Benzer, daha önceki bir hatanın raporu da vardır .)


Jason Bryant'ın faturası:

Jason Bryant'ın faturası

Elizabeth Lewis'in faturası:

Elizabeth Lewis'in faturası

Ron Seale'ın tasarısı:

Ron Seale'ın faturası

Josh Muszynski'nin faturası:

Josh Muszynski'nin faturası


8
Muhtemelen onaltılık 1250 = dec 4688 sayısı, bir tür fazladan sahtecilik kontrolü yöntemlerine neden olacak minimum sayıdır. Buna tam olarak eşitse, kodda bir hata tanıtılır?
PeteT

6
+1, 13.000 müşteri aynı anda bir ters ibrazda bulunsa ne olacağını hayal edebiliyor musunuz? : P
sayfa

11
@ petebob796 aslında her bayta ayrı ayrı işlemden geçirilir, bu nedenle 1250 (1250) 18 ve 80'dir. 18 bir kontrol karakteridir ve 80 sermaye P'dir (en azından ASCII'de). Hmmm ... Ctrl + P?
WildJoe

1
12,50 $ göreceli olarak küçük ve yuvarlak bir rakamdır. Milyonlarca işlemden 13.000'inin tam olarak bu kadar olması şaşırtıcı değildir. Ancak, üzerine yazmayı tetikleyen başka bir mantık kusuru ile birleştirilmesi gerekir.
Tom A

4
12.50 küçük ve yuvarlaktır, ancak 0x12.50'den tamamen farklı bir sayıdır. Ve eğer bir paket sigara için 12,50 dolar ödeyen biri varsa, bıraktığım için mutluyum.

62

Kartla bir satın alma işlemi gerçekleştirdiğinizde, satın alma işlemi için yeterli paranızın olduğundan emin olmak için yazılımın hemen çevrimiçi olması, ancak yalnızca işlem için parayı duraklatmasıdır. Çalışma gününün sonunda, yazılım son 24 saatte yapılan tüm işlemleri toplar ve bunları işlemek için alıcı bankaya gönderir.

Bankaya gönderim uzlaşma olarak bilinir ve çok katı bir biçimde düz bir metin dosyası göndererek yapılır. (Tüm bunlar on yıllar önce geliştirildi ve şimdi onu kullanan sistemlerin sayısı modernleşmeyi zorlaştırıyor)

Her işlem dosyada bir metin satırı olarak görünür ve bunun bir kısmı işlem değeridir. Bu alan 11 sayısal karakterden (sol tarafta sıfır dolgulu) olmalı ve değeri her zaman en düşük ortak paydada tutacaktır (bu durumda sent). 11 sayısal karakter, herhangi bir para birimindeki değerler için uygundur.

Bu durumda ödeme işlemcisi, gönderim yazılımında bazı değişiklikler yapmış ve sıfır dolguyu boşluk dolgusu ile değiştirmiş gibi görünüyor. Bunun a) hizmet sağlayıcısı tarafından nasıl elde edildiği, b) banka edinilmesi ve c) Alınmadan vize alınması beni terk eder. Söz konusu uzlaştırma dosyasının net değeri (13.000 yüksek değerli işlem) astronomik olacaktı ve belki de bu bir yerlerde katkıda bulunan bir faktördü.


15
"11 sayısal karakter herhangi bir para birimindeki değerler için iyi hitap." - Zimbabwe doları ne olacak?
quant_dev

6
Zimbabve'de VISA ile kim ödüyor? (^_^)
ЯegDwight

Bu iyi bir yorum. Ancak bir yazılım aksaklığı olsaydı, o zaman a) hizmet sağlayıcısı, b) banka satın almak ve c) Visa'nın bunu gördüğü kanıtlanamaz. Herhangi bir noktada ortaya çıkabilirdi.
Isaac Lubow

20

Sondaki sıfırı kaldırırsanız, bu bir VISA kart numarası olarak doğrulanır. Benim tahminime göre kart tokatladı sonra tokatlamak başarısız olduğunu düşünerek, numarayı el ile girdi.


9
lol - Visa Kart numarasını yeni yayınladık mı? .. Yine adı neydi?
ian_scho

4
ps BU en olası cevap, ilk cevap için 200+ upveks geeks tarafından :) Bir yılda yaklaşık 50+ Milyar Vize İşlemleri vardır.
ian_scho

14
Hayır, bu bir hataydı, bir kullanım hatası değil. Yaklaşık 13000 müşteri bu hatadan etkilendi.
Guffa

8
İlk altı baytın şans eseri boşluk olması ihtimali nedir?
Robert Harvey

1
Muhtemelen .. hepsi aynı tutarı içeren farklı müşterilerle birden fazla işlem yapıldı!
Roddy

10

Nihai gizem hala 12 50'nin geldiği yerdir. Bunlar, Ctrl + R, P için ASCII kodlarıdır. Bu, QuickBooks için doğrulama kodunu girmek için yazmanız gereken gizli tuş vuruşlarıdır.

Bağlantı: Doğrulama kodunun nereye girileceği

Oldukça tesadüf. Bu anahtarları yanlış yere yazdığınızda ne olacağını merak ediyorum ...


7

Sol 64 bit gösterimi 8 bit sola kaydırırsanız (256 ile çarpın) Bu 3 güvenli ekstra sayı için iyi biçimlendirilmiş bir kredi kartı numarası ve 3 boş pozisyon alırsınız (bir nedenle tüm sıfırlar). Rastgele sayının iyi biçimlendirilmiş bir CC numarası vermesi için her 10 şanstan sadece 1 tanesi vardır.

5926 1069 5889 5232000


6

23148855308184500 numaralı ikili eşdeğer (1110101110110100) kod çözücüyü kullanırsanız, madencilik ve cevher için Mandarin karakteri olan K 鑛 elde edersiniz. Kmine "bilgi madeni" veya kmine Holdings Ltd gibi bir şey anlamına gelebilir. Belki de K (maden veya cevher) ile Bank of America veya Visa arasında bir korelasyon vardır?


56
Bence her şey bundan çok daha derin. Bu sayıyı Khufu Piramidi'nin yüksekliği ile çarpar ve sonra her üçüncü sayıyı 2012 ile çarparsanız, Alpha Centauri'ye tam olarak 1/666 uzunluk elde edersiniz.
serg
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.