Найгірша безпека, яку ви бачили? [зачинено]


413

Яка найгірша діра в безпеці, яку ви коли-небудь бачили? Напевно, гарна ідея обмежувати дані, щоб захистити винних.

Для чого це варто, ось питання про те, що робити, якщо ви знайдете дірку в безпеці, та ще один із корисними відповідями, якщо компанія (здається) не відповідає.


47
Повинен бути спільний wiki imo ...
ChristopheD,

Чудова нитка! Я сподіваюся, що це може бути пов’язано з DailyWTF.com
Дейл

Чому закрили? Це абсолютно розумне питання? !!
johnc

15
60 відповідей та 28 оновлень, здавалося б, переважають 5 голосів, щоб закрити (для того, щоб накопичити цілий день, AFAIK). але я утримаюсь від голосування за повторне відкриття, поки це не буде обговорено.
rmeador

7
Навіть якщо ваше запитання годинами було вікі спільноти, коментар все ще є хорошим коментарем, який нагадує, оскільки він нагадує людям, що питання, подібні до цього, повинні бути вікі спільноти . Це я думаю.
Жорен

Відповіді:


646

З перших днів Інтернет-магазини:

Отримайте знижку на 90%, ввівши .1 у полі кількості кошика. Програмне забезпечення належним чином обчислило загальну вартість як .1 * вартість, а людина, що упаковує замовлення, просто зафіксувала понад непарні "." перед кількістю упакувати :)


75
Це, безумовно, аргумент на користь використання сильно набраної системи.
Powerlord

54
Що таке сайт? Я хочу знижку 90% !!!
amischiefr

58
Можливо, вам слід було б попросити 0, 10 відсотків. ;)
MiffTheFox

81
Джефф Безос згадав, що в перші дні Амазонії у вас може бути негативна кількість книг, і Amazon буде позичати ваш рахунок (і, імовірно, чекати, коли ви відправте його їм). Дивіться 0:47 на youtube.com/watch?v=-hxX_Q5CnaA
Jeff Moser

10
Полюбив би побачити обличчя замовника, якому насправді доставили .1 жорсткі диски, за які він заплатив.
relet

575

Найменш пробачувану дірку в безпеці, і, на жаль, дуже поширену та її легко знайти, - це хакерство Google . Справа в точці:

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

Дивно, скільки сторінок в Інтернеті, зокрема, державних сайтів, передають SQL-запит через рядок запиту. Це найгірша форма ін'єкції SQL, і зовсім не потрібно докладати зусиль, щоб знайти вразливі сайти.

З незначними налаштуваннями мені вдалося знайти незахищені установки phpMyAdmin, незахищені установки MySQL, рядки запитів, що містять імена користувачів та паролі тощо.



6
О Боже мій, як немислимо дурний. Це був би я, що йде на розробника до HR з коробкою в руці.
squillman

95
маленькі таблиці Боббі знову вражають
gbjbaanb

86
OMFG ... наступного разу, коли у мене буде поганий день, я заходжу кілька столів
Michael Niemand

11
Що мені дуже подобається у цьому прикладі, це те, що перший результат - із блогу Oracle.
Раві Валлау

400

Соціальна інженерія:

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

З bash.org


2
Раніше траплявся на Runescape.
EvilTeach

7
Цей конкретний обмін навряд чи насправді відбувся (хто б набрав "ер", коли вони намагаються щось приховати?), Але все ж смішно.
Майкл Майерс

1
mmyers: також малоймовірно, що хтось досить дурний, щоб отримати rm -rf'd, але це однозначно буває. Я сам це бачив :)
Матвій Ізелін

25
Немає нічого більш незахищеного, ніж мозок ідіотів
граф

1
@EvilTeach вони насправді реалізували це на RuneScape. Навіть не жартую!
corsiKa

339

Справжня історія з моїх ранніх днів в Microsoft.

Ви не знали страху до того дня, як прокинетесь і побачите заголовок на ZDNet.com того ранку, як " Найгірший отвір безпеки Internet Explorer коли-небудь виявлено в" Blah ", де" Blah "- код, який ви написали самі півроку раніше .

Одразу після роботи я перевірив журнали змін та виявив, що хтось із іншої команди - хтось, якому ми довіряли вносити зміни в продукт - перевірив мій код, змінив купу параметрів реєстру безпеки без поважних причин, перевірив його ще раз і ніколи не отримав огляд коду і не розповів комусь про це. На сьогоднішній день я не маю уявлення, що на землі він думав, що робить; він пішов з компанії незабаром після цього. (З власної волі.)

