Lubang keamanan terburuk yang pernah Anda lihat? [Tutup]

413

Apa lubang keamanan terburuk yang pernah Anda lihat? Mungkin ide yang baik untuk menjaga detail tetap terbatas untuk melindungi yang bersalah.

Untuk apa nilainya, inilah pertanyaan tentang apa yang harus dilakukan jika Anda menemukan celah keamanan, dan yang lain dengan beberapa jawaban yang berguna jika perusahaan tidak (tampaknya) merespons.

si618
sumber
47
Harus menjadi komunitas wiki imo ...
ChristopheD
Utas hebat! Saya harap ini dapat ditautkan dari DailyWTF.com
Dale
Kenapa ditutup? Ini pertanyaan yang masuk akal? !!
johnc
15
60 jawaban dan 28 upvotes tampaknya lebih besar dari 5 suara yang harus ditutup (butuh satu hari untuk terakumulasi, AFAIK). tetapi saya akan menahan diri untuk tidak memilih untuk membuka kembali sampai ini telah dibahas.
rmeador
7
Sekalipun pertanyaan Anda telah menjadi wiki komunitas selama berjam-jam, komentar itu masih merupakan komentar yang bagus untuk dihapus, karena mengingatkan orang bahwa pertanyaan yang mirip dengan ini haruslah wiki komunitas . Itu yang saya pikirkan.
Joren

Jawaban:

646

Dari hari-hari awal toko online:

Dapatkan diskon 90% dengan memasukkan 0,1 di bidang kuantitas keranjang belanja. Perangkat lunak dengan tepat menghitung total biaya sebagai biaya .1 *, dan manusia yang mengemas pesanan hanya menutupi "." di depan kuantitas untuk berkemas :)

John Stauffer
sumber
75
Ini jelas merupakan argumen yang mendukung penggunaan sistem yang sangat diketik.
Powerlord
54
Apa situsnya? Saya ingin diskon 90% !!!
amischiefr
58
Mungkin Anda seharusnya meminta .10 persen sebagai gantinya. ;)
MiffTheFox
81
Jeff Bezos menyebutkan bahwa di masa-masa awal Amazon, Anda dapat memiliki jumlah buku yang negatif dan Amazon akan mengkredit akun Anda (dan mungkin menunggu Anda mengirimkannya kepada mereka). Lihat 0:47 di youtube.com/watch?v=-hxX_Q5CnaA
Jeff Moser
10
Akan sangat senang melihat wajah pelanggan yang benar-benar mendapatkan .1 harddrives yang dia bayar.
Relet
575

Lubang keamanan yang paling tidak bisa dimaafkan, dan sayangnya yang sangat umum dan mudah ditemukan pada saat itu, adalah peretasan Google . Inti masalah:

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

Sungguh menakjubkan berapa banyak halaman di Internet, situs pemerintah khususnya, melewatkan kueri SQL melalui string kueri. Ini adalah bentuk terburuk dari injeksi SQL, dan tidak membutuhkan usaha sama sekali untuk menemukan situs yang rentan.

Dengan sedikit perubahan, saya dapat menemukan instalasi phpMyAdmin yang tidak dilindungi, instalasi MySQL yang tidak dilindungi, string permintaan yang berisi nama pengguna dan kata sandi, dll.

Juliet
sumber
6
Ya Tuhan, betapa bodohnya hal ini. Itu akan saya pindahkan pengembang itu ke HR dengan kotak di tangan.
squillman
95
tabel Bobby kecil menyerang lagi ... xkcd.com/327
gbjbaanb
86
OMFG ... waktu berikutnya saya mengalami hari yang buruk, saya pergi drop beberapa tabel
Michael Niemand
11
Apa yang saya sukai dari contoh ini adalah bahwa hasil pertama adalah dari blog Oracle.
Ravi Wallau
400

Rekayasa Sosial:

<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.

Dari bash.org

Bob Aman
sumber
2
Dulu terjadi sepanjang waktu di Runescape.
EvilTeach
7
Pertukaran khusus ini sangat tidak mungkin benar-benar terjadi (siapa yang akan mengetik "er" ketika mereka mencoba untuk menutupi sesuatu?), Tetapi tetap lucu.
Michael Myers
1
mmyers: itu juga sangat tidak mungkin seseorang cukup bodoh untuk mendapatkan rm -rf, tapi itu pasti terjadi. Saya sudah melihatnya sendiri :)
Matthew Iselin
25
Tidak ada yang lebih tidak aman daripada otak idiot
Earlz
1
@ EvilTeach mereka benar-benar mengimplementasikannya di RuneScape. Bahkan tidak bercanda!
corsiKa
339

Kisah nyata dari awal saya di Microsoft.

Anda belum tahu ketakutan sampai hari Anda bangun dan melihat berita utama di ZDNet.com pagi itu adalah " Lubang Keamanan Internet Explorer Terburuk Yang Pernah Ditemukan Di 'Blah' " di mana 'Blah' adalah kode yang Anda tulis sendiri enam bulan sebelumnya .

Segera setelah mulai bekerja saya memeriksa log perubahan dan menemukan bahwa seseorang di tim lain - seseorang yang kami percayai untuk melakukan perubahan pada produk - telah memeriksa kode saya, mengubah sekelompok pengaturan kunci registri keamanan tanpa alasan yang baik, memeriksanya kembali, dan tidak pernah mendapat ulasan kode atau memberi tahu siapa pun tentang hal itu. Sampai hari ini saya tidak tahu apa yang dia pikir dia lakukan; dia meninggalkan perusahaan tidak lama kemudian. (Dengan kemauannya sendiri.)

