Gördüğün en kötü güvenlik açığı? [kapalı]


413

Gördüğün en kötü güvenlik açığı nedir? Suçluyu korumak için detayları sınırlı tutmak muhtemelen iyi bir fikirdir.

Ne 's değerinde olması açısından belli değil soru bir güvenlik delik bulmak ne yapmanız gerektiği konusunda ve başka bazı yararlı cevaplardan oluşan bir şirket değil cevap (görünüyor) eğer.


47
Toplum wiki imo olmalı ...
ChristopheD

Harika konu! Umarım DailyWTF.com'dan bağlanabilir
Dale

Neden kapalı? Bu oldukça makul bir soru mu? !!
johnc

15
60 cevap ve 28 yukarı oy, kapatmak için 5 oytan daha ağır basıyor gibi görünüyor (bu, birikmesi bütün gün sürdü, AFAIK). ancak bu tartışılana kadar yeniden oy açmaktan kaçınacağım.
rmeador

7
Sorunuz saatlerce topluluk wiki olsa bile, yorum yine de oy vermek için iyi bir yorum, çünkü insanlara buna benzer soruların topluluk wiki olması gerektiğini hatırlatıyor . Bu benim düşündüğüm şey.
Joren

Yanıtlar:


646

Çevrimiçi mağazaların ilk günlerinden itibaren:

Alışveriş sepetinin miktar alanına .1 girerek% 90 indirim. Yazılım, toplam maliyeti .1 * maliyet olarak düzgün bir şekilde hesapladı ve siparişi veren insan sadece tek "." paketlenecek miktarın önünde :)


75
Bu kesinlikle güçlü bir sistem kullanmak lehine bir argüman.
Powerlord

54
Site nedir? % 90 indirim istiyorum !!!
amischiefr

58
Belki bunun yerine yüzde 0,10 quanity talep etmiş olmalısınız. ;)
MiffTheFox

81
Jeff Bezos, Amazon'un ilk günlerinde negatif miktarda kitap alabileceğinizi ve Amazon'un hesabınıza kredi vereceğini (ve muhtemelen onlara göndermenizi beklediğini) belirtti. Bkz. 0:47 youtube.com/watch?v=-hxX_Q5CnaA
Jeff Moser

10
Gerçekten ödenen .1 sabit diskleri teslim olan müşterinin yüzünü görmek isterdim.
relet

575

En az affedilebilen güvenlik açığı ve ne yazık ki çok yaygın ve bulunması kolay bir güvenlik açığı olan Google hack'tir . Konuşma konusu olan mesele:

http://www.google.com/search?q=inurl%3Aselect+inurl%3A%2520+inurl%3Afrom+inurl%3Awhere

İnternetteki kaç sayfanın, özellikle devlet sitelerinin, sorgu dizesi üzerinden bir SQL sorgusu geçirmesi şaşırtıcı. SQL enjeksiyonunun en kötü biçimidir ve savunmasız siteleri bulmak hiç çaba sarf etmez.

Küçük ayarlarla phpMyAdmin'in korumasız kurulumlarını, MySQL'in korumasız kurulumlarını, kullanıcı adlarını ve şifreleri içeren sorgu dizelerini vb. Bulabildim.



6
Ah sevgili Tanrım, ne kadar akıl almaz derecede aptalca. Bu geliştiriciyi bir kutu ile İK'ya yürütebilirdim.
squillman

95
küçük Bobby tabloları tekrar grev ... xkcd.com/327
gbjbaanb

86
OMFG ... bir dahaki sefere kötü bir gün geçirdiğimde, bazı masaları bırakıyorum
Michael Niemand

11
Bu örnekte gerçekten sevdiğim şey, ilk sonucun bir Oracle blogundan gelmesidir.
Ravi Wallau

400

Sosyal mühendislik:

<Cthon98> hey, if you type in your pw, it will show as stars
<Cthon98> ********* see!
<AzureDiamond> hunter2
<AzureDiamond> doesnt look like stars to me
<Cthon98> <AzureDiamond> *******
<Cthon98> thats what I see
<AzureDiamond> oh, really?
<Cthon98> Absolutely
<AzureDiamond> you can go hunter2 my hunter2-ing hunter2
<AzureDiamond> haha, does that look funny to you?
<Cthon98> lol, yes. See, when YOU type hunter2, it shows to us as *******
<AzureDiamond> thats neat, I didnt know IRC did that
<Cthon98> yep, no matter how many times you type hunter2, it will show to us as *******
<AzureDiamond> awesome!
<AzureDiamond> wait, how do you know my pw?
<Cthon98> er, I just copy pasted YOUR ******'s and it appears to YOU as hunter2 cause its your pw
<AzureDiamond> oh, ok.

Gönderen bash.org


2
Runescape'te her zaman olurlardı.
EvilTeach

7
Bu özel alışverişin aslında gerçekleşmesi pek olası değildir (bir şeyi örtbas etmeye çalışırken kim "er" yazacaktı), ama yine de komik.
Michael Myers

1
mmyers: Birinin rm-rf'd alacak kadar aptal olması da pek olası değil, ama bu kesinlikle oluyor. Kendim gördüm :)
Matthew Iselin

25
Aptallar beyninden daha güvensiz bir şey yoktur
Earlz

1
@EvilTeach aslında bunu RuneScape üzerinde uyguladılar. Şaka yapmıyorum bile!
corsiKa

339

Microsoft'ta ilk günlerimin gerçek hikayesi.

Uyandığınız güne kadar korkuyu bilmiyordunuz ve o sabah ZDNet.com'daki başlığı " Altı" önceden kod yazdığınız "Blah" da " En Kötü Internet Explorer Güvenlik Deliği Keşfedildi " .