(ОНОВЛЕННЯ: Кілька відповідей на питання, порушені в коментарях:

По-перше, зауважте, що я вирішу зайняти благодійну позицію, що зміни ключа безпеки були ненавмисними та ґрунтувалися на необережності чи незнайомості, а не на злобі. Я не маю жодних доказів так чи інакше, і вважаю, що розумно віднести помилки до помилки людини.

По-друге, наші системи перевірок зараз набагато, набагато міцніші, ніж вони були дванадцять років тому. Наприклад, зараз неможливо перевірити код без того, як система checkin надіслала список змін зацікавленим сторонам. Зокрема, зміни, здійснені пізно в судновому циклі, мають багато "процесу" навколо них, що забезпечує внесення правильних змін для забезпечення стабільності та безпеки продукту.)

У всякому разі, помилка полягала в тому, що об'єкт, який НЕ БЕЗПЕЧНО використовувати для Internet Explorer, випадково був випущений як позначений як "безпечний для сценаріїв". Об'єкт був здатний записувати двійкові файли - бібліотеки типу OLE Automation, насправді - на довільні місця на диску. Це означало, що зловмисник може створити бібліотеку типів, яка містить певні рядки ворожого коду, зберегти його до шляху, який був відомим виконуваним місцем, надати йому розширення чогось, що спричинило б запуск сценарію, і сподіваємось, що якось користувач випадково запустив би код. Я не знаю жодної успішної атаки "реального світу", яка використовувала цю вразливість, але з цим можна було випрацювати робочий подвиг.

Ми надіслали патч досить проклятим швидко для цього, дозвольте сказати.

Я викликав і згодом виправив ще багато дірок у безпеці в JScript, але жоден з них ніколи не дістався поблизу реклами, яку він зробив.


81
Можливо, це насправді 2 подвиги безпеки; інший - як отримати код на сервер збірки виробництва, не помічаючи / схвалюючи зміни
;-p

8
"перевірив мій код, змінив купу параметрів ключа реєстру безпеки без поважних причин, перевірив його назад і ніколи не отримав огляд коду і не розповів комусь про це" - це не здається мені некомпетентним, це звучить як злісний намір від когось точно знав , що вони роблять.
Джульєтта

80
"Ніколи не приписуйте злобі те, що можна адекватно пояснити дурістю". - Бритва Hanlon
David R Tribble

15
Немає жодної системи керування джерелами, призначеної для використання в Microsoft. Більшість команд сьогодні використовує Source Depot або Team Foundation. Не дивно, що колективи продуктів Visual Studio зазвичай використовують Team Foundation. Їжте власну собачу їжу, знаєте.
Ерік Ліпперт

40
Хто перевіряє ZDNet перед тим, як піти на роботу?
Ніл N

274

Я сподіваюся, що ви можете помітити, що тут не так. (Страшенно неправильно, насправді):

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

Останній отримувач був найщасливішим;)


226
Ви говорите про те, що ви зберігаєте просто текстові паролі або про те, що emailBody ніколи не очищається? Я навіть не впевнений, що гірше.
Крістоф Простой

208
Ви маєте на увазі, що не використовуєте StringBuilder? : D (просто жартує.)
ShdNx

58
@Kristof - Мабуть, він має на увазі той факт, що останній користувач отримує список ВСІХ користувачів та паролів. :)
Дон Бренсон

141
Я абсолютно ненавиджу системи, які повертають мені електронний лист, як частину процесу реєстрації. У цього є два недоліки: 1. Вони зберігають мій пароль простого тексту десь у своїй системі. Якщо немає їх постійної бази даних користувачів, безумовно, їх система обробки реєстрації. 2. Він був надісланий через EMAIL, звичайний текст або HTML, SMTP пробиваючись через поштові реле через Інтернет. Є декілька людей середнього, які могли б перехопити це. Як мінімум, якщо ви відчуваєте необхідність надсилати мені електронні листи із захищеною інформацією, дозвольте мені вказати мій публічний ключ PGP, щоб зашифрувати його!
Jesse C. Slicer

16
Я один раз використовував хеші MD5 для захисту паролів у базі даних. Але після того, як я провів результати, хоч веселка таблиці та зібрав близько 50% паролів ... Я зрозумів, що вдалий час додати сіль.
Метью Віт

206

У старих німих терміналах IBM System 36 була комбінація клавіатури, яка запускала запис макросу. Отже, коли термінал не був увійшов у систему, ви можете почати запис макросу і залишити його в такому положенні. Наступного разу, коли хтось увійде в систему, натискання клавіш буде записано в макрос, і запис завершиться автоматично, коли було записано максимально дозволені клавіші. Просто поверніться пізніше та відтворіть макрос для автологічного входу.