(PEMBARUAN: Beberapa tanggapan terhadap masalah yang muncul dalam komentar:

Pertama, perhatikan bahwa saya memilih untuk mengambil posisi amal bahwa perubahan kunci keamanan tidak disengaja dan didasarkan pada kecerobohan atau ketidaktahuan, daripada kedengkian. Saya tidak memiliki bukti satu atau lain cara, dan percaya bahwa adalah bijaksana untuk menghubungkan kesalahan dengan kesalahan manusia.

Kedua, sistem checkin kami jauh, jauh lebih kuat sekarang daripada dua belas tahun yang lalu. Misalnya, sekarang tidak mungkin untuk memeriksa kode tanpa sistem checkin mengirim email daftar perubahan ke pihak yang berkepentingan. Secara khusus, perubahan yang dilakukan pada akhir siklus kapal memiliki banyak "proses" di sekitar mereka yang memastikan bahwa perubahan yang tepat sedang dilakukan untuk memastikan stabilitas dan keamanan produk.)

Ngomong-ngomong, bugnya adalah bahwa sebuah objek yang TIDAK aman untuk digunakan dari Internet Explorer telah secara tidak sengaja dirilis sebagai ditandai "aman untuk skrip". Objek itu mampu menulis file biner - perpustakaan tipe OLE Automation, pada kenyataannya - ke lokasi disk sewenang-wenang. Ini berarti bahwa penyerang dapat membuat pustaka jenis yang berisi string tertentu dari kode permusuhan, menyimpannya ke jalur yang dikenal sebagai lokasi yang dapat dieksekusi, memberinya ekstensi sesuatu yang akan menyebabkan skrip dijalankan, dan berharap bahwa entah bagaimana pengguna secara tidak sengaja akan menjalankan kode. Saya tidak tahu ada serangan "dunia nyata" yang berhasil yang menggunakan kerentanan ini, tetapi dimungkinkan untuk membuat eksploitasi yang berhasil dengannya.

Kami mengirimkan tambalan yang sangat cepat untuk yang itu, izinkan saya memberi tahu Anda.

Saya menyebabkan dan kemudian memperbaiki lebih banyak celah keamanan di JScript, tetapi tidak ada satupun yang bisa mendapatkan publisitas yang dekat.

Eric Lippert
sumber
81
Bisa dibilang, ini sebenarnya adalah 2 eksploitasi keamanan; yang lain salah satunya cara untuk mendapatkan kode ke produksi membangun server tanpa ada yang memerhatikan / menyetujui perubahan ;-p
Marc Gravell
8
"Telah memeriksa kode saya, mengubah banyak pengaturan kunci registri keamanan tanpa alasan yang baik, memeriksanya kembali, dan tidak pernah mendapat ulasan kode atau memberi tahu siapa pun tentang hal itu" - tidak terdengar seperti ketidakmampuan bagi saya, itu Kedengarannya seperti niat jahat dari seseorang yang tahu persis apa yang mereka lakukan.
Juliet
80
"Jangan pernah mengaitkan dengan kedengkian yang bisa dijelaskan dengan cukup oleh kebodohan." - Pisau Cukur Hanlon
David R Tribble
15
Tidak ada satu sistem kontrol sumber yang diamanatkan untuk digunakan di Microsoft. Sebagian besar tim saat ini menggunakan Source Depot atau Team Foundation. Tidak mengherankan, tim produk Visual Studio umumnya menggunakan Team Foundation. Makanlah makanan anjing Anda sendiri, Anda tahu.
Eric Lippert
40
Siapa yang memeriksa ZDNet sebelum mulai bekerja?
Neil N
274

Saya harap Anda dapat menemukan apa yang salah di sini. (Sebenarnya sangat salah):

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);
}

Penerima terakhir adalah yang paling bahagia;)

Alex
sumber
226
Apakah Anda berbicara tentang fakta bahwa Anda menyimpan kata sandi teks biasa atau fakta bahwa emailBody tidak pernah dihapus? Aku bahkan tidak yakin mana yang lebih buruk.
Kristof Provost
208
Maksud Anda tidak menggunakan StringBuilder? : D (Just kidding.)
ShdNx
58
@ Kristof - Saya kira maksudnya adalah fakta bahwa pengguna terakhir mendapatkan daftar SEMUA pengguna dan kata sandi. :)
Don Branson
141
Saya benar-benar membenci sistem yang mengirim saya email kembali kata sandi saya sebagai bagian dari proses pendaftaran. Ini memiliki dua kelemahan: 1. Mereka menyimpan kata sandi plaintext saya di suatu tempat di dalam sistem mereka. Jika bukan database pengguna permanen mereka, pasti sistem pemrosesan pendaftaran mereka. 2. Itu dikirim melalui EMAIL, baik teks biasa atau HTML, SMTPing jalan melalui e-mail relay di internet. Ada sejumlah pria di tengah yang bisa mencegat ini. Paling tidak, jika Anda merasa perlu mengirim saya email dengan informasi yang aman, biarkan saya menentukan kunci PGP publik saya untuk Anda mengenkripsi itu!
Jesse C. Slicer
16
Saya menggunakan hash MD5 untuk melindungi kata sandi di database sekaligus. Tetapi setelah saya menjalankan hasilnya melalui tabel pelangi dan mencocokkan sekitar 50% dari kata sandi ... Saya pikir itu adalah waktu yang tepat untuk menambahkan garam.
Matthew Whited
206

