- 1
- 2
- 3
https://news.ycombinator.com/item?id=20426997
LiveJournal data breach impacts 33M users with plaintext passwords
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://news.ycombinator.com/item?id=20426997
LiveJournal data breach impacts 33M users with plaintext passwords
Идиотия, кретинизм, олигофрения, и другие способы стать разработчиком в livejournal
???
>>MD5
блядь
ну ладно, допустим это 1999й.
но даже тогда ПЛЕЙЕН ПЛЯТЬ ТЕКСТАОМ
В эпоху до повсеместного внедрения HTTPS «ЖЖ» решил защитить пароли пользователя от перехвата. Для этого у клиента перехватывалось событие сабмита формы, пароль кокококонкатенировался с одноразовым токеном, хэшировался/шифровался и в таком виде уже отправлялся на сервер. Сервер производил те же самые операции и сравнивал результаты.
Поскольку перед конкатенацией пароль не хэшировался, серверу было необходимо хранить нехэшированный пароль, иначе он не сможет повторить эти операции.
Эту схему можно было исправить: перед конкатенацией хэшировать пароль, тогда на сервере придётся хранить несолёные хэши либо передавать клиенту соль.
Значит, на сервере их плейнтекстом хранить не нужно, достаточно сохранить MD5.
Но всё равно пиздец: пусть бы хоть хешировали с известной солью
Лучше, конечно, заменить md5_hex($pass) на хэширование хотя бы с постоянной известной солью, но даже в имеющемся варианте плейнтекст не нужен.
Учитывая то, как быстро считается md5, это ничем не отличается от хранения самого пароля.
Хеши для словарных паролей без соли уже известны, их ломать не надо.
А в случае с неизвестной солю нужен перебор.
Win7 + Strawberry perl 5.34
Ubuntu 20.04 WSL, Perl 5.26
Вводим хеш в гугол
https://md5.gromweb.com/?md5=bed128365216c019988915ed3add75fb
Потому, что учётки 95% пользователей веб-сайтов не имеют ценности, и потому защищены соответствующе.
Проблема в том, что точно такой же пароль у меня от электронной почты, госуслуг, и рабочего компьютера.
А еще лучше OAuth и пусть у гугла голова болит.
А програмные клиенты пусть генерят пару ключей, и сдают тебе публичный. Нехуя чужие секреты хранить
http://srp.stanford.edu/
https://en.wikipedia.org/wiki/Password-authenticated_key_agreement
Какиры ломают говно не чтобы забесплатно отдать его миллионам питухоф