alt текст


204

Найгірша дірка безпеки, яку я коли-небудь бачив, насправді була закодована вашими справді і змусила Google Bot видалити всю мою базу даних.

Ще коли я вивчав класичний ASP, я кодував свою основну програму для блогу. Каталог із усіма сценаріями адміністратора був захищений NTLM на IIS. Одного разу я перейшов на новий сервер і забув знову захистити каталог у IIS (ой).

На домашній сторінці блогу було посилання на головний екран адміністратора, а на головному екрані адміністратора ВИДАЛЕНО ЛІНКА для кожного запису (без підтвердження).

Одного разу я виявив кожен запис у базі даних видалений (сотні особистих записів). Я думав, що якийсь читач увірвався на сайт і зловмисно видалив кожен запис.

Я з'ясував із журналів: Google Bot перескакував сайт, перейшов за посиланням адміністратора та перейшов до УСІЛЬНИХ ПОСИЛАНЬ, тим самим видаляючи кожен запис у базі даних. Я відчув, що заслужив нагороду «Дурман року», коли ненароком зірвався Google Bot.

На щастя, у мене були резервні копії.


13
Здогадайтесь, це показує, наскільки це звичайна помилка.
si618

96
Ось чому завжди слід розміщувати POST для зміни дій.
рекурсивний

7
@recursive: вірно, але якщо каталог не захищений паролем, це не зупиняє людину видаляти все.
НезадоволенеЗакриття

2
У мене виникли проблеми із плагінами браузера, які попередньо вибирають посилання. Я колись працював на веб-сайті для ведення блогів, і ми були спантеличені цілими днями, коли один користувач повідомив, що всі коментарі до її блогу загадково зникнуть.
Матвій

7
Ні, ви не заслужили цієї нагороди. Ви б заслужили це, якби це сталося, і у вас не було резервного копіювання.
Райан Лунді

187

Найгірша діра, яку я коли-небудь бачив, - це помилка у веб-додатку, коли введення порожнього імені користувача та пароля дозволить вам увійти як адміністратор :)


144
Помилка чи функція для ледачих розробників? :)
si618

9
Я бачив такий код. Це зазвичай тому, що для пошуку користувача використовується LIKE, як у "SELECT * FROM [User] Where UserName LIKE '%" + userName + "%" ". А оскільки адміністратор, як правило, є першим користувачем у базі даних, він повертає цього користувача.
П’єр-Ален Віджеант

11
чому б ви зробили ПОДАВАННЯ з іменем користувача? ... щоб я міг бути адміністратором, набравши adm, коли я
вводив

20
Більшість компаній дають вам три спроби увійти під заданим ідентифікатором користувача, перш ніж заблокувати обліковий запис. Так що тривіальним легко заблокувати кого - то повернулися на Батьківщину доводиться три поганих паролів.
David R Tribble

3
Я бачив це в багатьох корпоративних веб-сайтах, що підтверджують автентифікацію на LDAP-каталог. У LDAP порожній пароль призводить до успішного анонімного входу. Анонімний користувач не може зробити багато, але веб-сторінки, що використовують цей механізм, не підходять до перевірки - вони просто припускають "успіх = правильний пароль"!
SimonJ

174

Одного разу помітив це в URL-адресі веб-сайту.

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

Зміна останнього параметра на admin = 1 надала мені права адміністратора. Якщо ви будете сліпо довіряти вводу користувачів, принаймні не телеграфуйте, що ви це робите!


19
Це зручна функція;) Ти не бачив WarGames? Щось на кшталт "кожен хороший розробник додає бекдор" до своєї системи ".
alex

38
Тож, можливо, вони мали використати & admin = JOSHUA
JohnFx

165

Це я бачив у 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>

Ніщо не може перемогти цю ІМХО.


21
Я думаю, що це може бути не таким дурним, як ти думаєш. Цей тривіальний пароль може працювати як кнопка "так, я з федерального управління" з тією різницею, що особа, яка намагається неправомірно використовувати її, якщо її спіймають, також може бути притягнута до кримінальної відповідальності за "надання помилкових даних" (або як вони це називають? )
ілля н.

29
ilya: Це Javascript, тому його видно користувачеві. Побачивши це, ви можете просто перейти до Offic.federalsuppliers.com/agents.html , минаючи будь-який тип контролю.
Alsciende

68
Не хвилюйтесь, якщо веб-сайт захищений авторським правом, DMCA забезпечує 100% захист. Вам не дозволяється "обходити" Javascript.
Стів Ханов

