Lỗ hổng bảo mật tồi tệ nhất bạn từng thấy? [đóng cửa]


413

Lỗ hổng bảo mật tồi tệ nhất bạn từng thấy là gì? Có lẽ là một ý tưởng tốt để giữ chi tiết hạn chế để bảo vệ tội lỗi.

Để biết giá trị của nó là gì, đây là câu hỏi về việc cần làm nếu bạn tìm thấy lỗ hổng bảo mật và một lỗ hổng khác câu hỏi với một số câu trả lời hữu ích nếu một công ty không (dường như) trả lời.


47
Nên là cộng đồng wiki imo ...
BarsheD

Chủ đề tuyệt vời! Tôi hy vọng nó có thể được liên kết đến từ DailyWTF.com
Dale

Tại sao lại đóng cửa? Đó là một câu hỏi hoàn toàn hợp lý? !!
johnc

15
60 câu trả lời và 28 câu trả lời dường như lớn hơn 5 phiếu để đóng (phải mất cả ngày để tích lũy, AFAIK). nhưng tôi sẽ không bỏ phiếu để mở lại cho đến khi điều này được thảo luận.
rmeador

7
Ngay cả khi câu hỏi của bạn là wiki cộng đồng trong nhiều giờ, bình luận vẫn là một bình luận tốt để nâng cao, vì nó nhắc nhở mọi người rằng các câu hỏi tương tự như câu hỏi này nên là wiki cộng đồng . Tôi nghĩ vậy đó.
Joren

Câu trả lời:


646

Từ những ngày đầu của các cửa hàng trực tuyến:

Được giảm giá 90% bằng cách nhập .1 vào trường số lượng của giỏ hàng. Phần mềm đã tính toán chính xác tổng chi phí là .1 * chi phí và con người đóng gói đơn đặt hàng chỉ đơn giản là "lẻ". Trước số lượng để đóng gói :)


75
Đây chắc chắn là một đối số có lợi cho việc sử dụng một hệ thống được gõ mạnh.
Powerlord

54
Trang web là gì? Tôi muốn giảm giá 90% !!!
amischiefr

58
Có lẽ bạn nên yêu cầu một tỷ lệ phần trăm thay thế. ;)
MiffTheFox

81
Jeff Bezos đã đề cập rằng trong những ngày đầu của Amazon, bạn có thể có số lượng sách âm và Amazon sẽ ghi có vào tài khoản của bạn (và có lẽ chờ bạn gửi nó cho họ). Xem 0:47 tại youtube.com/watch?v=-hxX_Q5CnaA
Jeff Moser

10
Rất thích nhìn thấy khuôn mặt của khách hàng thực sự đã giao .1 ổ cứng mà anh ta đã trả tiền.
relet

575

Lỗ hổng bảo mật ít được tha thứ nhất, và thật không may, một lỗ hổng rất phổ biến và dễ tìm thấy ở đó, đó là Google hack . Trường hợp tại điểm:

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

Thật đáng ngạc nhiên khi có bao nhiêu trang trên Internet, đặc biệt là các trang web của chính phủ, chuyển một truy vấn SQL thông qua chuỗi truy vấn. Đây là hình thức tiêm SQL tồi tệ nhất và hoàn toàn không mất công tìm kiếm các trang dễ bị tấn công.

Với các chỉnh sửa nhỏ, tôi đã có thể tìm thấy các bản cài đặt phpMyAdmin không được bảo vệ, các bản cài đặt không được bảo vệ của MySQL, các chuỗi truy vấn có chứa tên người dùng và mật khẩu, v.v.



6
Ôi Chúa ơi, thật ngu ngốc. Đó sẽ là tôi diễu hành nhà phát triển đó đến phòng nhân sự với một hộp trong tay.
squillman

95
các bàn Bobby nhỏ lại đình công một lần nữa ... xkcd.com/327
gbjbaanb

86
OMFG ... lần tới khi tôi có một ngày tồi tệ, tôi sẽ bỏ một số bàn
Michael Niemand

11
Điều tôi thực sự thích về ví dụ này là kết quả đầu tiên là từ một blog của Oracle.
Ravi Wallau

400

Kỹ thuật xã hội:

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

Từ bash.org


2
Được sử dụng để xảy ra tất cả các thời gian trên Runescape.
EvilTeach

7
Sự trao đổi cụ thể này rất khó xảy ra (ai sẽ gõ "er" khi họ đang cố che đậy điều gì đó?), Nhưng dù sao cũng buồn cười.
Michael Myers

1
mmyer: cũng rất khó có ai đó đủ ngu ngốc để nhận rm -rf'd, nhưng điều đó chắc chắn xảy ra. Tôi đã nhìn thấy nó :)
Matthew Iselin

25
Không có gì bất an hơn bộ não ngu ngốc
Earlz

1
@EvilTeach họ thực sự đã thực hiện điều đó trên RuneScape. Thậm chí không đùa!
corsiKa

339

Câu chuyện có thật từ những ngày đầu của tôi tại Microsoft.

Bạn chưa biết sợ hãi cho đến ngày bạn thức dậy và thấy dòng tiêu đề trên ZDNet.com sáng hôm đó là " Lỗ hổng bảo mật Internet Explorer tồi tệ nhất từng được phát hiện trong 'Blah' " trong đó 'Blah' là mã bạn đã tự viết sáu tháng trước .

Ngay lập tức khi đi làm, tôi đã kiểm tra nhật ký thay đổi và phát hiện ra rằng ai đó trong nhóm khác - người mà chúng tôi tin tưởng để thay đổi sản phẩm - đã kiểm tra mã của tôi, thay đổi một loạt các cài đặt khóa đăng ký bảo mật mà không có lý do chính đáng, kiểm tra lại và không bao giờ nhận được mã đánh giá hoặc cho bất kỳ ai biết về nó. Cho đến hôm nay tôi không biết anh ta nghĩ anh ta đang làm gì trên trái đất; Anh rời công ty ngay sau đó. (Theo ý của anh ấy.)

