Pull to refresh
50
0
Кондураке Виктор Петрович @w0den

Пользователь

Send message
Я бы убрал |sh; nc /dev/tcp/localhost, иначе «PoC» может сработать даже если на сервере жертвы не установлен nginx (причём сервер жертвы, явно не удалённая машина).
С каких пор наступило это «никогда» для «пляшущих человечков»?
Base64, как и «пляшущие человечки» это алгоритмы кодирования/подмены символов.

Ключ у «человечков» есть (это «таблица соответствия» букв и рисунков)
Это не ключ, а алфавит. У Base64 тоже есть свой алфавит.

а требование целостности откуда взялось?
Вы правы, я ляпнул необдуманное. Благодарю за поправку!
Скорее всего из-за подобных заявлений (оригинал):
В итоге, мы решили сделать 2 вида чатов — секретные и облачные. Секретные чаты поддерживают E2E-шифрование и никогда не включаются в резервные копии. Облачные чаты точно так же зашифрованы, но копируются в облако. Облачные чаты рассчитаны на большинство пользователей — на тех, кто в другом приложении, например, WhatsApp, будет полагаться на менее безопасные резервные копии, хранящиеся у третьих лиц. В отличие от нишевых приложений, трафик между пользователями облачных и секретных чатов неотделим (используется одно и то же шифрование, но у сервера есть ключ шифрования от облачных чатов), поэтому никого нельзя «взять на карандаш», опираясь на то, что человек использует секретные чаты и потому ему есть, что скрывать.
В первое время управлять тазерами, конечно, будут операторы. Но можно представить, что в далёком будущем патрулирование района и обезвреживание преступников станет осуществляться алгоритмически.
Прямо «Страж-птица» v0.0.1-beta.
Мне кажется, всё намного интереснее, поскольку взлом происходит примерно в 1999-2000 (симуляция), когда эксплойт был опубликован только в 2001 (наш мир). Получается, именно Тринити обнаружила эту уязвимость, а машины просто не могли предвидеть уязвимость нулевого дня.

К тому же, не вижу ничего странного в том, что «кто-то забыл» патчить систему или сделать бэкапы.
Позвольте не согласиться с Вами. Хоть я и не химик, но даже я бы огорчился, увидев, что она пытается убить монстра с помощью H2O или NaCl. Я более чем уверен, что для тех, кто «разбирается» в теме, эти «мелкие детали» очень важны, даже если они длятся считанные секунды. Например, для меня было настоящим подарком увидеть сценарий реального взлома в Матрице (сканирование с помощью nmap → обнаружение открытого порта → применение настоящего эксплойта → подключение по ssh). С другой стороны, есть фильмы, в которых «хакеры» взламывают системы с помощью HTML-кода или командой ping 127.0.0.1.

Конечно, я и раньше считал, что «Чужой» хороший фильм, но только благодаря «тому кто в теме» я понял, что фильм намного круче.
Попробуйте погуглить коронную фразу «хотите поговорить об этом», а заодно почитайте об иронии и занудстве.
А я всегда думал, что по-настоящему «опытные программисты-фрилансеры» никогда не заняты ;)

Насчёт ТЗ, я уже сказал своё мнение — профессионал должен сделать всё правильно, даже если заказчик ничего в этом не понимает или указал в ТЗ «ЧТО» делать, но не указал «КАК» это делать. Например, если у Вас есть заказ на вёрстку сайта, Вы ведь не будете использовать иконки в формате BMP по 99МБ каждая, даже если заказчик ничего не указал об этом в ТЗ. Также, я уверен, что Вы не будете тестировать результат только в одном браузере.

При необходимости профессионал должен описывать несколько сценариев и позволить заказчику выбрать то, что ему подходит. Более того, если заказчик указал в ТЗ, что необходимо применить плохое решение, профессионал должен донести это до заказчика.