13
@Steve Hanov: У вас є цікаве визначення "обійти". Якщо я введіть цей URL у свій браузер ... або навіть скопіюйте його / вставити ... Я нічого не обминаю, я просто використовую свій браузер, щоб перейти до адресу, яку я помістив у свій адресний рядок. Що є однією з цільових цілей веб-браузера.
Powerlord

46
вітаю, ти невинний, занадто погано коштує 300 тис., щоб переконати присяжне
Дастін Гец

141

В університеті, який не залишиться безіменним, всі їхні запити щодо дій передавались через URL-адресу замість форми.

Справа працювала, поки Google Bot не прийшов і пробіг усі їхні URL-адреси та не витер їхню базу даних.


18
Старе хороше введення SQL від дизайну. Я працював з функцією звітування, в яку була вбудована «функція».
ICodeForCoffee

18
@ICodeForCoffee: де тут введення SQL? Це просто заплутує цілі GET проти POST. Це досить поширена помилка початківців веб-розробників. Пригадую, читав статтю Daily WTF про цю точну проблему.
rmeador

Чи не дуже рання версія, якщо у Вікіпедії є ця проблема? Вони мали посилання, які могли б повернути зміни чи щось.
НезадоволенеЗаключення

14
Справжня проблема тут полягає в тому, що Googlebot може стерти базу даних, навіть не перевіряючи автентичності.
MiffTheFox

34
Сподіваємось, їм вдалося отримати їх з кешу Google.
fastcodejava

137

Здивований, що ніхто не виховував соціальну інженерію, але я отримав вихід із цієї статті .

Короткий зміст: зловмисні користувачі можуть придбати кілька десятків флеш-накопичувачів, завантажити їх вірусом або троянським автозапуском, а потім посипати згадані флешки на парковці компанії пізно вночі. Наступного дня всі з’являються на роботу, натрапляють на блискучу, цукеркоподібну, непереборну техніку та говорять собі "ой уау, безкоштовна флешка, мені цікаво, що на ній!" - Через 20 хвилин всю мережу компанії вводили в шланг.


69
Автоун - зло.
Марк Рансом

22
@mmyers: заборона флеш-накопичувачів не є хорошим підходом. Розбийте автозапуск / автовідтворення.
Джей,

10
Прочитайте деякий час тому ще один підхід (з часів дискети). Увімкніть завантажений дискету з зараженою дискетою з написом "Дані бухгалтерського обліку - конфіденційне" у коридорі офісу та зачекайте 5 хвилин. Непереборне!
Родріго

13
На щастя, я завжди можу завантажуватися з Linux Live CD і перевіряти звідти флешку.
Девід Торнлі

6
@Jay - На жаль, скільки людей переглянуть файли, а потім двічі клацніть на них "щоб побачити, що вони роблять"? Заборона багато разів є необхідністю, тому що люди не думають.
JasCav


103

Microsoft Bob
(Кредит: Занедбане програмне забезпечення 20 століття Дана )

Якщо ви ввели свій пароль неправильно втретє, вас запитають, чи ви забули свій пароль.

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

Але замість того, щоб мати безпеку, як-от продовжувати запит на правильний пароль, поки він не буде введений або заблокований після ряду неправильних спроб, ви можете ввести будь-який новий пароль, і він замінить початковий! Будь-хто може зробити це за допомогою будь-якого захищеного паролем облікового запису Microsoft Bob.

Попередня автентифікація не потрібна. значить, User1 може змінити свій власний пароль, просто ввівши пароль три рази, потім ввівши новий пароль четвертий раз - ніколи не використовуючи "змінити пароль".

Це також означає, що User1 міг змінити паролі User2, User3 ... точно так само. Будь-який користувач може змінити пароль будь-якого іншого користувача, просто помиливши його тричі, ввівши новий пароль, коли буде запропоновано - і тоді він може отримати доступ до облікового запису.

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


7
Це та ж поведінка, що і сама Windows, коли комп'ютер не управляється доменом. Навіть у Windows Vista Ultimate ви можете скинути пароль у будь-який час. Я здогадуюсь, що відмова в наданні послуг вважається більшою загрозою, ніж несанкціонований доступ; тим більше, що ви можете отримати більшість речей, просто встановивши привід в іншому місці. Я вважаю, що призначення пароля в цьому випадку полягає в виявленні вторгнень, а не в запобіганні.
Джефрі Л Вітлідж

1
@Jeffrey: Справа в тому, що коли чорний капелюх має фізичний доступ, це майже "гра закінчена". Якщо ви хочете захиститись від цього, вам потрібно серйозне шифрування (а також способи пошуку апаратних та програмних кейлогерів тощо).
Девід Торнлі