(CẬP NHẬT: Một vài phản hồi cho các vấn đề được nêu trong các ý kiến:

Đầu tiên, lưu ý rằng tôi chọn đảm nhận vị trí từ thiện rằng các thay đổi khóa bảo mật là vô ý và dựa trên sự bất cẩn hoặc không quen thuộc, thay vì ác ý. Tôi không có bằng chứng bằng cách này hay cách khác, và tin rằng thật khôn ngoan khi gán những sai lầm cho sự sai lầm của con người.

Thứ hai, hệ thống checkin của chúng tôi mạnh hơn rất nhiều so với mười hai năm trước. Ví dụ, hiện không thể kiểm tra mã mà không có hệ thống đăng ký gửi email danh sách thay đổi cho các bên quan tâm. Đặc biệt, những thay đổi được thực hiện muộn trong chu kỳ tàu có rất nhiều "quy trình" xung quanh chúng, đảm bảo rằng những thay đổi phù hợp đang được thực hiện để đảm bảo tính ổn định và bảo mật của sản phẩm.)

Dù sao, lỗi là một đối tượng KHÔNG an toàn được sử dụng từ Internet Explorer đã vô tình được phát hành là được đánh dấu là "an toàn cho kịch bản". Đối tượng có khả năng ghi các tệp nhị phân - thực tế là các thư viện kiểu OLE - vào các vị trí đĩa tùy ý. Điều này có nghĩa là kẻ tấn công có thể tạo một thư viện kiểu chứa các chuỗi mã thù địch nhất định, lưu nó vào một đường dẫn là một vị trí thực thi đã biết, cung cấp cho nó phần mở rộng của thứ gì đó sẽ khiến tập lệnh chạy và hy vọng rằng bằng cách nào đó người dùng sẽ sẽ vô tình chạy mã. Tôi không biết về bất kỳ cuộc tấn công "thế giới thực" thành công nào đã sử dụng lỗ hổng này, nhưng có thể tạo ra một khai thác hoạt động với nó.

Chúng tôi đã chuyển một bản vá khá nhanh chóng cho cái đó, để tôi nói với bạn.

Tôi đã gây ra và sau đó đã sửa nhiều lỗ hổng bảo mật hơn trong JScript, nhưng không ai trong số họ từng có bất kỳ nơi nào gần nơi công khai mà người ta đã làm.


81
Có thể cho rằng, đây thực sự là 2 khai thác bảo mật; một cái khác là làm thế nào để lấy mã trên máy chủ xây dựng sản xuất mà không ai nhận thấy / chấp thuận thay đổi ;-p
Marc Gravell

8
"đã kiểm tra mã của tôi, thay đổi một loạt các cài đặt khóa đăng ký bảo mật mà không có lý do chính đáng, đã kiểm tra lại và không bao giờ nhận xét mã hoặc nói với bất kỳ ai về nó" - nghe có vẻ không phù hợp với tôi, nó Nghe có vẻ như ý đồ độc hại từ ai đó biết chính xác những gì họ đang làm.
Juliet

80
"Không bao giờ gán cho ác ý mà có thể được giải thích thỏa đáng bởi sự ngu ngốc." - Dao cạo của Hanlon
David R Tribble

15
Không có một hệ thống kiểm soát nguồn nào được ủy quyền sử dụng trên toàn Microsoft. Hầu hết các đội ngày nay đều sử dụng Source Depot hoặc Team Foundation. Không có gì đáng ngạc nhiên, các nhóm sản phẩm của Visual Studio thường sử dụng Team Foundation. Ăn thức ăn cho chó của riêng bạn, bạn biết.
Eric Lippert

40
Ai kiểm tra ZDNet trước khi đi làm?
Neil N

274

Tôi hy vọng bạn có thể phát hiện ra những gì sai ở đây. (Thực sự sai lầm, trên thực tế):

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

Người nhận cuối cùng là hạnh phúc nhất;)


226
Bạn đang nói về việc bạn lưu trữ mật khẩu văn bản đơn giản hay thực tế là emailBody không bao giờ bị xóa? Tôi thậm chí không chắc cái nào tệ hơn.
Kristof Provost

208
Bạn có nghĩa là không sử dụng StringBuilder? : D (Đùa thôi.)
ShdNx

58
@Kristof - Tôi đoán anh ta có nghĩa là người dùng cuối cùng nhận được danh sách TẤT CẢ người dùng và mật khẩu. :)
Don Branson

141
Tôi hoàn toàn không ưa các hệ thống email cho tôi sao lưu mật khẩu của tôi như là một phần của quá trình đăng ký. Điều này có hai lỗ hổng: 1. Họ đang lưu trữ mật khẩu văn bản gốc của tôi ở đâu đó trong hệ thống của họ. Nếu không phải là cơ sở dữ liệu người dùng vĩnh viễn của họ, chắc chắn hệ thống xử lý đăng ký của họ. 2. Nó được gửi qua EMAIL, dưới dạng văn bản thuần túy hoặc HTML, gửi thư qua đường dây qua thư chuyển tiếp qua internet. Có một số người đàn ông ở giữa có thể ngăn chặn điều này. Ít nhất, nếu bạn cảm thấy cần gửi email cho tôi với thông tin an toàn, hãy để tôi chỉ định khóa PGP công khai của tôi cho bạn để mã hóa nó!
Jesse C. Choper

16
Tôi đã sử dụng băm MD5 để bảo vệ mật khẩu trong cơ sở dữ liệu một lần. Nhưng sau khi tôi chạy kết quả qua một bảng cầu vồng và khớp khoảng 50% mật khẩu ... tôi đoán rằng đây là thời điểm tốt để thêm muối.
Matthew Whited

206

Các thiết bị đầu cuối câm System System 36 cũ của IBM có tổ hợp bàn phím bắt đầu ghi macro. Vì vậy, khi một thiết bị đầu cuối không được đăng nhập, bạn có thể bắt đầu ghi macro và để nó ở vị trí đó. Lần tới khi ai đó đăng nhập, tổ hợp phím sẽ được ghi trong macro và quá trình ghi sẽ tự động kết thúc khi các phím được phép tối đa được ghi. Chỉ cần quay lại sau và phát lại macro để tự động đăng nhập.