Terminal bodoh IBM System 36 yang lama memiliki kombinasi keyboard yang memulai perekaman makro. Jadi, ketika terminal tidak masuk, Anda bisa mulai merekam makro dan membiarkannya di posisi itu. Lain kali seseorang masuk, penekanan tombol akan direkam di makro dan rekaman akan berakhir secara otomatis ketika kunci maksimum yang diizinkan direkam. Cukup kembali lagi nanti dan memutar ulang makro ke autolog-in.

teks alternatif

Stefan
sumber
204

Lubang keamanan terburuk yang pernah saya lihat benar-benar dikodekan oleh Anda dan menyebabkan Google Bot menghapus seluruh database saya.

Kembali ketika saya pertama kali belajar ASP Klasik, saya membuat kode aplikasi blog dasar saya sendiri. Direktori dengan semua skrip admin dilindungi oleh NTLM pada IIS. Suatu hari saya pindah ke server baru dan lupa untuk melindungi kembali direktori di IIS (oops).

Halaman beranda blog memiliki tautan ke layar admin utama, dan layar admin utama memiliki tautan DELETE untuk setiap catatan (tanpa konfirmasi).

Suatu hari saya menemukan setiap catatan dalam database dihapus (ratusan entri pribadi). Saya pikir beberapa pembaca telah masuk ke situs dan dengan jahat menghapus setiap catatan.

Saya datang untuk mencari tahu dari log: Google Bot telah merayapi situs, mengikuti tautan admin, dan melanjutkan untuk mengikuti semua DELETE LINKS, dengan demikian menghapus setiap catatan dalam database. Saya merasa layak menerima penghargaan Dumbass of the Year karena secara tidak sengaja dikompromikan oleh Google Bot.

Untungnya saya punya cadangan.

Matias Nino
sumber
13
Kira itu menunjukkan betapa umum kesalahan itu.
si618
96
Itu sebabnya Anda harus selalu POST untuk mengubah tindakan.
rekursif
7
@recursive: true, tetapi jika direktori tidak dilindungi kata sandi, itu tidak menghentikan manusia menghapus semuanya.
DisgruntledGoat
2
Saya mengalami masalah dengan plugin browser yang mengambil pranala tautan. Saya pernah bekerja untuk situs blog, dan kami bingung selama berhari-hari ketika seorang pengguna melaporkan bahwa semua komentar di blognya akan hilang secara misterius.
Matius
7
Tidak, Anda tidak pantas menerima penghargaan itu. Anda akan layak mendapatkannya jika ini terjadi dan Anda tidak memiliki cadangan.
Ryan Lundy
187

Lubang terburuk yang pernah saya lihat adalah bug dalam aplikasi web di mana memberikan nama pengguna dan kata sandi kosong akan mencatat Anda sebagai administrator :)

Kaitsu
sumber
144
Bug atau fitur untuk pengembang yang malas? :)
si618
9
Saya telah melihat kode seperti itu. Itu biasanya karena pencarian pengguna menggunakan LIKE, seperti dalam "SELECT * FROM [Pengguna] Di mana UserName LIKE '%" + userName + "%'". Dan karena administrator biasanya adalah pengguna pertama dalam database, itu mengembalikan pengguna itu.
Pierre-Alain Vigeant
11
mengapa anda melakukan seperti dengan nama pengguna ... jadi saya bisa admin dengan mengetik adm ketika saya ment untuk mengetik Adam?
Matius Whited
20
Sebagian besar perusahaan memberi Anda tiga upaya untuk login di bawah ID pengguna yang diberikan sebelum mereka mengunci akun. Jadi itu sepele mudah untuk mengunci keluar seseorang elses rekening dengan tiga password yang buruk.
David R Tribble
3
Saya telah melihat ini di banyak aplikasi web perusahaan yang mengautentikasi terhadap direktori LDAP. Di LDAP, kata sandi kosong menghasilkan login anonim yang sukses . Pengguna anonim tidak bisa berbuat banyak, tetapi aplikasi web menggunakan mekanisme ini tidak sejauh memeriksa - mereka hanya menganggap "sukses = kata sandi yang benar"!
SimonJ
174

Setelah melihat ini di URL situs web.

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

Mengubah parameter terakhir menjadi admin = 1 memberi saya hak admin. Jika Anda akan mempercayai input pengguna secara membuta setidaknya jangan mengirim telegraf bahwa Anda melakukannya!

JohnFx
sumber
19
Ini fitur yang berguna;) Apakah Anda tidak melihat WarGames? Sesuatu seperti "setiap pengembang yang baik menambahkan pintu belakang ke sistem mereka" hehe.
alex
38
Jadi mungkin mereka seharusnya menggunakan & admin = JOSHUA
JohnFx
165

Saya melihat ini di The Daily WTF .

<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>

Tidak ada yang bisa mengalahkan IMHO ini.

Konamiman
sumber
21
Saya pikir ini mungkin tidak sebodoh yang Anda pikirkan. Kata sandi sepele ini mungkin berfungsi seperti tombol "ya, saya dari pemerintah federal" dengan perbedaan bahwa seseorang yang mencoba menyalahgunakannya, jika tertangkap, juga dapat dituntut karena "memberikan kredensial palsu" (atau bagaimana mereka menyebutnya? )
ilya n.
29
ilya: Ini Javascript, jadi itu terlihat oleh pengguna. Setelah melihat itu, Anda bisa langsung pergi ke officer.federalsuppliers.com/agents.html , melewati segala jenis kontrol.
Alsciende
68
Jangan khawatir, selama situs web tersebut memiliki hak cipta, DMCA memberikan perlindungan 100%. Anda tidak diizinkan untuk "menghindari" Javascript.
Steve Hanov
13
@Steve Hanov: Anda memiliki definisi yang menarik tentang "circumvent" Jika saya mengetikkan url ke browser saya ... atau bahkan menyalin / menempelnya ... Saya tidak mem-bypass apa pun, saya hanya menggunakan browser saya untuk pergi ke alamat yang saya masukkan di bilah alamat saya. Yang merupakan salah satu tujuan dari peramban web.
Powerlord
46
selamat, Anda tidak bersalah, sayang sekali harganya 300k untuk meyakinkan juri bahwa
Dustin Getz
141