8
Хтось мудріший за мене зазначив, що це лише гарне моделювання загроз. "Боб" був для домашнього використання в епоху, що не пов’язана з мережею, і ви мали ЛІШЕ шансів зазнати спроби DOS від вашої маленької сестри чи похмілля, ніж від якогось грабіжника. Боб повідомив вам, що доступ до вашого облікового запису був доступний (оскільки ваш старий пароль більше не працював), але не намагався зробити більше.
bgiles

20
Моя дружина щойно бачила мене, дивлячись на це ... Її: "О, мій боже! Яка це програма ?!" Я: "... Microsoft Боб?" Її: "Я любив Microsoft Боба!" Зітхніть ...
Тім Гудман

10
@ChristianWimmer - Звучить як би дарувати людям рюкзак з позначкою "Парашут", щоб вони звикли до відчуття одного на спині, але, не кажучи їм, парашута там немає.
JohnFx

102

Я мав колишню домашню адресу Джо X, і мені потрібно було знати його нову поточну адресу в тому ж місті, але не мав можливості зв'язатися з ним. Я подумав, що він отримує звичайну щоденну купу каталогів замовлень поштою, тому я довільно назвав номер 800 для цукерок See (на відміну від Victoria's Secret, або Swiss Colony, або будь-якої іншої великої пошти):

Я: "Привіт, я Джо X. Я думаю, що ти двічі потрапив до мене у своєму списку розсилки, як на моїй старій, так і на моїй новій адресі. Чи показує мені ваш комп'ютер за [старою адресою] або за [фальшивою адресою] ? "

Оператор: "Ні, ми показуємо вам [нову адресу]."


36
Ах, треба любити соціальну інженерію. Людський аспект безпеки зазвичай є найслабшим.
EMP


95

Надавши 1 = 1 у текстовому полі, перераховуються всі користувачі системи.


325
Привітання від столів Бобі.
Gumbo

4
як можна відкликати коментар @ Gumbo в 4 рази більше, ніж відповідь?
Лі Лі Райан

12
Просто, 4 рази кількість людей, які проголосували за запитання, проголосували за його коментар: /
RobertPitt

4
Чи сказав би хтось із 221 коментарів виборців Столів Боббі сказати решті з нас, що таке чортовий Боббі Столи?
kirk.burleson

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

76

Будучи консультантом із захисту додатків для життя, існує багато поширених проблем, які дозволяють вам отримати адміністратора на веб-сайті через щось. Але справді класна частина - це коли можна придбати шкарпетки на мільйон доларів.

Це мій друг працював над цим концертом, але суть його полягала в тому, що ціни на товари в певному дуже популярному онлайн-магазині книг (і все інше) зберігалися в самому HTML як приховане поле. Ще в перші дні ця помилка покусала багато інтернет-магазинів, вони тільки починали розбиратися в Інтернеті. Дуже мало поінформованості про безпеку, я маю на увазі дійсно хто збирається завантажити HTML, відредагувати приховане поле та повторно подати замовлення?

Природно ми змінили ціну на 0 і замовили 1 мільйон пар шкарпеток. Ви також можете змінити ціну на негативну, але завдяки цьому деяка частина буфера програмного забезпечення для виставлення рахунків переповнена транзакцією, що закінчує транзакцію.

Якби я міг обрати інше, це були б проблеми канонізації шляху у веб-додатках. Чудово вміти робити foo.com?file=../../../../etc/passwd


9
Дивовижно, у вас ніколи більше не буде відсутня ліва шкарпетка!
si618

75
Ви коли-небудь діставали шкарпетки?
Алекс Барретт

32
Замовлення пройшло, і система виконання сповістила про склад. Ми зрозуміли, що це, ймовірно, спрацювало і сказали нашій контактній точці, що вони повинні припинити замовлення. Мабуть, трохи пізніше зателефонував менеджер складу, запитуючи про замовлення, щоб переконатися, що воно справжнє. Він з розумом вважав, що це програмна помилка.
Колін

27
@StuperUser, На ноги, звичайно.
страгер

12
Немає проблем із зберіганням, просто зламіть веб-сайт Ikea, щоб замовити 100 000 комплектів ящиків, щоб їх помістити,
Ніл Ейткен

64

Здійснення пароля кореневої бази даних для управління джерелом випадково. Це було досить погано, тому що це було управління джерелом на Sourceforge.

Потрібно сказати, що пароль змінився дуже швидко.


144
Добре, пароль змінився дуже швидко ... але ким ?
Еймон Нербонна

1
Спустився по цій дорозі. Багато систем (наприклад, django, наприклад) практично заохочують це, оскільки вони просять вас ввести свій пароль БД у файл налаштувань, що, природно, дуже легко перевірити.
mlissner