văn bản thay thế


204

Lỗ hổng bảo mật tồi tệ nhất tôi từng thấy thực sự được mã hóa bởi bạn và khiến Google Bot xóa toàn bộ cơ sở dữ liệu của tôi.

Quay lại khi tôi lần đầu tiên học Classic ASP, tôi đã mã hóa ứng dụng blog cơ bản của riêng mình. Thư mục chứa tất cả các tập lệnh quản trị đã được NTLM bảo vệ trên IIS. Một ngày nọ tôi chuyển đến một máy chủ mới và quên bảo vệ lại thư mục trong IIS (rất tiếc).

Trang chủ blog có một liên kết đến màn hình quản trị chính và màn hình quản trị chính có LIÊN KẾT XÓA cho mỗi bản ghi (không có xác nhận).

Một ngày tôi tìm thấy mọi bản ghi trong cơ sở dữ liệu bị xóa (hàng trăm mục cá nhân). Tôi nghĩ rằng một số độc giả đã đột nhập vào trang web và xóa dữ liệu mọi bản ghi.

Tôi đến để tìm hiểu từ nhật ký: Google Bot đã thu thập dữ liệu trang web, theo liên kết quản trị viên và tiến hành theo tất cả các LIÊN KẾT XÓA, do đó xóa mọi bản ghi trong cơ sở dữ liệu. Tôi cảm thấy mình xứng đáng với giải thưởng Dumbass of the Year khi vô tình bị Google Bot xâm phạm.

Rất may tôi đã sao lưu.


13
Đoán nó cho thấy mức độ phổ biến của một lỗi.
si618

96
Đó là lý do tại sao bạn phải luôn POST để thay đổi hành động.
đệ quy

7
@recursive: đúng, nhưng nếu thư mục không được bảo vệ bằng mật khẩu, nó sẽ không ngăn con người xóa mọi thứ.
DisgruntledGoat

2
Tôi đã gặp vấn đề này với các plugin trình duyệt tìm nạp trước các liên kết. Tôi đã từng làm việc cho một trang blog và chúng tôi đã rất bối rối trong nhiều ngày khi một người dùng báo cáo rằng tất cả các bình luận trên blog của cô ấy sẽ biến mất một cách bí ẩn.
Matthew

7
Không, bạn không xứng đáng với giải thưởng đó. Bạn sẽ xứng đáng với điều đó nếu điều này xảy ra và bạn không có bản sao lưu.
Ryan Lundy

187

Lỗ hổng tồi tệ nhất tôi từng thấy là một lỗi trong ứng dụng web, nơi cung cấp tên người dùng và mật khẩu trống sẽ đăng nhập bạn với tư cách quản trị viên :)


144
Một lỗi hoặc một tính năng cho các nhà phát triển lười biếng? :)
si618

9
Tôi đã thấy mã như vậy. Điều đó thường là do người dùng tra cứu sử dụng một THÍCH, như trong "CHỌN * TỪ [Người dùng] Trong đó Tên người dùng THÍCH '%" + tên người dùng + "%'". Và vì quản trị viên thường là người dùng đầu tiên trong cơ sở dữ liệu, nên nó trả về người dùng đó.
Pierre-Alain Vigete

11
Tại sao bạn lại làm một THÍCH với tên người dùng? ... để tôi có thể là quản trị viên bằng cách nhập adm khi tôi cố gắng nhập Adam
Matthew Whited

20
Hầu hết các công ty cung cấp cho bạn ba lần đăng nhập theo ID người dùng cụ thể trước khi họ khóa tài khoản. Vì vậy, nó trivially dễ dàng để khóa một ai đó elses chiếm với ba mật khẩu xấu.
David R Tribble

3
Tôi đã thấy điều này trong rất nhiều ứng dụng web công ty xác thực với thư mục LDAP. Trong LDAP, mật khẩu trống dẫn đến đăng nhập ẩn danh thành công . Người dùng ẩn danh không thể làm gì nhiều, nhưng các ứng dụng web sử dụng cơ chế này không đi xa đến mức phải kiểm tra - họ chỉ giả sử "thành công = mật khẩu chính xác"!
SimonJ

174

Một khi nhận thấy điều này trên URL của một trang web.

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

Thay đổi tham số cuối cùng thành admin = 1 đã cho tôi quyền quản trị. Nếu bạn sẽ tin tưởng một cách mù quáng vào đầu vào của người dùng thì ít nhất đừng điện báo rằng bạn đang làm điều đó!


19
Đây là một tính năng tiện dụng;) Bạn chưa thấy WarGames? Một cái gì đó như "mọi nhà phát triển giỏi đều thêm một cửa hậu vào hệ thống của họ" hehe.
alex

38
Vì vậy, có lẽ họ nên sử dụng & admin = JOSHUA
JohnFx

165

Tôi đã thấy cái này trong WTF hàng ngày .

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

Không có gì có thể đánh bại IMHO này.


21
Tôi nghĩ rằng điều này có thể không ngu ngốc như bạn nghĩ. Mật khẩu tầm thường này có thể hoạt động giống như nút "vâng, tôi đến từ chính quyền liên bang" với sự khác biệt là một người cố lạm dụng nó, nếu bị bắt, cũng có thể bị truy tố vì "cung cấp thông tin sai lệch" (hoặc cách họ gọi nó? )
ilya n.

29
ilya: Đó là Javascript, vì vậy nó hiển thị cho người dùng. Sau khi thấy điều đó, bạn có thể chỉ cần truy cập quan.fedemonyuppliers.com/agents.html, bỏ qua mọi loại kiểm soát.
Alsciende

68
Đừng lo lắng, miễn là trang web có bản quyền, DMCA cung cấp bảo vệ 100%. Bạn không được phép "phá vỡ" Javascript.
Steve Hanov