Di universitas tidak kurang, yang akan tetap tanpa nama, mereka memiliki semua kueri tindakan yang dilewatkan melalui URL alih-alih formulir yang diposting.

Masalahnya berhasil sampai Google Bot datang dan menelusuri semua URL mereka dan menghapus database mereka.

Evernoob
sumber
18
Injeksi SQL tua yang bagus oleh Desain. Saya telah bekerja dengan fungsionalitas pelaporan yang memiliki "fitur" built-in.
ICodeForCoffee
18
@ ICodeForCoffee: di mana injeksi SQL di sini? Ini hanya membingungkan tujuan GET vs POST. Ini adalah kesalahan yang cukup umum oleh pengembang web pemula. Saya ingat pernah membaca artikel WTF Harian tentang masalah ini.
rmeador
Bukankah versi yang sangat awal jika Wikipedia memiliki masalah ini? Mereka memiliki tautan yang akan mengembalikan suntingan atau sesuatu.
DisgruntledGoat
14
Masalah sebenarnya di sini adalah Googlebot dapat menghapus database tanpa pernah mengautentikasi.
MiffTheFox
34
Berharap mereka bisa mengambilnya dari cache Google.
fastcodejava
137

Terkejut tidak ada yang mengungkit rekayasa sosial, tetapi saya berhasil menendang artikel ini .

Ringkasan: pengguna jahat dapat membeli beberapa lusin flash drive, memuatnya dengan virus atau trojan yang dijalankan secara otomatis, kemudian memercikkan flash drive tersebut di tempat parkir perusahaan larut malam. Keesokan harinya, semua orang muncul untuk bekerja, tersandung pada perangkat keras, berbentuk permen, tak tertahankan dan berkata pada diri mereka sendiri "oh wow, flash drive gratis, saya ingin tahu ada apa di dalamnya!" - 20 menit kemudian seluruh jaringan perusahaan disemprot.

Juliet
sumber
69
Autorun itu jahat.
Mark Ransom
22
@mmyers: melarang flash drive bukanlah pendekatan yang baik. Hancurkan autorun / autoplay.
Jay
10
Baca beberapa waktu lalu, pendekatan lain (dari waktu floppy disk). Tinggal disket yang terinfeksi boot berlabel "Data akuntansi - rahasia" di koridor kantor dan tunggu 5 menit. Sangat menarik!
Rodrigo
13
Untungnya, saya selalu bisa boot dari Linux Live CD dan memeriksa flash drive dari sana.
David Thornley
6
@ Jay - Sayangnya, berapa banyak orang yang akan melihat file dan kemudian klik dua kali pada mereka "untuk melihat apa yang mereka lakukan"? Pelarangan adalah keharusan berkali-kali karena orang tidak berpikir.
JasCav
131

"Pedo mellon a minno" , "Bicaralah teman dan masuk", di gerbang Moria.

Adriano Varoli Piazza
sumber
13
Seolah siapa pun yang berbicara Peri tidak bisa dipercaya!
Artelius
6
xkcd.com/424
Lily Chung
103

Microsoft Bob
(Kredit: Abandonware Abad ke-20 Dan )

Jika Anda memasukkan kata sandi yang salah untuk ketiga kalinya, Anda ditanya apakah Anda lupa kata sandi.

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

Tetapi alih-alih memiliki keamanan, seperti terus meminta kata sandi yang benar sampai kata sandi itu dimasukkan atau mengunci Anda setelah beberapa upaya salah, Anda dapat memasukkan kata sandi baru dan itu akan menggantikan yang asli! Siapa pun dapat melakukan ini dengan akun Microsoft Bob yang dilindungi kata sandi.

Tidak diperlukan otentikasi sebelumnya. itu berarti User1 dapat mengubah kata sandi mereka sendiri hanya dengan salah ketik kata sandi mereka tiga kali lalu memasukkan kata sandi baru untuk keempat kalinya - tidak pernah harus menggunakan "ubah kata sandi."

Ini juga berarti bahwa User1 dapat mengubah kata sandi User2, User3 ... dengan cara yang persis sama. Setiap pengguna dapat mengubah kata sandi pengguna lain hanya dengan salah ketik tiga kali lalu memasukkan kata sandi baru saat diminta - dan kemudian mereka dapat mengakses akun.

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