56

Не змінюючи паролі адміністратора, коли ключові ІТ-співробітники залишають компанію.


1
або залишити заводські налаштування, такі як адміністратор / адміністратор (а також, особливо в апараті) ...
Gnark,

47
У мене ще гірше - я покинув університет після того, як був нанизаний, і в каталозі було сказано, що вони створюють роботу більш високого класу для мене після того, як я закінчую освіту, але пізніше я дізнався, що він сказав моєму менеджеру, що вони не повинні сприяти мені. Потрібно сказати, що я не був радий з цього приводу. Я спеціально сказав своєму менеджеру змінити кожен пароль, до якого я мав доступ. Через тиждень після того, як я пішов, я отримую електронну пошту від свого менеджера з кореневим паролем, "про всяк випадок, коли мені це потрібно". Я зв’язався з sysadmin, щоб переконатися, що його знову змінили, оскільки я не хотів сприймати падіння, якщо щось пішло не так.
Джо

10
@Sophomore: Я згадую у біографії Фейнмана, що він коментує, що багато гігантських, надзахищених сейфів, в яких зберігаються секрети проекту Манхеттена, залишилися у комбінаціях за замовчуванням.
Брайан

12
Я просто можу собі уявити, щоб шпигун СРСР дістався до сейфа і спробував усе, що він може придумати, щоб зламати сейф: "Чорт! Я не можу його зламати. Чи не було б смішно, якби я міг просто ... ух, забий один для матінки Росії!"
Ерік

3
Не можу посміхнутися, читаючи це, я літом працював ІТ-техніком у дуже відомій шведській компанії, і коли я повернувся через кілька років працювати інженером, у мене виникли проблеми із встановленням певного програмного забезпечення. Я синьо перегадав старий пароль адміністратора і вуаля! це працювало =)
Віктор Шер

50

Хоча це не найгірша безпека, яку я бачив. Але це принаймні найгірше, що я виявив сам:

Досить вдалий інтернет-магазин аудіокниг використовував файл cookie для зберігання ідентифікаційної інформації поточного користувача після успішної аутентифікації. Але ви можете легко змінити ідентифікатор користувача у файлі cookie та отримати доступ до інших облікових записів та придбати їх.


Нічого ... У мене був такий факт, який трапився зі мною в коді ASP, який я отримав у спадок.
Radu094

Я підтримую додаток, у якого є ця проблема. Це точно в списку виправлень. На щастя, це не сайт електронної комерції.
квентин-зірин

12
Це трапляється частіше, ніж усвідомлює більшість людей.
NotMe

47

На початку епохи .com я працював у великій роздрібній торгівлі за кордоном. Ми з великим інтересом спостерігали за тим, як наші конкуренти запускали інтернет-магазин за кілька місяців до нас. Звичайно, ми поїхали спробувати це… і швидко зрозуміли, що наші кошики змішуються. Трохи погравши з рядком запиту, ми зрозуміли, що можемо захопити сеанси один одного. З хорошими термінами ви можете змінити адресу доставки, але залишити спосіб оплати в спокої ... і все це, наповнивши кошик улюбленими товарами.


Звичайно, це означає, що ви зловмисно зробили щось, щоб змусити їх надсилати вам товари шахрайським шляхом, якщо ви насправді це робите, і сказали "їм" вашу адресу.
Девід Торнлі

6
Так, саме це робить його головним діром у безпеці. Ми фактично не натискали кнопку купити, але ми могли це зробити. І, виходячи з новин, деякі люди це зробили.
Ерік Дж.

45

Коли я вперше приєднався до компанії, в якій зараз працюю, мій бос розглядав існуючий веб-сайт електронної комерції потенційного нового клієнта. Це було в досить ранні часи як для IIS, так і для електронної комерції, і безпека була, скажемо так, менш суворою.

Щоб скоротити довгу історію, він змінив URL-адресу (просто з цікавості) і зрозумів, що перегляд каталогів не вимкнено, так що ви можете просто вирізати назву сторінки в кінці URL-адреси та переглянути всі файли на веб-сервер.

Ми переглянули папку із базою даних Access, яку ми завантажили. Це була вся база даних клієнтів / замовлень електронної комерції, яка рясніє кількома тисячами незашифрованих номерів кредитних карток.


1
Це було майже дванадцять років тому, коли веб-сайти, керовані даними, були найсучаснішою новинкою; багато сайтів стояли проти Access або подібного, тому що ніхто не хотів інвестувати ліцензію на SQL Server за те, що було розцінено як «осторонь» їхнього основного бізнесу. Як змінилися речі!
Марк Белл


44