13
@Steve Hanov: Bạn có một định nghĩa thú vị về "lách" Nếu tôi nhập url đó vào trình duyệt của mình ... hoặc thậm chí sao chép / dán nó ... Tôi không bỏ qua bất cứ điều gì, tôi chỉ sử dụng trình duyệt của mình để đi đến một địa chỉ tôi đặt trong thanh địa chỉ của tôi. Đó là một trong những mục đích dự định của trình duyệt web.
Powerlord

46
xin chúc mừng, bạn vô tội, quá tệ, phải trả 300k để thuyết phục bồi thẩm đoàn
Dustin Getz

141

Tại một trường đại học không kém, sẽ vẫn không tên, họ có tất cả các truy vấn hành động của họ được chuyển qua URL thay vì mẫu được đăng.

Điều này đã làm việc một điều trị cho đến khi Google Bot xuất hiện và chạy qua tất cả các URL của họ và xóa sạch cơ sở dữ liệu của họ.


18
SQL tiêm cũ tốt theo thiết kế. Tôi đã làm việc với chức năng báo cáo có "tính năng" được tích hợp.
ICodeForCoffee

18
@ICodeForCoffee: SQL ở đâu? Điều này chỉ gây nhầm lẫn cho mục đích của GET vs POST. Đó là một lỗi khá phổ biến của các nhà phát triển web mới làm quen. Tôi nhớ lại việc đọc một bài báo WTF hàng ngày về vấn đề chính xác này.
rmeador

Không phải là một phiên bản rất sớm nếu Wikipedia có vấn đề này sao? Họ đã có các liên kết sẽ hoàn nguyên các chỉnh sửa hoặc một cái gì đó.
DisgruntledGoat

14
Vấn đề thực sự ở đây là Googlebot có thể xóa sạch cơ sở dữ liệu mà không cần xác thực.
MiffTheFox

34
Hy vọng họ có thể lấy chúng từ bộ nhớ cache của google.
fastcodejava

137

Ngạc nhiên không có ai đưa lên kỹ thuật xã hội, nhưng tôi đã nhận ra một bài báo .

Tóm tắt: người dùng độc hại có thể mua vài chục ổ đĩa flash, tải chúng bằng virus hoặc trojan tự động, sau đó rắc các ổ đĩa flash trong bãi đậu xe của công ty vào đêm khuya. Ngày hôm sau, mọi người xuất hiện để làm việc, vấp ngã trên phần cứng sáng bóng, hình kẹo, không thể cưỡng lại và tự nói với mình "oh wow, ổ đĩa flash miễn phí, tôi tự hỏi những gì trên đó!" - 20 phút sau, toàn bộ mạng của công ty bị hos.


69
Autorun là ác.
Đánh dấu tiền chuộc

22
@mmyer: cấm ổ đĩa flash không phải là cách tiếp cận tốt. Phá vỡ autorun / autoplay.
Jay

10
Đọc một thời gian trước, một cách tiếp cận khác (từ thời gian đĩa mềm). Sống một đĩa mềm bị nhiễm boot có nhãn "Dữ liệu kế toán - bí mật" trong hành lang của văn phòng và chờ 5 phút. Không thể cưỡng lại!
Rodrigo

13
May mắn thay, tôi luôn có thể khởi động từ đĩa CD Linux Live và kiểm tra ổ đĩa flash từ đó.
David Thornley

6
@Jay - Thật không may, có bao nhiêu người sẽ xem các tệp và sau đó nhấp đúp vào chúng "để xem những gì họ làm"? Cấm là điều cần thiết nhiều lần vì mọi người không nghĩ.
JasCav


103

Microsoft Bob
(Tín dụng: Phần mềm từ bỏ thế kỷ 20 của Dan )

Nếu bạn nhập mật khẩu không chính xác lần thứ ba, bạn sẽ được hỏi nếu bạn quên mật khẩu.

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

Nhưng thay vì có bảo mật, như tiếp tục nhắc nhập mật khẩu chính xác cho đến khi nó nhập hoặc khóa bạn sau một số lần thử không chính xác, bạn có thể nhập bất kỳ mật khẩu mới nào và nó sẽ thay thế mật khẩu ban đầu! Bất cứ ai cũng có thể làm điều này với bất kỳ mật khẩu "được bảo vệ" tài khoản Microsoft Bob.

Không có xác thực trước cần thiết. có nghĩa là User1 có thể thay đổi mật khẩu của riêng họ chỉ bằng cách nhập sai mật khẩu ba lần rồi nhập mật khẩu mới lần thứ tư - không bao giờ phải sử dụng "thay đổi mật khẩu".

Điều đó cũng có nghĩa là User1 có thể thay đổi mật khẩu của User2, User3 ... theo cùng một cách. Bất kỳ người dùng nào cũng có thể thay đổi bất kỳ mật khẩu người dùng nào khác chỉ bằng cách nhập sai ba lần rồi nhập mật khẩu mới khi được nhắc - và sau đó họ có thể truy cập vào tài khoản.

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


7
Đây là hành vi tương tự như chính Windows khi máy tính không được quản lý bởi một miền. Ngay cả trên Windows Vista Ultimate, bạn có thể đặt lại mật khẩu bất cứ lúc nào. Tôi đoán rằng việc từ chối dịch vụ được coi là mối đe dọa lớn hơn so với truy cập trái phép; đặc biệt là vì bạn có thể nhận được hầu hết mọi thứ chỉ bằng cách gắn lại ổ đĩa ở bất cứ nơi nào. Tôi tin rằng mục đích của mật khẩu trong trường hợp này là để phát hiện xâm nhập hơn là phòng ngừa.
Jeffrey L Whitledge

1
@Jeffrey: Điều đó là, một khi chiếc mũ đen có quyền truy cập vật lý, đó là "trò chơi kết thúc" khá nhiều. Nếu bạn muốn bảo vệ chống lại điều đó, bạn cần mã hóa nghiêm túc (cũng như các cách để quét keylogger phần cứng và phần mềm, v.v.).
David Thornley