JohnFx
sumber
7
Ini adalah perilaku yang sama seperti Windows itu sendiri ketika komputer tidak dikelola oleh domain. Bahkan di Windows Vista Ultimate, Anda dapat mengatur ulang kata sandi kapan saja. Saya menduga bahwa penolakan layanan dianggap sebagai ancaman yang lebih besar daripada akses tidak sah; terutama karena Anda bisa mendapatkan sebagian besar barang hanya dengan memasang kembali drive di tempat lain. Saya percaya tujuan kata sandi dalam hal ini adalah untuk deteksi intrusi daripada pencegahan.
Jeffrey L Whitledge
1
@ Jeffrey: Masalahnya, begitu topi hitam memiliki akses fisik, cukup banyak "permainan berakhir". Jika Anda ingin melindungi dari itu, Anda perlu enkripsi serius (serta cara untuk memindai keylogger perangkat keras dan perangkat lunak, dll.).
David Thornley
8
Seseorang yang lebih bijak dari saya menunjukkan ini hanya pemodelan ancaman yang baik. 'Bob' untuk digunakan di rumah di era non-jaringan dan Anda JAUH lebih mungkin menderita percobaan DOS dari adik perempuan Anda atau mabuk daripada dari beberapa pencuri. Bob memberi tahu Anda bahwa akun Anda telah diakses (karena kata sandi lama Anda tidak lagi berfungsi) tetapi tidak mencoba untuk berbuat lebih banyak.
bgiles
20
Istri saya hanya melihat saya melihat ini ... Her: "Ya ampun! Program apa itu ?!" Saya: "... Microsoft Bob?" Dia: "Saya menyukai Microsoft Bob!" Huh ...
Tim Goodman
10
@ChristianWimmer - Kedengarannya seperti memberi orang ransel bertuliskan "Parasut" sehingga mereka terbiasa dengan perasaan satu di punggung mereka, tetapi tanpa memberitahu mereka tidak ada parasut di sana.
JohnFx
102

Saya memiliki alamat rumah mantan Joe X, dan perlu tahu alamatnya yang sekarang lebih baru di kota yang sama, tetapi tidak memiliki cara untuk menghubunginya. Saya pikir dia menerima tumpukan katalog pesanan surat harian, jadi saya secara sewenang-wenang memanggil nomor 800 untuk Permen See's (sebagai lawan dari Victoria's Secret, atau Swiss Colony, atau pengirim surat besar lainnya):

Saya: "Hai, saya Joe X. Saya pikir Anda sudah memasukkan saya ke mailing list dua kali, di alamat lama dan alamat baru saya. Apakah komputer Anda menunjukkan kepada saya di [alamat lama] atau di [alamat palsu] ? "

Operator: "Tidak, kami tunjukkan di [alamat baru]."

joe snyder
sumber
36
Ah, pasti suka rekayasa sosial. Aspek keamanan manusia biasanya paling lemah.
EMP
95

Memberi 1 = 1 dalam kotak teks mencantumkan semua pengguna dalam sistem.

rahul
sumber
325
Salam dari Bobby Tables.
Gumbo
4
bagaimana bisa komentar @ Gumbo terunggah sebanyak 4 kali lipat dari jawabannya?
Lie Ryan
12
Sederhananya, 4 kali jumlah orang yang memberikan pertanyaan telah memilih komentarnya: /
RobertPitt
4
Akankah salah satu dari 221 pemilih pemilih dari komentar Bobby Tables mengatakan kepada kita semua apa sebenarnya Bobby Tables?
kirk.burleson
15
@ kirk.burleson: xkcd.com/327
gspr
76

Menjadi konsultan keamanan aplikasi untuk mencari nafkah ada banyak masalah umum yang memungkinkan Anda mendapatkan admin di situs web melalui sesuatu. Tetapi bagian yang sangat keren adalah ketika Anda dapat membeli kaus kaki bernilai satu juta dolar.

Itu adalah teman saya yang mengerjakan pertunjukan ini, tetapi intinya adalah bahwa harga untuk barang-barang di toko buku online tertentu yang sekarang sangat populer (dan yang lainnya) disimpan dalam HTML itu sendiri sebagai bidang tersembunyi. Kembali pada hari-hari awal bug ini menggigit banyak toko online, mereka baru saja mulai mencari tahu web. Kesadaran keamanan sangat kecil, maksud saya benar-benar siapa yang akan mengunduh HTML, mengedit bidang tersembunyi dan mengirim ulang pesanan?

Tentu saja kami mengubah harga menjadi 0 dan memesan 1 juta pasang kaus kaki. Anda juga dapat mengubah harga menjadi negatif tetapi melakukan ini membuat beberapa bagian dari buffer overflow penagihan perangkat lunak akhir mereka mengakhiri transaksi.

Jika saya bisa memilih yang lain itu akan menjadi jalur masalah kanonikisasi dalam aplikasi web. Sangat menyenangkan bisa melakukan foo.com?file=../../../../etc/passwd

Collin
sumber
9
Luar biasa, Anda tidak akan pernah kehilangan kaus kaki lagi!
si618
75
Apakah Anda pernah mendapatkan kaus kaki?
Alex Barrett
32
Pesanan melewati dan sistem pemenuhan mengingatkan gudang. Kami menyadari itu mungkin berhasil dan memberi tahu kontak kami bahwa mereka harus menghentikan pesanan. Rupanya sedikit kemudian seorang manajer gudang bertanya tentang pesanan untuk memastikan itu nyata. Dia dengan bijak berpikir bahwa itu adalah kesalahan perangkat lunak.
Collin
27
@StuperUser, Di kaki Anda, tentu saja.
strager
12
Tidak masalah dengan penyimpanan, cukup retas situs web Ikea untuk memesan 100.000 set laci,
Neil Aitken
64

Melakukan password root database ke kontrol sumber secara tidak sengaja. Itu sangat buruk, karena itu adalah kontrol sumber pada Sourceforge.

Tidak perlu dikatakan kata sandi diubah dengan sangat cepat.