Çalışmaya başladıktan hemen sonra değişiklik günlüklerini kontrol ettim ve başka bir ekipten birinin - üründe değişiklik yapmak için güvendiğimiz birinin - kodumu kontrol ettiğini, güvenlik kayıt defteri ayarlarının bir demetini iyi bir sebep olmaksızın değiştirdiğini keşfettim, geri teslim ve asla bir kod inceleme var veya kimseye bu konuda söyledi. Bugüne kadar dünyada ne yaptığını düşündüğü hakkında hiçbir fikrim yok; kısa süre sonra şirketten ayrıldı. (Kendi isteğiyle.)

(GÜNCELLEME: Yorumlarda dile getirilen sorunlara birkaç yanıt:

İlk olarak, güvenlik anahtarı değişikliklerinin kasıtlı değil, kötülükten veya dikkatsizlikten ziyade kötülükten ziyade hayır amaçlı olmayı tercih ettiğimi unutmayın. Şu ya da bu şekilde hiçbir kanıtım yok ve hataları insanın yanıltıcılığına atfetmenin akıllıca olduğuna inanıyorum.

İkincisi, iade sistemlerimiz şimdi on iki yıl öncesine göre çok, çok daha güçlü. Örneğin, artık değişiklik sistemi ilgili taraflara e-posta göndermeden check-in kodu mümkün değildir. Özellikle, gemi çevriminin sonlarında yapılan değişikliklerin çevresinde, ürünün stabilitesini ve güvenliğini sağlamak için doğru değişikliklerin yapılmasını sağlayan birçok "süreç" vardır.)

Her neyse, hata, Internet Explorer'dan kullanımı güvenli OLMAYAN bir nesnenin yanlışlıkla "komut dosyası oluşturma için güvenli" olarak işaretlenmiş olmasıydı. Nesne, ikili dosyaları - aslında OLE Otomasyon tipi kitaplıkları - keyfi disk konumlarına yazma yeteneğine sahipti. Bu, bir saldırganın belirli düşmanca kod dizeleri içeren bir tür kitaplığı oluşturabileceği, bilinen bir yürütülebilir konum olan bir yola kaydedebileceği, bir komut dosyasının çalışmasına neden olacak bir şeyin uzantısını verebileceği ve bir şekilde kullanıcının yanlışlıkla kodu çalıştırır. Bu güvenlik açığını kullanan başarılı bir "gerçek dünya" saldırısı bilmiyorum, ancak bu güvenlik açığından yararlanılabilecek bir saldırı gerçekleştirmek mümkün oldu.

Bunun için hızlıca bir yama gönderdik, size söyleyeyim.

JScript'te çok daha fazla güvenlik açığına neden oldum ve düzelttim, ancak hiçbiri tanıtımın yakınında herhangi bir yere ulaşmadı.


81
Tartışmalı olarak, bu aslında 2 güvenlik açığıdır; diğeri değişikliği fark etmeden / onaylamadan bir üretim inşa sunucusuna nasıl kod alınacağıdır ;-p
Marc Gravell

8
"Kodumu kontrol etmişti, güvenlik kayıt defteri ayarlarının bir demetini iyi bir nedenden ötürü değiştirmiş, tekrar kontrol etmiş ve hiç bir kod incelemesi almamış veya kimseye söylememişti" - bana beceriksizlik gibi gelmiyor, birisinin kötü niyetli niyeti tam olarak ne yaptığını biliyordu .
Juliet

80
"Aptallıkla yeterince açıklanabilecek kötülüklere asla atfetmeyin." - Hanlon'un Tıraş Makinesi
David R Tribble

15
Microsoft genelinde kullanım için tek bir kaynak kontrol sistemi yoktur. Bugünlerde çoğu takım ya Kaynak Depo ya da Takım Vakfı kullanıyor. Şaşırtıcı olmayan bir şekilde, Visual Studio ürün ekipleri genellikle Team Foundation kullanıyor. Kendi dogfood'ýný ye, bilirsin.
Eric Lippert

40
Çalışmaya başlamadan önce kim ZDNet'i kontrol eder?
Neil N

274

Umarım burada neyin yanlış olduğunu görebilirsiniz. (Aslında çok yanlış):

String emailBody = "";

for (int i = 0; i < subscribers.Count; i++)
{
    emailBody += "Hello " + subscribers[i].FirstName + ",";
    emailBody += "this is a reminder with your account information: \n\n:";
    emailBody += "Your username: " + subscribers[i].Username + "\n";
    emailBody += "Your password: " + subscribers[i].Password + "\n";
    emailBody += "Have a great day!";

    emailDispatcher.Send(subscribers[i].EmailAddress, emailBody);
}

Son alıcı en mutlu olanıydı;)


226
Düz metin şifreleri sakladığınızdan mı yoksa emailBody'nin asla temizlenmediğinden mi bahsediyorsunuz? Hangisinin daha kötü olduğundan bile emin değilim.
Kristof Provost

208
StringBuilder kullanmıyor musunuz? : D (Şaka yapıyorum.)
ShdNx

58
@Kristof - Sanırım son kullanıcının TÜM kullanıcıların ve şifrelerin bir listesini aldığı anlamına geliyor. :)
Don Branson