8
Một người khôn ngoan hơn tôi chỉ ra đây chỉ là mô hình mối đe dọa tốt. 'Bob' được sử dụng tại nhà trong thời đại không nối mạng và bạn có khả năng FAR chịu đựng một DOS cố gắng từ em gái của bạn hoặc nôn nao hơn là từ một tên trộm nào đó. Bob cho bạn biết rằng tài khoản của bạn đã được truy cập (vì mật khẩu cũ của bạn không còn hoạt động nữa) nhưng không cố gắng làm thêm.
bgiles

20
Vợ tôi chỉ thấy tôi nhìn vào đây ... Cô ấy: "Ôi trời ơi! Chương trình đó là gì?!" Tôi: "... Microsoft Bob?" Cô: "Tôi yêu Microsoft Bob!" Thở dài ...
Tim Goodman

10
@ChristianWimmer - Nghe có vẻ giống như mang cho mọi người một chiếc ba lô được đánh dấu "Dù" để họ quen với cảm giác của một người trên lưng, nhưng không nói với họ rằng không có dù trong đó.
JohnFx

102

Tôi đã có địa chỉ nhà cũ của Joe X, và cần biết địa chỉ hiện tại mới hơn của anh ta trong cùng thành phố, nhưng không có cách nào để liên lạc với anh ta. Tôi hình dung anh ta đang nhận được đống danh mục đặt hàng qua thư hàng ngày thông thường, vì vậy tôi tự ý gọi số 800 cho Kẹo của See (trái ngược với Victoria's Secret, hoặc Thuộc địa Thụy Sĩ, hoặc bất kỳ người gửi thư lớn nào khác):

Tôi: "Xin chào, tôi là Joe X. Tôi nghĩ rằng bạn đã đưa tôi vào danh sách gửi thư của bạn hai lần, ở cả địa chỉ cũ và địa chỉ mới của tôi. Máy tính của bạn hiển thị cho tôi tại [địa chỉ cũ] hoặc tại [địa chỉ giả] ? "

Nhà điều hành: "Không, chúng tôi chỉ cho bạn tại [địa chỉ mới]."


36
Ah, phải yêu kỹ thuật xã hội. Khía cạnh con người của an ninh thường là yếu nhất.
EMP


95

Cho 1 = 1 vào hộp văn bản liệt kê tất cả người dùng trong hệ thống.


325
Lời chào từ Bàn Bobby.
Gumbo

4
Làm thế nào bình luận của @ Gumbo có thể được nâng cao gấp 4 lần câu trả lời?
Lie Ryan

12
Đơn giản, gấp 4 lần số người bình chọn câu hỏi đã bình chọn bình luận của anh ấy: /
RobertPitt

4
Liệu một trong số 221 cử tri của Bình luận Bobby sẽ nói với phần còn lại của chúng ta rằng Bobby Bàn là cái quái gì?
kirk.burleson

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

76

Là một nhà tư vấn bảo mật ứng dụng để kiếm sống, có rất nhiều vấn đề phổ biến cho phép bạn có được quản trị viên trên một trang web thông qua một cái gì đó. Nhưng phần thực sự thú vị là khi bạn có thể mua tất trị giá một triệu đô la.

Đó là một người bạn của tôi làm việc trong buổi biểu diễn này, nhưng điều quan trọng là giá của các mặt hàng trong một cuốn sách trực tuyến rất phổ biến hiện nay (và mọi thứ khác) đã được lưu trữ trong chính HTML dưới dạng một trường ẩn. Quay trở lại những ngày đầu lỗi này rất nhiều cửa hàng trực tuyến, họ mới bắt đầu tìm hiểu web. Nhận thức bảo mật rất ít, ý tôi thực sự là ai sẽ tải xuống HTML, chỉnh sửa trường ẩn và gửi lại đơn đặt hàng?

Đương nhiên, chúng tôi thay đổi giá thành 0 và đặt mua 1 triệu đôi vớ. Bạn cũng có thể thay đổi giá thành âm nhưng thực hiện điều này đã khiến một phần bộ đệm phần mềm thanh toán phụ trợ của họ bị tràn kết thúc giao dịch.

Nếu tôi có thể chọn cái khác thì đó sẽ là vấn đề chuẩn hóa đường dẫn trong các ứng dụng web. Thật tuyệt vời khi có thể làm foo.com?file=../../../../etc/passwd


9
Tuyệt vời, bạn sẽ không bao giờ có một chiếc tất bên trái bị mất nữa!
si618

75
Bạn đã bao giờ có được tất?
Alex Barrett

32
Đơn đặt hàng đã đi qua và hệ thống thực hiện cảnh báo kho. Chúng tôi nhận ra rằng nó có thể hoạt động và nói với quan điểm của chúng tôi rằng họ nên dừng đơn hàng. Rõ ràng một lát sau, một quản lý kho đã gọi để hỏi về đơn hàng để chắc chắn đó là sự thật. Anh ấy đã khôn ngoan nghĩ rằng đó là một lỗi phần mềm.
Collin

27
@StuperUser, trên đôi chân của bạn, tất nhiên.
strager

12
Không có vấn đề gì với việc lưu trữ, chỉ cần hack trang web Ikea để đặt hàng 100.000 bộ ngăn kéo để đặt chúng vào,
Neil Aitken

64

Cam kết mật khẩu gốc cơ sở dữ liệu để kiểm soát nguồn một cách tình cờ. Nó khá tệ, bởi vì nó là kiểm soát nguồn trên Sourceforge.

Không cần phải nói mật khẩu đã thay đổi rất nhanh.


144
OK, mật khẩu đã thay đổi rất nhanh ... nhưng bởi ai ?
Eamon Nerbonne

1
Đã xuống con đường này. Nhiều hệ thống (như django chẳng hạn) thực tế khuyến khích điều này, vì họ yêu cầu bạn đặt mật khẩu DB của bạn vào tệp cài đặt, một cách tự nhiên, rất dễ kiểm tra.
mlissner

56

Không thay đổi mật khẩu quản trị viên khi nhân viên IT chủ chốt rời khỏi công ty.


1
hoặc rời khỏi nhà máy mặc định như admin / admin (cũng như đặc biệt là trong phần cứng) ...
Gnark

47
Tôi đã có một điều tồi tệ hơn - Tôi rời một trường đại học sau khi được xâu chuỗi, với thư mục cho tôi biết họ đang tạo một công việc cấp cao hơn cho tôi sau khi tôi tốt nghiệp, nhưng sau đó tôi phát hiện ra anh ta nói với quản lý của tôi rằng họ không làm khuyến khích tôi. Không cần phải nói, tôi đã không vui về điều đó. Tôi đặc biệt nói với người quản lý của mình để thay đổi mọi mật khẩu mà tôi có quyền truy cập. Một tuần sau khi tôi rời đi, tôi nhận được một e-mail từ người quản lý của mình với mật khẩu gốc, 'chỉ trong trường hợp tôi cần nó'. Tôi đã liên lạc với sysadmin để chắc chắn rằng nó đã được thay đổi một lần nữa, vì tôi không muốn bị ngã nếu có sự cố xảy ra.
Joe

10
@Sophomore: Tôi nhớ lại trong tiểu sử của Feynman, ông nhận xét rằng nhiều chiếc két khổng lồ, cực kỳ an toàn chứa các bí mật của dự án Manhattan đã bị bỏ lại trong các kết hợp mặc định.
Brian

12
Tôi chỉ có thể tưởng tượng một điệp viên Liên Xô đến nơi an toàn và thử mọi cách anh ta có thể nghĩ ra để phá két, "Chết tiệt! Tôi không thể bẻ khóa được. Sẽ không buồn cười nếu tôi có thể ... wow, ghi một vì mẹ Nga! "
Eric

3
Không thể mỉm cười khi đọc điều này, tôi đã làm việc như một kỹ thuật viên CNTT vào một mùa hè tại một công ty rất nổi tiếng của Thụy Điển và khi tôi trở lại vài năm sau đó để làm kỹ sư, tôi đã gặp một số vấn đề khi cài đặt một số phần mềm. Hết màu xanh, tôi nhớ lại mật khẩu quản trị viên cũ và voila! nó hoạt động =)
Viktor Sehr