Matthew Iselin
sumber
144
OKE, kata sandi diganti dengan sangat cepat ... tetapi oleh siapa ?
Eamon Nerbonne
1
Sudah jalan ini. Banyak sistem (seperti Django, misalnya) praktis mendorong ini, karena mereka meminta Anda untuk memasukkan kata sandi DB Anda ke file pengaturan, yang secara alami, sangat mudah untuk check-in.
mlissner
56

Tidak mengubah kata sandi admin ketika karyawan TI utama meninggalkan perusahaan.

Maks
sumber
1
atau meninggalkan default pabrik seperti admin / admin (juga atau terutama di perangkat keras) ...
Gnark
47
Aku punya satu buruk - saya meninggalkan universitas setelah telah digantung bersama, dengan direktori mengatakan mereka menciptakan pekerjaan kelas yang lebih tinggi bagi saya setelah saya lulus, tapi saya kemudian menemukan dia mengatakan kepada manajer saya mereka tidak ke Promosikan aku. Tak perlu dikatakan, saya tidak senang tentang hal itu. Saya secara khusus mengatakan kepada manajer saya untuk mengubah setiap kata sandi yang saya akses. Seminggu setelah saya pergi, saya mendapat email dari manajer saya dengan kata sandi root, 'kalau-kalau saya membutuhkannya'. Saya menghubungi sysadmin untuk memastikan itu berubah lagi, karena saya tidak ingin jatuh jika terjadi kesalahan.
Joe
10
@Sophomore: Saya ingat dalam biografi Feynman bahwa dia berkomentar bahwa banyak dari brankas raksasa yang sangat aman yang menyimpan rahasia proyek Manhattan dibiarkan dalam kombinasi default.
Brian
12
Saya hanya bisa membayangkan mata-mata Uni Soviet sampai ke brankas dan mencoba segala yang dia bisa pikirkan untuk memecahkan brankas, "Sial! Aku tidak bisa memecahkannya. Bukankah lucu jika aku bisa ... wow, skor satu untuk Bunda Rusia! "
Eric
3
Tidak dapat tersenyum ketika membaca ini, saya bekerja sebagai teknisi IT musim panas di sebuah perusahaan Swedia yang sangat terkenal, dan ketika saya kembali beberapa tahun kemudian untuk bekerja sebagai seorang insinyur, saya mempunyai masalah dalam menginstal beberapa perangkat lunak. Tiba-tiba saya ingat kata sandi admin lama, dan voila! itu bekerja =)
Viktor Sehr
50

Meskipun ini bukan lubang keamanan terburuk yang pernah saya lihat. Tapi ini setidaknya yang terburuk yang kutemukan:

Toko online yang cukup sukses untuk buku audio menggunakan cookie untuk menyimpan informasi identifikasi pengguna saat ini setelah otentikasi berhasil. Tetapi Anda dapat dengan mudah mengubah ID pengguna dalam cookie dan mengakses akun lain dan membelinya.

Gumbo
sumber
Wow ... Saya memiliki hal yang persis terjadi pada saya pada kode ASP yang saya warisi.
Radu094
Saya memelihara aplikasi yang memiliki masalah persis ini. Pasti ada di daftar perbaikan, pasti. Untungnya, ini bukan situs e-niaga.
quentin-starin
12
Ini terjadi lebih sering daripada yang disadari kebanyakan orang.
NotMe
47

Tepat di awal era .com, saya bekerja untuk pengecer besar di luar negeri. Kami menyaksikan dengan penuh minat ketika pesaing kami meluncurkan toko online berbulan-bulan sebelum kami. Tentu saja, kami pergi untuk mencobanya ... dan dengan cepat menyadari bahwa gerobak belanja kami sedang campur aduk. Setelah bermain dengan string kueri sedikit, kami menyadari bahwa kami dapat saling membajak sesi. Dengan waktu yang tepat, Anda dapat mengubah alamat pengiriman tetapi meninggalkan metode pembayaran sendiri ... semua itu setelah mengisi keranjang dengan barang favorit Anda.

Eric J.
sumber
Tentu saja, ini berarti bahwa Anda telah melakukan sesuatu yang jahat untuk membuat mereka mengirim barang kepada Anda secara curang jika Anda benar-benar melakukan ini, dan memberi tahu "mereka" alamat Anda.
David Thornley
6
Ya, itulah yang membuatnya menjadi lubang keamanan utama. Kami tidak benar-benar menekan tombol beli, tetapi kami bisa melakukannya. Dan, berdasarkan laporan berita, beberapa orang melakukannya.
Eric J.
45

Ketika saya pertama kali bergabung dengan perusahaan tempat saya bekerja saat ini, bos saya mencari situs web e-commerce yang ada dari calon klien baru. Ini pada hari-hari awal IIS dan e-commerce, dan keamanannya, harus kita katakan, kurang ketat.

Untuk mempersingkat cerita, dia mengubah URL (hanya karena penasaran), dan menyadari bahwa penelusuran direktori tidak dimatikan, jadi Anda bisa memotong nama halaman di bagian akhir URL dan melihat semua file di server web.

Kami akhirnya menjelajahi folder yang berisi database Access, yang kami unduh. Itu adalah seluruh basis data pelanggan / pesanan e-commerce, penuh dengan beberapa ribu nomor kartu kredit yang tidak dienkripsi.

Mark Bell
sumber
1
Ini hampir dua belas tahun yang lalu, ketika situs web berbasis data adalah hal baru; banyak situs berlari melawan Access atau serupa, karena tidak ada yang ingin berinvestasi dalam lisensi SQL Server untuk sesuatu yang dianggap sebagai 'samping' untuk bisnis inti mereka. Bagaimana semuanya berubah!
Mark Bell
44