141
Kayıt işleminin bir parçası olarak şifremi bana e-posta ile gönderen sistemlerden kesinlikle nefret ediyorum . Bunun iki kusuru vardır: 1. Düz metin şifremi sistemlerinde bir yerde saklıyorlar. Kalıcı kullanıcı veritabanı değilse, kesinlikle kayıt işleme sistemi. 2. EMAIL üzerinden ya düz metin ya da HTML yoluyla, SMTP internet üzerinden posta geçişleri yoluyla yollandı. Ortada, araya girebilecek birkaç adam var. En azından, bana güvenli bilgilerle e-posta göndermeniz gerektiğini düşünüyorsanız, şifrelemek için herkese açık PGP anahtarımı belirtmeme izin verin!
Jesse C. Slicer

16
Bir kez veritabanındaki şifreleri korumak için MD5 karma kullandım. Ama sonuçları bir gökkuşağı masasında çalıştırdıktan ve şifrelerin yaklaşık% 50'sini eşleştirdikten sonra ... Tuz eklemek için iyi bir zaman olduğunu düşündüm.
Matthew Whited

206

Eski IBM System 36 aptal terminallerinde, makro kaydına başlayan bir klavye kombinasyonu vardı. Böylece bir terminal giriş yapmadığında, bir makro kaydına başlayabilir ve o konumda bırakabilirsiniz. Bir sonraki oturum açışında, tuş vuruşları makroya kaydedilir ve izin verilen maksimum tuşlar kaydedildiğinde kayıt otomatik olarak sona erer. Daha sonra tekrar gelin ve makroyu otomatik oturum açmak için yeniden oynatın.

alternatif metin


204

Gördüğüm en kötü güvenlik açığı gerçekten sizinki tarafından kodlandı ve Google Bot'un tüm veritabanımı silmesine neden oldu.

Klasik ASP'yi ilk öğrendiğimde, kendi temel blog uygulamamı kodladım. Tüm yönetici komut dosyalarının bulunduğu dizin, IIS'de NTLM tarafından korunuyordu. Bir gün yeni bir sunucuya geçtim ve IIS'deki dizini yeniden korumayı unuttum (ayy).

Blog ana sayfasında ana yönetici ekranına bir bağlantı vardı ve ana yönetici ekranında her kayıt için bir DELETE LINK vardı (onay olmadan).

Bir gün veritabanındaki her kaydı silindim (yüzlerce kişisel giriş). Bazı okuyucuların siteye girdiğini ve her kaydı kötü bir şekilde sildiğini düşündüm.

Günlüklerden öğrenmeye geldim: Google Bot siteyi taradı, yönetici bağlantısını izledi ve tüm DELETE LINKS'i takip etmeye devam etti, böylece veritabanındaki her kaydı sildi. Google Bot tarafından yanlışlıkla ele geçirilen Yılın Dumbass ödülünü hak ettiğimi hissettim.

Neyse ki yedek aldım.


13
Sanırım ne kadar yaygın bir hata olduğunu gösterir.
si618

96
Bu yüzden eylemleri değiştirmek için her zaman POST yapmalısınız.
özyinelemeli

7
@recursive: true, ancak dizin parola korumalı değilse, bir insanın her şeyi silmesini engellemez.
DisgruntledGoat

2
Bağlantıları önceden getiren tarayıcı eklentileriyle bu sorunu yaşadım. Bir keresinde bir blog sitesi için çalıştım ve bir kullanıcının blogundaki tüm yorumların gizemli bir şekilde yok olacağını bildirdiğinde günlerce şaşkındık.
Matthew

7
Hayır, o ödülü hak etmedin. Bu olmamış Sen bunu hak olurdu ve siz vermedi yedekleri var.
Ryan Lundy

187

Gördüğüm en kötü delik, bir web uygulamasında boş bir kullanıcı adı ve şifre vermenin sizi yönetici olarak oturum açacağı bir hataydı :)


144
Tembel geliştiriciler için bir hata mı yoksa bir özellik mi? :)
si618

9
Böyle bir kod gördüm. Bunun nedeni genellikle kullanıcı aramasının "SELECT * FROM [User] 'dan olduğu gibi bir LIKE kullanmasıdır. Burada UserName LIKE'%" + userName + "% '". Ve yönetici genellikle veritabanındaki ilk kullanıcı olduğundan, bu kullanıcıyı döndürür.
Pierre-Alain Vigeant

11
neden bir kullanıcı adı ile bir LIKE yapasın ki? ... bu yüzden Adam
Matthew Whited

20
Çoğu şirket, hesabı kilitlemeden önce size belirli bir kullanıcı kimliği altında giriş yapmak için üç deneme yapar. Bu yüzden birisi dışarı kilitlemek için trivially kolaydır birinin üç kötü şifrelerle hesabı.
David R Tribble

3
Bunu bir LDAP dizinine göre kimlik doğrulaması yapan bir çok kurumsal webappte gördüm. LDAP'de boş bir parola, anonim olarak başarılı bir girişle sonuçlanır . Anonim kullanıcı fazla bir şey yapamaz, ancak bu mekanizmayı kullanan webapps kontrol etmek kadar ileri gitmez - sadece "başarı = doğru şifre" olduğunu varsayarlar!
SimonJ

174

Bir kez bunu bir web sitesinin URL'sinde fark ettim.

http://www.somewebsite.com/mypage.asp?param1=x&param2=y&admin=0

Son parametreyi admin = 1 olarak değiştirmek bana yönetici ayrıcalıkları verdi. En azından kullanıcı girişine körü körüne güvenecekseniz, yaptığınız telgrafı kullanmayın!


19
Kullanışlı bir özellik;) WarGames'i görmedin mi? "Her iyi geliştirici sistemlerine arka kapı ekler" gibi bir şey hehe.
alex

38
Bu yüzden belki & admin = JOSHUA
JohnFx

165

Bunu Daily WTF'de gördüm .