50

Mặc dù đây không phải là lỗ hổng bảo mật tồi tệ nhất tôi từng thấy. Nhưng đây ít nhất là điều tồi tệ nhất mà tôi tự khám phá:

Một cửa hàng trực tuyến khá thành công dành cho audiobook đã sử dụng cookie để lưu trữ thông tin nhận dạng của người dùng hiện tại sau khi xác thực thành công. Nhưng bạn có thể dễ dàng thay đổi ID người dùng trong cookie và truy cập các tài khoản khác và mua chúng.


Wow ... Tôi đã có những điều chính xác xảy ra với tôi trên một mã ASP mà tôi được thừa hưởng.
Radu094

Tôi duy trì một ứng dụng có vấn đề chính xác này. Chắc chắn là nó nằm trong danh sách sửa chữa. Rất may, nó không phải là một trang web thương mại điện tử.
quentin-starin

12
Điều này xảy ra thường xuyên hơn hầu hết mọi người nhận ra.
NotMe

47

Ngay khi bắt đầu kỷ nguyên .com, tôi đã làm việc cho một nhà bán lẻ lớn ở nước ngoài. Chúng tôi đã theo dõi rất quan tâm khi các đối thủ của chúng tôi đã khai trương một cửa hàng trực tuyến trước chúng tôi. Tất nhiên, chúng tôi đã đi thử ... và nhanh chóng nhận ra rằng giỏ hàng của chúng tôi đang bị xáo trộn. Sau khi chơi với chuỗi truy vấn một chút, chúng tôi nhận ra rằng chúng tôi có thể chiếm quyền điều khiển các phiên của nhau. Với thời gian tốt, bạn có thể thay đổi địa chỉ giao hàng nhưng chỉ để lại phương thức thanh toán ... tất cả chỉ sau khi đã lấp đầy giỏ hàng với các mặt hàng yêu thích của bạn.


Tất nhiên, điều này có nghĩa là bạn đã làm điều gì đó độc hại để khiến họ gửi hàng hóa cho bạn một cách gian lận nếu bạn thực sự làm điều này và nói với "họ" địa chỉ của bạn.
David Thornley

6
Vâng, đó là những gì làm cho nó một lỗ hổng bảo mật lớn. Chúng tôi đã không thực sự nhấn nút mua, nhưng chúng tôi có thể có. Và, dựa trên các báo cáo tin tức, một số người đã làm.
Eric J.

45

Khi tôi mới gia nhập công ty mà tôi hiện đang làm việc, sếp của tôi đã xem qua trang web thương mại điện tử hiện tại của một khách hàng mới tiềm năng. Điều này là trong những ngày đầu tiên của cả IIS và thương mại điện tử, và bảo mật, theo chúng tôi, sẽ ít hơn nghiêm ngặt.

Để cắt ngắn một câu chuyện dài, anh ta đã thay đổi một URL (vì tò mò) và nhận ra rằng việc duyệt thư mục không bị tắt, vì vậy bạn chỉ cần cắt tên trang ở cuối URL và xem tất cả các tệp trên máy chủ web.

Chúng tôi đã kết thúc việc duyệt một thư mục chứa cơ sở dữ liệu Access mà chúng tôi đã tải xuống. Đó là toàn bộ cơ sở dữ liệu khách hàng / đơn hàng thương mại điện tử, được hoàn thiện với hàng ngàn số thẻ tín dụng không được mã hóa.


1
Điều này đã gần mười hai năm trước, khi các trang web điều khiển dữ liệu là một tính mới lạ tiên tiến; nhiều trang web chạy ngược lại với Access hoặc tương tự, vì không ai muốn đầu tư vào giấy phép SQL Server cho một thứ được coi là 'dành riêng' cho hoạt động kinh doanh cốt lõi của họ. Mọi thứ đã thay đổi như thế nào!
Mark Bell