Ketika saya berusia 13 tahun sekolah saya membuka jejaring sosial untuk para siswa. Sayangnya untuk mereka saya menemukan bug keamanan di mana Anda dapat mengubah URI ke userID lain seperti "? UserID = 123" dan menjadi masuk untuk pengguna itu. Jelas saya memberi tahu teman-teman saya, dan pada akhirnya jaringan sosial sekolah dipenuhi dengan porno.

Tidak akan merekomendasikan hotel ini.

hannson
sumber
3
mengapa kamu tidak merekomendasikan ini? apa yang terjadi?
Simon_Weaver
55
@Simon_Weaver: Saya kira anak berusia 13 tahun biasanya tidak memiliki selera yang baik untuk film porno.
pemalas
@slacker +1 untuk memberi Anda 1000 rep! kecuali saya tidak berpikir komentar peringkat memberi Anda rep :-(
Simon_Weaver
2
"selera yang baik untuk porno" - ada oxymoron.
Zann Anderson
43

Saya pikir bidang nama pengguna / kata sandi kosong untuk akses pengguna super sejauh ini adalah yang terburuk. Tapi yang saya lihat sendiri adalah

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

Sayang sekali satu operator membuat perbedaan besar.

Stefan Ernst
sumber
10
wow, secara alami saya memiliki paksaan untuk memperbaikinya
wag2639
Fakta bahwa kata sandi asli digunakan sebagai ganti hash sebenarnya juga agak buruk ...
Peter Kriens
Pertama saya adalah "ada apa?", Dan kemudian saya "AAAAaaaaaaaAAAA! OMG"
Bojan Kogoj
42

Milik saya akan untuk bank saya adalah pelanggan. Saya tidak bisa masuk, jadi saya menelepon layanan pelanggan. Mereka menanyakan nama pengguna saya dan tidak ada yang lain - tidak mengajukan pertanyaan keamanan atau mencoba memverifikasi identitas saya. Kemudian alih-alih mengirim setel ulang kata sandi ke alamat email yang mereka miliki di file, mereka bertanya kepada saya apa alamat email untuk mengirimnya. Saya memberi mereka alamat yang berbeda dari yang saya miliki di file, dan dapat mengatur ulang kata sandi saya.

Jadi intinya, yang dibutuhkan seorang hacker adalah nama pengguna saya, dan dia kemudian dapat mengakses akun saya. Ini untuk bank besar yang akan didengar oleh setidaknya 90% orang di Amerika Serikat. Ini terjadi sekitar dua tahun lalu. Saya tidak tahu apakah itu perwakilan layanan pelanggan yang kurang terlatih atau apakah itu prosedur standar.

Sean
sumber
22
dan bank apa itu?
TigerTiger
5
@ Si: itu menulis 'SAYA adalah pelanggan ...'. Saya pikir itu menjawab pertanyaan. :)
ShdNx
8
Ini adalah Washington Mutual, yang disita oleh FDIC dan dijual ke Chase awal tahun ini. Mereka juga memiliki pesan kesalahan aneh. Ketika saya mencoba untuk mengatur kata sandi saya dari yang sementara saya terus mendapatkan kesalahan "Kata sandi tidak cocok", meskipun mereka sama dan saya bahkan menyalin / menempel. Saya menyadari bahwa jika saya meletakkan "karakter yang tidak valid" seperti garis miring, alih-alih mengatakan karakter yang tidak valid, itu akan memberi saya pesan lain.
Sean
11
@ Elizabeth: Uhm ... Anda sadar itu untuk mencegah phising, kan? Jika seseorang mencoba menyalin atau meniru situs web bank, tampilannya dapat persis sama, tetapi mungkin mereka tidak memiliki akses ke database, sehingga mereka tidak dapat memperoleh gambaran keamanan yang tepat. Itu sebabnya ada di sana. Tidak semua pengguna cukup pintar untuk memeriksa sertifikat (yang mungkin juga
digertak
13
Melindungi akun keuangan Anda berlebihan? ...
Joe Phillips
36

Saya akan membagikan yang saya buat. Agak.

Bertahun-tahun yang lalu perusahaan tempat saya bekerja ingin pengindeksan di situs web ASP mereka. Maka saya pergi dan mengatur Server Index, mengecualikan beberapa direktori admin dan semuanya baik-baik saja.

Namun tidak diketahui oleh saya, seseorang telah memberi orang penjualan akses ftp ke server web sehingga ia dapat bekerja dari rumah, ini adalah hari-hari dialup dan itu adalah cara termudah baginya untuk bertukar file .... dan ia mulai mengunggah sesuatu, termasuk dokumen yang merinci markup pada layanan kami .... yang server indeks diindeks dan mulai melayani ketika orang mencari "Biaya".

Ingat anak-anak, daftar putih bukan daftar hitam.

blowdart
sumber
76
Saya pikir "daftar putih bukan daftar hitam", walaupun sering merupakan saran yang bagus, bukan pelajaran yang tepat untuk dipelajari di sini. Pelajaran yang benar adalah "jangan menaruh data pribadi di server publik". Juga, "jangan biarkan orang penjualan mengakses server".
rmeador
7
Oh, harmoni antara jawaban dan avatar.
Çağdaş Tekin
35

Salah satu yang paling sederhana, namun benar-benar layak biaya adalah:

Sistem pembayaran yang menggunakan mesin seperti PayPal dapat cacat karena respons balik dari PayPal setelah pembayaran berhasil tidak diperiksa sebagaimana mestinya.

Sebagai contoh:

Saya bisa pergi ke beberapa situs web pembelian CD dan menambahkan beberapa konten ke troli, lalu selama tahap checkout biasanya ada formulir pada halaman yang telah diisi dengan bidang untuk paypal, dan tombol kirim ke "Bayar" ..

Menggunakan Editor DOM saya bisa masuk ke formulir "hidup" dan mengubah nilai dari £899.00ke £0.01dan kemudian klik kirim ...

Ketika saya berada di sisi PayPal, saya dapat melihat bahwa jumlahnya adalah 1 sen, jadi saya membayarnya dan PayPal mengalihkan beberapa parameter ke situs pembelian awal, yang hanya memvalidasi parameter seperti payment_status=1, dll., Dll. Dan tidak memvalidasi jumlah yang dibayarkan.

Ini bisa mahal jika mereka tidak memiliki cukup penebangan di tempat atau produk dikirim secara otomatis.

Jenis situs terburuk adalah situs yang mengirimkan aplikasi, perangkat lunak, musik, dll.

RobertPitt
sumber
12
+1 Setuju. Dalam situasi halaman pembayaran yang di-host, situs web asal tidak boleh mengizinkan pengguna untuk mendorong nilai diposting; alih-alih halaman tersebut harus memposting kembali ke dirinya sendiri setelah pengguna mengklik dan kemudian server merumuskan dan mengirim op operasi ke "gateway" pembayaran secara langsung dengan nilai yang sesuai. Itu semua tergantung pada apa yang diharapkan gateway dan bagaimana interaksi dapat dilakukan dengannya, tetapi saya tidak dapat melihat gateway mana pun yang bernilai karena tidak memiliki skenario yang lebih aman daripada yang Anda gambarkan. Mungkin saya salah.
John K
Anda bisa meniru permintaan posting melalui sisi server sehingga mengirim data dengan cara itu Anda dapat memastikan bahwa data yang dikirim ke gateway persis seperti itu, dan kemudian mengarahkannya kembali dengan header lokasi.
RobertPitt
PayPal memiliki opsi enkripsi yang memungkinkan situs mencegahnya. Situs memposting kembali data ke dirinya sendiri terlebih dahulu, mengenkripsi data server sisi pesanan dengan kunci yang hanya diketahui oleh mereka dan PayPal, dan kemudian mengirimkan data tersebut ke PayPal yang mendekripsi data tersebut. Data pesanan yang tidak dienkripsi tidak pernah dikirim dalam bidang formulir seperti itu. Ini hanya sebuah opsi, jadi tidak setiap situs menggunakan PayPal melakukannya dengan cara itu. Mereka seharusnya!
mikel
35

Bagaimana dengan manajer dokumen online, yang diizinkan untuk mengatur setiap izin keamanan yang dapat Anda ingat ...

Itu sampai Anda tiba di halaman unduh ... unduh.aspx? DocumentId = 12345

Ya, documentId adalah ID basis data (peningkatan otomatis) dan Anda bisa mengulang setiap nomor dan siapa pun bisa mendapatkan semua dokumen perusahaan.

Ketika diberitahu untuk masalah ini, respons manajer proyek adalah: Oke, terima kasih. Tapi tidak ada yang memperhatikan ini sebelumnya, jadi mari kita simpan apa adanya.

Sergio
sumber
56
Saya sangat membenci sikap itu, sudah mendapatkannya beberapa kali. Buat saya ingin membiarkan orang lain melakukannya hanya untuk mengajar mereka pelajaran.
syaz
Saya akhirnya mendapat lampu hijau untuk mengisi lubang seperti ini di pekerjaan terakhir saya ... setelah berbulan-bulan mengeluh tentang hal itu.
kelopak mata
Bukan hal yang aneh untuk menemukan situs web yang memungkinkan Anda melakukan ini. Anda akan melihat direktori artikel terbaru atau yang diarsipkan, tetapi tidak dapat kembali lebih jauh dalam daftar daripada satu atau dua halaman tanpa harus masuk. Cukup buka artikel pertama, dan ubah parameter yang tepat di url ke sembarang posting nomor yang ingin Anda lihat artikel apa pun.
bob-the-destroyer
2
Ini contoh yang bagus untuk ini. Dalam artikel NY Times ini: nytimes.com/2009/01/14/dining/14power.html?_r=1&ref=dining gambar yang ditampilkan adalah pengganti untuk versi asli yang jauh lebih lucu, masih tersedia di sini: graphics8.nytimes.com /images/2009/01/14/dining/14power2_650.jpg
Jamie Treworgy
34

Pengiriman pizza Norwegia memiliki celah keamanan di mana Anda dapat memesan pizza negatif dalam jumlah banyak di portal internet baru dan mengkilap dan mendapatkannya secara gratis.

user110763
sumber
42
Lubang keamanan lainnya adalah para karyawan, bukan? "Yah, komputer mengatakan Anda mendapat 15 pizza gratis, jadi ... ini dia! ... apakah saya mendapat tip?"
Nathan Long
6
... tempat pizza Anda juga membagikan DVD? Oo
mpen
5
Sebagai mantan supir pizza ... tidak, kami tidak peduli pada hal-hal semacam itu. Dan begitu pula manajer kami.
kelopak mata
48
Bukankah pria pengiriman datang untuk mengumpulkan pizza yang Anda jual ?
Jon B
7
Wow .. dan petugas pengiriman harus memberi Anda tip? =))
Andrei Rînea