<script language="javascript">
<!--//
/*This Script allows people to enter by using a form that asks for a
UserID and Password*/
function pasuser(form) {
    if (form.id.value=="buyers") { 
        if (form.pass.value=="gov1996") {              
            location="http://officers.federalsuppliers.com/agents.html" 
        } else {
            alert("Invalid Password")
        }
    } else {  
        alert("Invalid UserID")
    }
}
//-->
</script>

Hiçbir şey bu IMHO'yu yenemez.


21
Bence bu düşündüğünüz kadar aptalca olmayabilir. Bu önemsiz şifre, "evet, federal hükümettenim" düğmesi gibi çalışabilir ve farkına varılırsa, onu yanlış kullanmaya çalışan bir kişinin "yanlış kimlik bilgileri" (veya nasıl adlandırır?) )
ilya n.

29
ilya: Bu Javascript, bu yüzden kullanıcı tarafından görülebilir. Bunu gördükten sonra , herhangi bir kontrolü atlayarak officers.federalsuppliers.com/agents.html adresine gidebilirsiniz .
Alsciende

68
Endişelenmeyin, web sitesinin telif hakkı olduğu sürece DMCA% 100 koruma sağlar. Javascript'i "atlatmanıza" izin verilmiyor.
Steve Hanov

13
@Steve Hanov: İlginç bir "atlatma" tanımınız var. Eğer o url'yi tarayıcımın içine yazarsam, hatta kopyalayıp yapıştırırsam ... Hiçbir şeyi atlamıyorum, sadece adres çubuğuma koyduğum bir adres. Bir web tarayıcısının amaçlanan amaçlarından biridir.
Powerlord

46
Tebrikler, masumsun, çok kötü bir jüriyi ikna etmek 300 bin dolara mal oluyor
Dustin Getz

141

İsimsiz kalacak olan bir üniversitede, tüm eylem sorguları gönderilen form yerine URL'den geçirilmiştir.

Google Bot gelip tüm URL'lerini yayınlayıp veritabanlarını silene kadar bir şey işe yaradı.


18
Tasarım tarafından eski SQL Enjeksiyon. Bu "özelliği" yerleşik raporlama işlevselliği ile çalıştım.
ICodeForCoffee

18
@ICodeForCoffee: SQL enjeksiyonu nerede? Bu sadece GET ve POST'un amaçlarını karıştırıyor. Acemi web geliştiricileri tarafından oldukça yaygın bir hatadır. Bu sorunla ilgili Günlük WTF makalesini okuduğumu hatırlıyorum.
rmeador

Wikipedia'nın bu sorunu varsa çok erken bir sürümü olmadı mı? Düzenlemeleri veya başka bir şeyi geri alacak bağlantılar vardı.
DisgruntledGoat

14
Buradaki asıl sorun, Googlebot'un kimlik doğrulaması yapmadan veritabanını silebilmesidir.
MiffTheFox

34
Umarım onları Google önbelleğinden alabilirler.
fastcodejava

137

Kimse sosyal mühendislik getirmedi şaşırttı, ama bu yazı bir tekme aldım .

Özet: Kötü niyetli kullanıcılar birkaç düzine flash sürücü satın alabilir, bunları otomatik çalışan bir virüs veya truva atı ile yükleyebilir, daha sonra bahsedilen flash sürücüleri bir şirketin otoparkına gece geç saatlerde serpebilir. Ertesi gün, herkes işe çıkıyor, parlak, şeker şeklinde, karşı konulmaz bir donanıma rastlıyor ve "oh vay, ücretsiz flash sürücü, üzerinde ne olduğunu merak ediyorum!" - 20 dakika sonra tüm şirketin ağı barındırılıyor.


69
Otomatik çalıştırma kötülüktür.
Mark Ransom

22
@mmyers: flash sürücüleri yasaklamak iyi bir yaklaşım değildir. Otomatik çalıştırma / otomatik oynatmayı kırın.
Jay

10
Bir süre önce başka bir yaklaşım okuyun (disketten itibaren). Ofis koridorunda "Muhasebe verileri - gizli" etiketli önyükleme bulaşmış bir disketi yayınlayın ve 5 dakika bekleyin. Dayanılmaz!
Rodrigo

13
Neyse ki, her zaman bir Linux Live CD'den önyükleme yapabilir ve flash sürücüyü oradan inceleyebilirim.
David Thornley

6
@Jay - Ne yazık ki, kaç kişi dosyalara bakmak ve sonra "ne yaptıklarını görmek için" onlara çift tıklayın? Yasaklama çoğu zaman bir zorunluluktur çünkü insanlar düşünmez.
Mart'ta JasCav


103