У 13 років моя школа відкрила соціальну мережу для учнів. На жаль, для них я знайшов помилку в безпеці, де ви могли змінити URI на інший userID, наприклад "? UserID = 123", і ввійти в систему для цього користувача. Очевидно, я сказав своїм друзям, і врешті-решт соціальна мережа шкіл наповнилася порно.

Не рекомендував би, хоча.


3
чому б ти не рекомендував це? що трапилось?
Simon_Weaver

55
@Simon_Weaver: Я думаю, 13-річні діти зазвичай не мають гарного смаку до порно.
ковзаючий

@slacker +1, щоб виставити вам 1000 повторень! окрім того, я не думаю, що коментарі до рейтингу дають вам відповідь :-(
Simon_Weaver

2
"гарний смак до порно" - є оксиморон.
Занн Андерсон

43

Я думаю, що порожнє поле ім’я користувача / пароля для доступу суперпользователя є найгіршим. Але одна, яку я бачив, була такою

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

Шкода, що один оператор робить таке велике значення.


10
уау, я, природно, маю примус виправити це
wag2639

Те, що справжній пароль використовується замість хешу, насправді також досить погано ...
Пітер Криенс

Спочатку я був "що не так?", А потім був "AAAAaaaaaaAAAA! OMG"
Bojan Kogoj

42

Моя була б для банку, в якому я був клієнтом. Я не зміг увійти, тому я зателефонував у службу підтримки. Вони запитали мене у мого імені користувача та нічого іншого - не задавали жодних питань безпеки чи намагалися підтвердити мою особу. Потім замість того, щоб відправити скидання пароля на адресу електронної пошти, яку вони мали у файлі, вони запитали мене, на яку електронну адресу надіслати його. Я дав їм адресу, відмінну від тієї, яку я мав у файлі, і зміг скинути свій пароль.

Отже, по суті, все, що потрібно хакеру, - це моє ім'я користувача, і він може потім отримати доступ до мого облікового запису. Це було для головного банку, про який могли б почути принаймні 90% людей у ​​Сполучених Штатах. Це сталося близько двох років тому. Я не знаю, чи це був погано навчений представник служби обслуговування клієнтів чи це стандартна процедура.


22
і який це банк, будь ласка?
TigerTiger

5
@Si: там написано "Я був замовником ...". Я думаю, що це відповідає на питання. :)
ShdNx

8
Це був Washington Mutual, який був захоплений FDIC і був проданий Chase на початку цього року. Вони також мали дивні повідомлення про помилки. Коли я спробував встановити свій пароль із темп, я постійно отримував помилку "Паролі не відповідають", хоча вони були однакові, і я навіть копіював / вставляв. Я зрозумів, що якби я поставив "недійсних символів" як пряму косу рису, замість того, щоб сказати недійсні символи, це дасть мені таке інше повідомлення.
Шон

11
@Elizabeth: Гм ... ти розумієш, що це запобігає фішингу? Якщо хтось намагається скопіювати або імітувати веб-сайт банку, він може виглядати точно так само, але, мабуть, у них немає доступу до бази даних, тому вони не можуть скласти правильну картину безпеки. Ось чому це є. Не всі користувачі досить розумні, щоб перевірити сертифікат (який може бути подібним блефом)
mpen

13
Захист фінансових рахунків є надмірним? ...
Джо Філіпс

36

Я поділюсь одним, який я створив. Типу.

Роки, роки та роки тому компанія, на якій я працював, шукала індексації на їх веб-сайті ASP. Так що я пішов і створив індекс-сервер, виключив кілька адміністративних каталогів і все було добре.

Однак мені невідомий хтось надав продавцю FTP доступ до веб-сервера, щоб він міг працювати з дому, це були дні комутації, і це було найпростішим способом його обмінювати файли .... і він почав завантажувати речі, включаючи документи, в яких детально розмічається розмітка на наших сервісах .... який індексний сервер індексується і починає обслуговуватись, коли люди шукали "Витрати".

Пам'ятайте дітей, білі списки, а не чорні списки.


76
Я думаю, що "білі списки, а не чорні списки", хоча часто є гарними порадами, не є правильним уроком для вивчення цього. Правильний урок - "не розміщувати приватні дані на загальнодоступному сервері". Крім того, "не дозволяйте продавцям отримувати доступ до сервера".
rmeador

7
О, гармонія між відповіддю та аватаром.
Çağdaş Tekin

35

Один з найпростіших, але дійсно гідних:

Платіжні системи, які використовують двигуни, такі як PayPal, можуть бути помилковими, оскільки відповідь, отримана від PayPal після успішного платежу, не перевіряється як слід.

Наприклад:

Я можу зайти на якийсь веб-сайт із придбання компакт-дисків і додати деякий вміст у кошик, тоді на етапах оформлення замовлення на сторінці зазвичай є форма, заповнена полями для paypal, і кнопка для надсилання на "Оплатити" ..

Використовуючи редактор DOM, я можу перейти до форми "жити" та змінити значення з £899.00на, £0.01а потім натиснути кнопку "Надіслати" ...

Коли я перебуваю на стороні PayPal, я бачу, що сума становить 1 копійку, тому я плачу за це, і PayPal перенаправляє деякі параметри на початковий сайт покупки, який лише перевіряє параметри, наприклад payment_status=1, і т. Д. І т.д., і не підтвердити сплачену суму.

Це може бути дорого, якщо вони не мають достатнього місця для входу в систему або продукти автоматично відправляються.

Найгірший вид сайтів - це сайти, які доставляють програми, програмне забезпечення, музику тощо.


12
+1 Погоджено. У ситуації з розміщеною платіжною сторінкою початковий веб-сайт не повинен дозволяти користувачеві керувати розміщенням значень; натомість на сторінці натисніть користувач, а потім сервер сформулює та надішле повідомлення безпосередньо на "шлюз" платежу безпосередньо з відповідними значеннями. Все залежить від того, що очікує шлюз і як можна здійснювати взаємодію з ним, але я не можу бачити, щоб жоден шлюз, який вартує його солі, не мав більш безпечного сценарію, ніж описаний вами. Можливо, я помиляюся.
Джон К

ви можете імітувати запит на пошту через сторону сервера, щоб таким чином надсилати дані, ви можете переконатися, що дані, що надсилаються на шлюз, саме так, а потім перенаправити їх за допомогою заголовка місцезнаходження.
РобертПітт

У PayPal є можливість шифрування, що дозволяє сайту запобігати цьому. Сайт спочатку повертає дані до себе, зашифровує сторону сервера даних замовлення ключем, відомим лише їм та PayPal, а потім надсилає ці дані до PayPal, який їх розшифровує. Не шифровані дані замовлення ніколи не надсилаються у поля форми таким чином. Це лише варіант, тому не кожен сайт, що використовує PayPal, робить це так. Вони повинні хоч!
mikel

35

Як щодо он-лайн-менеджера документів, який дозволив встановити кожен дозвіл на безпеку, який ви могли запам'ятати ...

Це поки ви не потрапите на сторінку завантаження ... download.aspx? DocumentId = 12345

Так, documentId був ідентифікатором бази даних (автоматичним збільшенням), і ви можете зафіксувати кожен номер і кожен може отримати всі документи компанії.

Повідомляючи про цю проблему, відповідь менеджера проекту була: Добре, дякую. Але раніше цього ніхто не помічав, тож давайте збережемо так, як є.


56
Я дуже ненавиджу таке ставлення, отримуючи це кілька разів. Змушує мене дозволити іншим робити це просто для того, щоб їх навчити.
syaz

Нарешті я отримав можливість заповнити подібну яму на моїй останній роботі ... після місяців скарги на це.
безглаздість

Не так вже й рідко знайти веб-сайти, які дозволяють вам це робити. Ви побачите каталог останніх або заархівованих статей, але не зможете повернутися далі у списку, ніж сторінка чи дві, без входу. Просто відкрийте першу статтю та змініть потрібний параметр у URL-адресі на будь-яку публікацію номер ви хочете переглянути будь-яку статтю.
боб-

2
Ось чудовий приклад цього. У цій статті NY Times: nytimes.com/2009/01/14/dining/14power.html?_r=1&ref=dining показане зображення є заміною набагато більш веселою оригінальною версією, яка все ще доступна тут: graphics8.nytimes.com /images/2009/01/14/dining/14power2_650.jpg
Джеймі Треворі

34

Норвезька доставка піци мала захисну дірку, де ви можете замовити негативні кількості піц на новому і блискучому Інтернет-порталі та отримати їх безкоштовно.


42
Інший отвір у безпеці - це працівники, правда? "Ну, сер, комп'ютер каже, що ви отримуєте 15 піц безкоштовно, так що ... ось вам! ... я отримаю підказку?"
Натан Лонг

6
... ваше місце для піци теж видає DVD-диски? Oo
mpen

5
Як колишній водій піци ... ні, ми не давали щурам дупу про такі речі. І ні наші менеджери.
безглаздість

48
Чи не прийшов би хлопець з доставки, щоб зібрати піци, які ви їх продаєте ?
Джон Б

7
Нічого .. а хлопець з доставки повинен був дати вам пораду? =))
Андрій Ронеа
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.