44

Khi tôi 13 tuổi, trường tôi mở một mạng xã hội cho học sinh. Thật không may cho họ, tôi đã tìm thấy một lỗi bảo mật nơi bạn có thể thay đổi URI thành một ID người dùng khác như "? UserID = 123" và đăng nhập cho người dùng đó. Rõ ràng tôi đã nói với bạn bè của tôi, và cuối cùng, mạng xã hội của trường học tràn ngập khiêu dâm.

Sẽ không đề nghị nó mặc dù.


3
Tại sao bạn không đề nghị điều này? Chuyện gì đã xảy ra?
Simon_Weaver

55
@Simon_Weaver: Tôi đoán những đứa trẻ 13 tuổi thường không có sở thích khiêu dâm.
kẻ lười biếng

@slacker +1 để đặt bạn ở 1000 đại diện! ngoại trừ tôi không nghĩ bình luận xếp hạng mang lại cho bạn đại diện :-(
Simon_Weaver

2
"hương vị tốt cho khiêu dâm" - có một oxymoron.
Zann Anderson

43

Tôi nghĩ rằng trường tên người dùng / mật khẩu trống để truy cập siêu người dùng là điều tồi tệ nhất. Nhưng một trong những tôi đã thấy bản thân mình là

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

Quá tệ một nhà điều hành làm cho một sự khác biệt lớn như vậy.


10
wow, tôi tự nhiên có một sự bắt buộc phải sửa nó
wag2639

Việc mật khẩu thật được sử dụng thay cho hàm băm thực sự cũng khá tệ ...
Peter Kriens

Đầu tiên tôi là "có chuyện gì vậy?", Và sau đó tôi là "AAAAaaaaaaaAAAA! OMG"
Bojan Kogoj

42

Của tôi sẽ là cho một ngân hàng mà tôi là một khách hàng. Tôi không thể đăng nhập, vì vậy tôi đã gọi cho dịch vụ khách hàng. Họ hỏi tôi tên người dùng và không có gì khác - không hỏi bất kỳ câu hỏi bảo mật nào hoặc cố gắng xác minh danh tính của tôi. Sau đó, thay vì gửi lại mật khẩu cho địa chỉ email họ có trong hồ sơ, họ hỏi tôi địa chỉ email nào để gửi. Tôi đã cung cấp cho họ một địa chỉ khác với những gì tôi có trong hồ sơ và có thể đặt lại mật khẩu của mình.

Vì vậy, về cơ bản, tất cả tin tặc cần là tên người dùng của tôi và sau đó anh ta có thể truy cập vào tài khoản của tôi. Điều này là cho một ngân hàng lớn mà ít nhất 90% người dân ở Hoa Kỳ đã nghe nói đến. Điều này đã xảy ra khoảng hai năm trước. Tôi không biết đó là một đại diện dịch vụ khách hàng được đào tạo kém hay đó là quy trình chuẩn.


22
và ngân hàng là gì?
TigerTiger

5
@Si: nó viết 'Tôi là khách hàng của ...'. Tôi nghĩ rằng câu trả lời cho câu hỏi. :)
ShdNx

8
Đây là Washington Mutual, đã bị FDIC tịch thu và bán cho Chase vào đầu năm nay. Họ cũng có những thông báo lỗi lạ. Khi tôi cố gắng đặt mật khẩu của mình từ temp, tôi liên tục gặp lỗi "Mật khẩu không khớp", mặc dù chúng giống nhau và tôi thậm chí còn sao chép / dán. Tôi nhận ra rằng nếu tôi đặt "các ký tự không hợp lệ" như một dấu gạch chéo về phía trước, thay vì nói các ký tự không hợp lệ, nó sẽ cho tôi thông điệp khác.
Sean

11
@Elizabeth: Uhm ... bạn nhận ra rằng để ngăn chặn lừa đảo phải không? Nếu ai đó cố gắng sao chép hoặc bắt chước trang web của ngân hàng, nó có thể trông giống hệt nhau, nhưng có lẽ họ không có quyền truy cập vào cơ sở dữ liệu, vì vậy họ không thể đưa ra hình ảnh bảo mật phù hợp. Đó là lý do tại sao đó. Không phải tất cả người dùng đều đủ thông minh để kiểm tra chứng chỉ (có thể bị lừa đảo tương tự)
mpen

13
Bảo vệ tài khoản tài chính của bạn là quá mức cần thiết? ...
Joe Phillips

36

Tôi sẽ chia sẻ một cái tôi đã tạo. Loại.

Nhiều năm và nhiều năm trước, công ty tôi đang làm việc muốn lập chỉ mục trên trang web ASP của họ. Vì vậy, tôi đã đi và thiết lập Máy chủ Index, loại trừ một vài thư mục quản trị và tất cả đều tốt.

Tuy nhiên tôi không biết ai đó đã cho một nhân viên bán hàng truy cập ftp vào máy chủ web để anh ta có thể làm việc tại nhà, đây là ngày quay số và đó là cách dễ nhất để anh ta trao đổi các tệp .... và anh ta bắt đầu tải lên mọi thứ, bao gồm các tài liệu chi tiết đánh dấu trên các dịch vụ của chúng tôi .... máy chủ chỉ mục nào được lập chỉ mục và bắt đầu phục vụ khi mọi người tìm kiếm "Chi phí".

Nhớ trẻ em, danh sách trắng không danh sách đen.


76
Tôi nghĩ rằng "danh sách trắng không phải danh sách đen", trong khi thường là lời khuyên tốt, không phải là bài học chính xác để tìm hiểu ở đây. Bài học chính xác là "không đưa dữ liệu riêng tư lên máy chủ công cộng". Ngoài ra, "không cho phép nhân viên bán hàng truy cập vào máy chủ".
rmeador