Microsoft Bob
(Kredi: Dan'ın 20. Yüzyıl Abandonware )

Şifrenizi üçüncü kez yanlış girerseniz, şifrenizi unutup unutmadığınız sorulur.

http://img132.yfrog.com/img132/8397/msbob10asignin15.gif

Ancak girilene kadar doğru şifreyi sormaya devam etmek veya bir dizi yanlış denemeden sonra sizi kilitlemek gibi güvenlik yerine, herhangi bir yeni şifre girebilirsiniz ve orijinal şifrenin yerini alacaktır! Herkes bunu herhangi bir parola "korumalı" Microsoft Bob hesabı ile yapabilir.

Önceden kimlik doğrulaması gerekmez. Kullanıcı1 kendi parolalarını sadece üç kez parolalarını yanlış yazıp dördüncü kez yeni bir parola girerek değiştirebilir - asla "parola değiştir" kullanmak zorunda kalmaz.

Ayrıca, Kullanıcı1'in Kullanıcı2, Kullanıcı3 ... 'ün şifrelerini de aynı şekilde değiştirebileceği anlamına gelir. Herhangi bir kullanıcı, diğer kullanıcıların parolasını yalnızca üç kez yanlış yazıp istendiğinde yeni bir parola girerek değiştirebilir ve daha sonra hesaba erişebilir.

http://img132.yfrog.com/img132/9851/msbob10asignin16.gif


7
Bu, bir bilgisayar bir etki alanı tarafından yönetilmediğinde Windows'un kendisiyle aynı davranıştır. Windows Vista Ultimate'da bile, istediğiniz zaman bir parolayı sıfırlayabilirsiniz. Hizmet reddinin yetkisiz erişime göre daha büyük bir tehdit olarak kabul edildiğini tahmin ediyorum; özellikle de sürücüyü başka bir yere yeniden monte ederek çoğu şeyi alabileceğiniz için. Bu durumda şifrenin amacının önleme yerine saldırı tespitine yönelik olduğuna inanıyorum .
Jeffrey L Whitledge

1
@Jeffrey: Şey, siyah şapka fiziksel erişime sahip olduğunda, hemen hemen "oyun bitti". Buna karşı korunmak istiyorsanız, ciddi şifrelemeye (ayrıca donanım ve yazılım tuş kaydedicilerini tarama yollarının yanı sıra) ihtiyacınız vardır.
David Thornley

8
Benden daha akıllı biri, bunun sadece iyi bir tehdit modellemesi olduğunu belirtti. 'Bob' ağa bağlı olmayan bir dönemde ev kullanımı içindi ve küçük kız kardeşinizden veya akşamdan kalmadan bazı hırsızlardan bir DOS teşebbüsü geçirme ihtimaliniz daha yüksekti. Bob, hesabınıza erişildiğini bildirir (çünkü eski şifreniz artık çalışmadı), ancak daha fazlasını yapmaya çalışmadı.
bgiles

20
Karım beni buna bakarken gördü ... O: "Aman Tanrım! Bu hangi program ?!" Ben: "... Microsoft Bob?" " Microsoft Bob'u çok sevdim !" İç çekiş ...
Tim Goodman

10
@ChristianWimmer - İnsanlara "Paraşüt" olarak işaretlenmiş bir sırt çantası vermek gibi geliyor, bu yüzden sırtlarındaki birinin hissine alışıyorlar, ama onlara söylemeden paraşüt yok.
JohnFx

102

Joe X'in eski ev adresini aldım ve aynı şehirdeki yeni adresini bilmem gerekiyordu, ancak onunla iletişime geçmenin bir yolu yoktu. Her zamanki günlük mail order kataloglarını aldığını düşündüm, bu yüzden keyfi olarak See's Candies için 800 numarasını aradım (Victoria's Secret, İsviçre Kolonisi veya diğer büyük postacıların aksine):

Ben: "Merhaba, ben Joe X. Sanırım beni hem eski adresime hem de yeni adresime posta listenizde iki kez eklediniz. Bilgisayarınız beni [eski adres] 'e veya [sahte adres]' e gösteriyor mu ?"

Operatör: "Hayır, size [yeni adres] 'te gösteriyoruz."


36
Ah, sosyal mühendisliği sevmeliyim. Güvenliğin insani yönü genellikle en zayıf olanıdır.
EMP

İngiltere'de bir suç işlediniz
Flexo

95

Verilmesi = 1 1 bir metin kutusu içinde tüm kullanıcılar listelerinde sisteminde.


325
Bobby Tables'tan selamlar.
Gumbo

4
@ Gumbo'nun yorumu cevabın 4 katı kadar nasıl yükseltilebilir?
Yalan Ryan

12
Basitçe, soruyu
oylayanların

4
Bobby Tables'ın 221 seçmeninden biri, geri kalanlarımıza Bobby Tables'in ne olduğunu söyler mi?
kirk.burleson

15
@ kirk.burleson: xkcd.com/327
gspr

76

Yaşamak için bir uygulama güvenlik danışmanı olarak, bir şey aracılığıyla bir web sitesinde yönetici almanıza izin veren birçok yaygın sorun var. Ama gerçekten harika olan kısım, bir milyon dolarlık çorap satın alabileceğiniz.

Bu konserde çalışan bir arkadaşımdı, ancak jist, şu anda çok popüler bir çevrimiçi kitap (ve diğer her şey) dükkanındaki ürünlerin fiyatlarının gizli bir alan olarak HTML'de saklanmasıydı. İlk günlerde bu hata bir çok çevrimiçi mağazayı ısırdı, sadece web'i anlamaya başlamışlardı. Çok az güvenlik bilinci, yani gerçekten HTML'yi indirecek, gizli alanı düzenleyecek ve siparişi yeniden gönderecek?

Doğal olarak fiyatı 0 olarak değiştirdik ve 1 milyon çift çorap sipariş ettik. Ayrıca fiyatı negatif olarak değiştirebilirsiniz, ancak bunu yapmak arka uç faturalandırma yazılımı arabellek taşması işleminin bir kısmını bitirdi.

Başka bir seçim yapabilseydim, web uygulamalarında yol standartlaştırma sorunları olurdu. Foo.com?file=../../../../etc/passwd yapabilmek harika


9
Harika, bir daha asla sol çorap bırakmazsın!
si618

75
Çorapları hiç aldın mı?
Alex Barrett

32
Sipariş geçti ve yerine getirme sistemi depoyu uyardı. Muhtemelen işe yaradığını fark ettik ve iletişim noktamızı siparişi durdurmaları gerektiğini söyledik. Görünüşe göre biraz sonra bir depo yöneticisi gerçek olduğundan emin olmak için sipariş sorma çağrısında bulundu. Akıllıca bir yazılım hatası olduğunu aklı başındaydı.
Collin

27
@StuperUser, Tabii ki ayaklarının üstünde.
strager

12
Depolama ile sorun değil, sadece Ikea web sitesi kesmek onları koymak için 100.000 çekmece sipariş etmek,
Neil Aitken

64

Veritabanı kök parolasını kazara kaynak denetimine alma. Oldukça kötüydü, çünkü Sourceforge üzerinde kaynak kontrolü vardı.

Parolanın çok hızlı değiştiğini söylemeye gerek yok.


144
Tamam, şifre çok çabuk değişti ... ama kim tarafından ?
Eamon Nerbonne

1
Bu yolda. Birçok sistem (örneğin django gibi), DB şifrenizi ayar dosyasına koymanızı istediği için pratik olarak bunu teşvik ederler, bu da doğal olarak kontrol edilmesi çok kolaydır.
mlissner

56

Önemli BT çalışanları şirketten ayrıldığında yönetici şifrelerini değiştirmemek.


1
veya admin / admin gibi fabrika varsayılanlarını bırakarak (özellikle de donanımda) ...
Gnark

47
Daha da kötüsü var - birlikte çalıştıktan sonra bir üniversiteden ayrıldım, dizin bana mezun olduktan sonra benim için daha yüksek bir iş yarattıklarını söylüyor, ancak daha sonra yöneticime yapmamalarını söylediğini öğrendim . beni terfi ettir - Beni yükselt. Söylemeye gerek yok, bundan memnun değildim. Özellikle yöneticime erişebildiğim her şifreyi değiştirmesini söyledim . Ayrıldıktan bir hafta sonra, yöneticimden 'ihtiyaç duyduğumda' root şifresi ile bir e-posta alıyorum. Bir şey ters gittiğinde sonbaharı almak istemediğim için tekrar değiştirildiğinden emin olmak için sysadmin ile iletişime geçtim.
Joe

10
@Sophomore: Feynman'ın biyografisinde, Manhattan proje sırlarını barındıran dev, ultra güvenli kasaların çoğunun varsayılan kombinasyonlarda kaldığını söylediğini hatırlıyorum.
Brian

12
Bir SSCB casusunun kasaya ulaştığını ve kasayı kırmak için aklına gelebilecek her şeyi denediğini hayal edebilirim, "Lanet olsun! Çatlayamıyorum. ana Rusya için!"
Eric

3
Bunu okurken gülümseyemiyorum, çok iyi bilinen bir İsveç şirketinde bir yaz BT teknisyeni olarak çalışıyordum ve birkaç yıl sonra mühendis olarak çalışmaya döndüğümde, bazı yazılımları yüklemekte sorun yaşadım. Maviden eski yönetici şifresini hatırladım ve işte! işe yaradı =)
Viktor Sehr

50

Bu şimdiye kadar gördüğüm en kötü güvenlik deliği olmamasına rağmen. Ama bu en azından kendimi keşfettiğim en kötü şey:

Sesli kitaplar için oldukça başarılı bir çevrimiçi mağaza, başarılı kimlik doğrulamasından sonra geçerli kullanıcının kimlik bilgilerini saklamak için bir çerez kullandı. Ancak, çerezdeki kullanıcı kimliğini kolayca değiştirebilir ve diğer hesaplara erişebilir ve bunlardan satın alabilirsiniz.


Vay be ... Ben miras bir ASP kodunda başıma kesin bir şey vardı.
Radu094

Bu tam sorunu olan bir uygulamayı sürdürüyorum. Emin olmak için düzeltme listesinde yüksek. Neyse ki, bir e-ticaret sitesi değil.
quentin-starin

12
Bu, çoğu insanın düşündüğünden daha sık görülür.
NotMe

47

.Com döneminin başında yurtdışında büyük bir perakendeci için çalışıyordum. Rakiplerimiz bizden aylar önce bir çevrimiçi mağaza açtıklarından büyük ilgi gördük. Tabii ki, denemek için gittik ... ve hızlı bir şekilde alışveriş arabaları karıştığını fark etti. Sorgu dizesiyle biraz oynadıktan sonra birbirimizin oturumlarını ele geçirebileceğimizi fark ettik. İyi zamanlama ile, teslimat adresini değiştirebilir, ancak ödeme yöntemini tek başına bırakabilirsiniz ... bunların hepsini sepeti en sevdiğiniz ürünlerle doldurduktan sonra yapabilirsiniz.


Tabii ki, bu, gerçekten bunu yaparsanız size hileli bir şekilde mal göndermelerini sağlamak için kötü amaçlı bir şey yaptığınız ve adresinize "onlara" söylediğiniz anlamına gelir.
David Thornley

6
Evet, onu büyük bir güvenlik açığı yapan şey budur. Aslında satın alma düğmesine basmadık, ama yapabilirdik. Ve haberlere dayanarak, bazı insanlar yaptı.
Eric J.

45

Şu anda çalıştığım şirkete ilk katıldığımda, patronum yeni bir potansiyel müşterinin mevcut e-ticaret web sitesine bakıyordu. Bu, hem IIS'nin hem de e-ticaretin oldukça erken günlerinde gerçekleşti ve güvenlik, daha katı olmalıydı.

Uzun bir hikaye kısaltmak için bir URL'yi değiştirdi (sadece meraktan) ve dizin taramasının kapatılmadığını fark etti, böylece sayfa adını URL'nin sonundan kesip tüm dosyaları görebilirsiniz. Web sunucusu.

İndirdiğimiz bir Access veritabanı içeren bir klasöre göz attık. Binlerce şifrelenmemiş kredi kartı numarasıyla doldurulan tüm e-ticaret müşteri / sipariş veritabanıydı.


1
Bu neredeyse on iki yıl önceydi, veri güdümlü web siteleri son teknoloji ürünü bir yenilikti; çoğu site Access ya da benzeri bir siteye karşı çıktı, çünkü hiç kimse ana işlerinin bir kenarı olarak görülen bir şey için SQL Server lisansına yatırım yapmak istemedi. İşler nasıl değişti!
Mark Bell


44

13 yaşındayken okulum öğrenciler için bir sosyal ağ açtı. Maalesef onlar için URI'yi "? UserID = 123" gibi başka bir kullanıcı kimliği ile değiştirebileceğiniz ve o kullanıcı için oturum açabileceğiniz bir güvenlik hatası buldum. Açıkçası arkadaşlarıma söyledim ve sonunda okulların sosyal ağı porno ile doluydu.

Olsa tavsiye etmem.


3
neden bunu tavsiye etmiyorsun? ne oldu?
Simon_Weaver

55
@Simon_Weaver: Sanırım 13 yaşındakiler genellikle porno için iyi bir tada sahip değiller.
tembel

@slacker +1 seni 1000 temsilciye koy! değerlendirme yorum size temsilcisi verir sanmıyorum hariç :-(
Simon_Weaver

2
"porno için iyi bir tat" - bir oksimoron var.
Zann Anderson

43

Süper kullanıcı erişimi için boş kullanıcı adı / şifre alanının çok kötü olduğunu düşünüyorum. Ama kendimi gördüğüm

if (password.equals(requestpassword) || username.equals(requestusername))
{
    login = true;
}

Çok kötü bir operatör böyle büyük bir fark yaratır.


10
wow, doğal olarak düzeltmek için bir zorlama var
wag2639

Karma yerine gerçek bir parolanın kullanılması da oldukça kötü ...
Peter Kriens

Önce "yanlış olan ne?" Ve daha sonra "AAAAaaaaaaaAAAA! OMG"
Bojan Kogoj

42

Benim müşterim olduğum bir banka için olurdu. Oturum açamadım, bu yüzden müşteri hizmetlerini aradım. Benden kullanıcı adımı istediler ve başka bir şey istemediler - herhangi bir güvenlik sorusu sormadılar veya kimliğimi doğrulamaya çalışmadılar. Ardından, dosyada bulunan e-posta adresine bir şifre sıfırlama göndermek yerine, bana hangi e-posta adresini göndereceğini sordular. Onlara dosyadakilerden farklı bir adres verdim ve şifremi sıfırlayabildim.

Aslında, bir bilgisayar korsanının tek ihtiyacı olan benim kullanıcı adımdır ve o zaman hesabıma erişebilir. Bu, Birleşik Devletler'deki insanların en az% 90'ının duyacağı büyük bir banka içindi. Bu yaklaşık iki yıl önce oldu. Kötü eğitimli bir müşteri hizmetleri temsilcisi mi yoksa standart prosedür olup olmadığını bilmiyorum.


22
ve hangi banka bu lütfen?
TigerTiger

5
@Si: 'Ben bir müşteriydim ...' yazar. Bence bu soruya cevap veriyor. :)
ShdNx

8
Bu FDIC tarafından ele geçirilen ve bu yılın başlarında Chase'e satılan Washington Mutual'dı. Ayrıca garip hata mesajları vardı. Parolamı geçici olandan ayarlamaya çalıştığımda, aynı olduklarına ve hatta kopyaladığım / yapıştırdığım bir "Parolalar eşleşmiyor" hatası almaya devam ettim. "Geçersiz karakterler" i eğik çizgi gibi koyarsam, geçersiz karakterler söylemek yerine bana diğer mesajı vereceğini fark ettim.
Sean

11
@Elizabeth: Uhm ... kimlik avını önlemenin farkında mısın? Birisi banka web sitesini kopyalamaya veya taklit etmeye çalışırsa, tamamen aynı görünebilir, ancak muhtemelen veritabanına erişimi yoktur, bu yüzden doğru güvenlik resmini çekemezler. İşte bu yüzden orada. Tüm kullanıcılar sertifikayı kontrol etmek için yeterince akıllı değildir (bu da benzer şekilde
blöflenmiş

13
Finansal hesaplarınızı korumak aşırı mı? ...
Joe Phillips

36

Oluşturduğum birini paylaşacağım. Biraz.

Yıllar ve yıllar ve yıllar önce çalıştığım şirket ASP web sitelerinde endeksleme yapmak istiyordu. Yani kapalı gitti ve Index Server kurdu, birkaç yönetici dizinleri hariç tuttu ve her şey iyiydi.

Ancak bana bilinmeyen biri, web sunucusuna bir satış elemanı ftp erişimi vermişti, bu yüzden evden çalışabiliyordu, bu çevirmeli günlerdi ve dosyaları değiştirmenin en kolay yoluydu .... ve bir şeyler yüklemeye başladı, hizmetlerimizdeki işaretlemeyi detaylandıran belgeler dahil .... hangi dizin sunucusunun dizine eklendiği ve kullanıcılar "Maliyetler" aradığında sunmaya başladı.

Kara listeleri değil, çocukları, beyaz listeleri hatırlayın.


76
Bence "beyaz listeler kara liste değil", genellikle iyi bir tavsiye olsa da, burada öğrenilecek doğru ders değildir. Doğru ders "özel verileri ortak bir sunucuya koyma" dır. Ayrıca, "satış görevlilerinin sunucuya erişmesine izin verme".
rmeador

7
Cevap ve avatar arasındaki uyum.
Çağdaş Tekin

35

En basit, ama gerçekten maliyete değer olanlardan biri:

PayPal gibi motorları kullanan ödeme sistemleri kusurlu olabilir çünkü ödeme başarılı olduktan sonra PayPal'dan gelen yanıt olması gerektiği gibi kontrol edilmez.

Örneğin:

Bazı CD satın alma web sitesine gidebilir ve sepete bir miktar içerik ekleyebilirim, ardından ödeme aşamalarında genellikle sayfada paypal alanlarıyla doldurulmuş bir form ve "Pay" için bir gönderme düğmesi bulunur.

DOM Editör I kullanma formu "canlı" gidip gelen değerini değiştirebilir £899.00için£0.01 ve ardından gönder'i tıklayabilirim ...

Şeylerin PayPal tarafında olduğumda, miktarın 1 kuruş olduğunu görebiliyorum, bu yüzden ödüyorum ve PayPal bazı parametreleri ilk satın alma sitesine yönlendiriyor. payment_status=1 ve ödenen tutarı doğrulayın.

Bu, yeterli günlük kaydı yoksa veya ürünler otomatik olarak gönderildiyse maliyetli olabilir.

En kötü site, uygulama, yazılım, müzik vb. Sunan sitelerdir.


12
+1 Kabul Edildi. Barındırılan ödeme sayfası durumunda, kaynak web sitesi kullanıcının gönderilecek değerleri çekmesine izin vermemelidir; bunun yerine sayfanın kullanıcı tıklaması üzerine kendi kendine yazması ve ardından sunucu formüle edip ödeme "ağ geçidine" doğrudan uygun değerlerle bir gönderi göndermesi gerekir. Her şey, ağ geçidinin ne beklediğine ve onunla nasıl etkileşime girebileceğine bağlıdır, ancak tuzuna değecek herhangi bir ağ geçidinin tarif ettiğinizden daha güvenli bir senaryoya sahip olmadığını göremiyorum. Belki de yanılıyorum.
John K

gönderi isteğini sunucu tarafı üzerinden taklit edebilirsiniz, böylece verileri bu şekilde göndermek, ağ geçidine gönderilen verilerin tam olarak bu olduğundan emin olabilir ve ardından bunları konum üstbilgisiyle yeniden yönlendirebilirsiniz.
RobertPitt

PayPal, sitenin bunu engellemesini sağlayan bir şifreleme seçeneğine sahiptir. Site, önce verileri kendi kendine geri gönderir, sipariş veri sunucusu tarafını yalnızca kendileri ve PayPal tarafından bilinen bir anahtarla şifreler ve ardından bu verileri şifresini çözen PayPal'a gönderir. Şifrelenmemiş sipariş verileri hiçbir zaman form alanlarına bu şekilde gönderilmez. Bu sadece bir seçenek, bu yüzden PayPal kullanan her site bu şekilde yapmıyor. Yine de!
mikel

35

Hatırlayabileceğiniz her güvenlik iznini ayarlamaya izin veren çevrimiçi bir belge yöneticisine ne dersiniz ...

İndirme sayfasına gidene kadar ... download.aspx? DocumentId = 12345

Evet, documentId veritabanı kimliğiydi (otomatik artış) ve her bir sayıyı döngüye sokabilirsiniz ve herkes tüm şirket belgelerini alabilir.

Bu sorun için uyarıldığında, proje yöneticisi yanıtı şuydu: Tamam, teşekkürler. Ama kimse bunu daha önce fark etmemişti, hadi olduğu gibi tutalım.


56
Bu tavırdan gerçekten nefret ediyorum, birkaç kez anladım. Başkalarına sadece onlara bir ders vermek için izin vermelerini istiyor.
syaz

Nihayet son işimde bunun gibi bir delik doldurmaya devam ettim ... aylarca şikayetçi olduktan sonra.
göz kapaksızlığı

Bunu yapmanıza izin veren web siteleri bulmak nadir değildir. Son zamanlarda veya arşivlenmiş makalelerin bir dizinini görürsünüz, ancak giriş yapmak zorunda kalmadan listede bir veya iki sayfadan daha ileri gidemezsiniz. Sadece ilk makaleyi açın ve url'deki sağ parametreyi herhangi bir gönderiye değiştirin herhangi bir makaleyi görmek istediğiniz sayı.
bob-the-destroyer

2
İşte bunun harika bir örneği. Bu NY Times makalesinde: nytimes.com/2009/01/14/dining/14power.html?_r=1&ref=ding gösterilen resim, hala burada bulunan çok daha komik orijinal sürümün yerini almıştır: graphics8.nytimes.com /images/2009/01/14/dining/14power2_650.jpg
Jamie Treworgy

34

Bir Norveç pizza teslimi , yeni ve parlak internet portalında negatif miktarda pizza sipariş edebileceğiniz ve ücretsiz olarak alabileceğiniz bir güvenlik deliğine sahipti .


42
Diğer güvenlik açığı çalışanlar, değil mi? "Peki efendim, bilgisayar bedava 15 pizza aldýđýný söylüyor, yani ... iţte gidiyorsun! ... bir ipucu alabilir miyim?"
Nathan Long

6
... pizza yeriniz de DVD veriyor mu? Oo
mpen

5
Eski bir pizza sürücüsü olarak ... hayır, biz bu tür şeyler hakkında bir sıçan eşek vermedi. Ve yöneticilerimiz de yapmadı.
göz kapaksızlığı

48
Teslimatçı sattığınız pizzaları toplamaya gelmez mi?
Jon B

7
Vay canına ... ve teslimatçı sana bahşiş vermek zorunda mıydı? =))
Andrei Rînea
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.