И это касается не только программистов, но и всех специалистов, включая механиков, врачей, сантехников, строителей и других.
Вы упустили главное — в начале цепочки нужно ещё добавить «Партнер нарушил договор/NDA».
Было бы забавно, если бы он реализовал новый алгоритм, а исследовали, пытаясь высмеять его, обнаруживали бы, что алгоритм очень крут.
Возможно, имеется в виду, что для того чтобы взломать соленый хеш, сначала нужно найти соль.
Почему Вы думаете, что опытные программисты не хотят получить, скажем, €200 за пару часов работы и хороший проект для своего портфолио?

Дело в том, что опытному программисту не нужны несколько дней, чтобы имплементировать процесс регистрации в готовом проекте. Например, первый фрилансер сдал работу через 21 часов, но он хранил пароли как обычный текст. Когда его попросили защитить пароли, ему потребовалось 38 часов, чтобы сделать это (для сравнения, один из фрилансеров перешёл на BCrypt всего за 4 минуты). Разве это не говорит о том, что задача была довольно проста для опытного разработчика?
Проблема в том, что «низкооплачиваемые ноунеймы» охотно откликаются и на проекты с большим бюджетом. Если исследователи заплатили бы больше, это привело бы к увеличению числа исполнителей, но минимум 8 из них всё ещё использовали бы Base64. Думаю, стоимость работы не играет самой важной роли, иначе из 43 фрилансеров все бы использовали Base64, а не только 8 из них.

Поэтому, Вы должны задаваться следующим вопросом: почему большинство фрилансеров за те же условия (деньги и ТЗ) использовали правильные алгоритмы, а некоторые нет.
Лично я всегда думал, что есть вещи, которые не нуждаются в ТЗ. Например, затяжка колёсных болтов, хеширование паролей, использование метода POST для передачи конфиденциальных данных, и так далее.

Например, заменить base64_encode() на password_hash() ничего не стоит (наоборот, даже сократит время разработки). И поверьте, стоимость работы никак не влияет на профессионализм разработчика. Если человек говорит, что «очень сложно расшифровать Base64», можете заплатить ему хоть миллион, от этого он не перестанет «шифровать пароли с помощью Base64» или хранить их как обычный текст. Достаточно взглянуть на крупные корпорации, которые забывают, как правильно хранить пароли и сразу становиться ясно, что проблема скорее всего не в деньгах.
Нет, «пляшущие человечки», как и Base64 никогда не являлись шифрованием. Например, шифрование обязательно требует ключ и обеспечивает целостность данных, когда ни «пляшущие человечки», ни Base64 не умеют это (разве что ASCII armor может защитить целостность Base64 от случайного повреждения).

Я подумал, что цитата, смайлик и описанные мною «преимущества», должны намекать, что я явно не считаю Base64 алгоритмом шифрования. Но оказалось, что в конце недели люди воспринимают вещи «слишком буквально».
На самом деле этот образец был предоставлен не команде iFixit, а другому человеку, который (скорее всего, нарушая правила) передал его iFixit. В свою очередь, они написали, что не были обязаны удалить статью, но сделали это из уважения к человеку, предоставляющему смартфон.
Получается, в ТЗ заказчик должен написать всё подробно, в том числе, что пароль пользователя необходимо:
— Хранить как CHAR, а не как INT.
— Передать методом POST, а не GET.
— Хешировать, а не шифровать.

Скорее всего ещё придётся указать, что если пользователь будет ввести неверный пароль, то не нужно его авторизовать. И конечно, что необходимо обезопасить приложение от SQL-инъекций и CSRF-атак.
Спасибо за «поправку», но Вы, очевидно, упустили очень важную деталь.
Base64 сложно назвать шифрованием как таковым
Почему сложно? Base64 — алгоритм шифрования, который не использует ключ для шифрования и дешифрования информации. Основными преимуществами алгоритма являются скорость, компактность и универсальность :)
Согласно StatCounter, сейчас 33.44% пользователей Windows используют семёрку.

Information

Rating
Does not participate
Location
Кишинев, Молдова, Молдова
Registered
Activity