7
Ồ, sự hài hòa giữa câu trả lời và hình đại diện.
Tekağdaş Tekin

35

Một trong những cách đơn giản nhất nhưng thực sự đáng giá là:

Các hệ thống thanh toán sử dụng các công cụ như PayPal có thể bị lỗi do phản hồi từ PayPal sau khi thanh toán thành công không được kiểm tra như mong muốn.

Ví dụ:

Tôi có thể truy cập một số trang web mua CD và thêm một số nội dung vào giỏ hàng, sau đó trong giai đoạn thanh toán thường có một biểu mẫu trên trang được điền các trường cho paypal và nút gửi đến "Thanh toán" ..

Sử dụng Trình soạn thảo DOM, tôi có thể chuyển sang dạng "trực tiếp" và thay đổi giá trị từ £899.00thành£0.01 và sau đó nhấp vào gửi ...

Khi tôi đứng về phía PayPal, tôi có thể thấy rằng số tiền là 1 xu, vì vậy tôi trả số tiền đó và PayPal chuyển hướng một số tham số đến trang web mua ban đầu, người chỉ xác nhận các tham số như payment_status=1 , v.v., v.v. xác thực số tiền đã trả.

Điều này có thể tốn kém nếu họ không đăng nhập đủ hoặc sản phẩm được tự động gửi đi.

Loại trang web tồi tệ nhất là các trang web cung cấp ứng dụng, phần mềm, âm nhạc, v.v.


12
Đồng ý +1. Trong tình huống trang thanh toán được lưu trữ, trang web khởi tạo không được cho phép người dùng lái các giá trị được đăng; thay vào đó, trang sẽ đăng lại chính nó khi người dùng nhấp và sau đó máy chủ lập và gửi một bài đăng tới "cổng" thanh toán trực tiếp với các giá trị phù hợp. Tất cả phụ thuộc vào những gì cổng mong đợi và cách tương tác có thể được thực hiện với nó, nhưng tôi không thể thấy bất kỳ cổng nào có giá trị muối không có kịch bản an toàn hơn so với những gì bạn mô tả. Có lẽ tôi đã sai.
John K

bạn có thể bắt chước yêu cầu của bài đăng thông qua phía máy chủ để gửi dữ liệu theo cách bạn có thể đảm bảo rằng dữ liệu được gửi đến cổng chính xác, và sau đó chuyển hướng chúng bằng tiêu đề vị trí.
RobertPitt

PayPal có một tùy chọn mã hóa cho phép trang web ngăn chặn điều này. Trang web đăng lại dữ liệu trước cho chính nó, mã hóa phía máy chủ dữ liệu thứ tự với một khóa chỉ được biết đến với họ và PayPal, sau đó gửi dữ liệu đó tới PayPal, người giải mã nó. Dữ liệu đơn hàng không được mã hóa không bao giờ được gửi trong các trường mẫu theo cách đó. Tuy nhiên, đây chỉ là một tùy chọn, vì vậy không phải mọi trang web sử dụng PayPal đều thực hiện theo cách đó. Họ nên mặc dù!
mikel

35

Còn về trình quản lý tài liệu trực tuyến, cho phép đặt mọi quyền bảo mật mà bạn có thể nhớ ...

Đó là cho đến khi bạn vào trang tải xuống ... download.aspx? DocumentId = 12345

Có, documentId là ID cơ sở dữ liệu (tự động tăng) và bạn có thể lặp từng số một và bất kỳ ai cũng có thể nhận được tất cả các tài liệu của công ty.

Khi được cảnh báo về vấn đề này, phản hồi của người quản lý dự án là: Ok, cảm ơn. Nhưng không ai nhận thấy điều này trước đây, vì vậy hãy giữ nó như hiện tại.


56
Tôi thực sự ghét thái độ đó, đã nhận được nó một vài lần. Làm cho tôi muốn để người khác làm điều đó chỉ để dạy cho họ một bài học.
syaz

Cuối cùng tôi đã đi trước để lấp đầy một lỗ hổng như thế này trong công việc cuối cùng của tôi ... sau nhiều tháng phàn nàn về nó.
mí mắt

Không có gì lạ khi tìm thấy các trang web cho phép bạn làm điều này. Bạn sẽ thấy một thư mục các bài viết gần đây hoặc được lưu trữ, nhưng không thể quay lại xa hơn trong danh sách hơn một hoặc hai trang mà không phải đăng nhập. Chỉ cần mở bài viết đầu tiên và thay đổi tham số đúng trong url thành bất kỳ bài đăng nào số bạn muốn xem bất kỳ bài viết.
tàu khu trục bob

2
Đây là một ví dụ tuyệt vời về điều này. Trong bài viết này của NY Times: nytimes.com/2009/01/14/dining/14power.html?_r=1&ref=dining hình ảnh được hiển thị là một thay thế cho phiên bản gốc vui nhộn hơn nhiều, vẫn có sẵn ở đây: Graphics8.nytimes.com /images/2009/01/14/dining/14power2_650.jpg
Jamie Treworgy

34

Một giao bánh pizza Na Uy có một lỗ hổng bảo mật, nơi bạn có thể đặt hàng số lượng pizza âm tính tại cổng internet mới và sáng bóng của họ và nhận chúng miễn phí.


42
Các lỗ hổng bảo mật khác là nhân viên, phải không? "Thưa ngài, máy tính nói rằng bạn nhận được 15 chiếc pizza miễn phí, vì vậy ... bạn đến đây! ... tôi có nhận được tiền boa không?"
Nathan Long

6
... nơi pizza của bạn cũng phát hành DVD? Oo
mpen

5
Là một cựu lái xe pizza ... không, chúng tôi đã không cung cấp cho một con chuột về loại công cụ đó. Và các nhà quản lý của chúng tôi cũng không.
mí mắt

48
Người giao hàng sẽ không đến để thu thập các loại pizza bạn đang bán chúng chứ?
Jon B

7
Wow .. và anh chàng giao hàng phải cho bạn tiền boa? =))
Andrei Rînea
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.