Вот теперь бравируете Вы. Значит (по Вашей логике), ведёте себя неэтично, т.к. ставите под угрозу раскрытие адреса интернет-магазина — сейчас каждый захочет решить эту загадку.
Да, получение несанкционированного доступа. Да, в какой-то степени бравирование. Да, не дождался второго пришествия и убрал всяческие упоминания магазина из статьи. Так что же неэтичного?
Может быть, слил 2 БД в торренты и раздал? — Нет.
Подобрал пароли и задефейсил сайт? — Нет.
Использовал полуцензурные выражения в адрес авторов и владельцев сайта? — Тоже нет.
Продал информацию кому-то? — Уверяю Вас, тоже нет.
Так уж получилось, что я не участвую в конкурсах, поэтому эксплуатация уязвимости в форме обратной связи стала для меня сложной задачей (получить возможность вывести любую информацию из БД через щёлку в 32 байта, максимально исследовать все возможности). Конечно, на сайте даже не было CSRF-защиты и уязвимость не была «слепой». Тем не менее, судя по текущему рейтингу статьи, кому-то она нравится. Значит, тут только Вы один занимали первое место на ZeroNights и как минимум 40 человек посчитали, что материал был им интересен. У каждого своя весовая категория.
это незаконно, не этично и не ново.
Должно быть, я что-то упустил, но совершенно не могу понять, почему Вы считаете это неэтичным?
Я согласен, что люди будут делать то, что правильно, только когда легче это сделать, чем не сделать. Возможно, стоило посылать по письму раз день, чтобы достучаться до них. Возможно даже, показать, что через эту уязвимость легко организовать DoS атаку, например, выведя из строя их сайт, принудив к перезагрузке сервера. Или даже подменить главную страницу на краткую информацию о том, что сайт небезопасен с приведением аргументированного описания того, почему и как это исправить, а заодно разместить ссылку на портфолио автора этого сайта, чтобы все желающие могли протестировать и другие его сайты на всякий случай.
Но это не было целью. Целью было исследовать уязвимость ради собственного интереса. Результат достижения цели — данная статья. Пусть другой в подобной ситуации будет героем-одиночкой и альтруистом-принудителем в одном лице. Я всего лишь удовлетворил свой интерес в свободное время. Возможность быть скотом по отношению к зашивающимся, судя по проблемам с комплектацией, работникам оставлю другим.
В статью я не включал цитируемую в письмах переписку, кроме того, тема письма не менялась. Так что да, получатель должен был понять, о чём речь. В случае, если бы у него не получилось, всегда можно ответить и переспросить, например, «Что Вы имели в виду?».
По вашему он понимает, что он сделал не так?
Хорошей традицией на мой взгляд являет следующий алгоритм:
1. Сообщить об уязвимости
2. Получить подтверждение и, как минимум, «Спасибо, исправим»
3. Получить сообщение о том, что всё исправлено и предложение проверить, действительно ли это так с моей точки зрения
4. Если не всё ещё исправлено, то вернуться на шаг 1, иначе сообщить о том, что всё исправлено
5. (необязательно) Опубликовать замечательную историю
В данном случае всё оборвалось после шага 2. Проще говоря, они мне не платят за мои действия и не предлагают этого, поэтому показывать в какой строчке кода что на что необходимо поправить, почему и зачем смысла не вижу (может быть, со мной вовсе и не программист общается). Более того, данная ошибка может встречаться ещё в массе мест по всему сайту (в самописных модулях). Мало исправить проблему только в одном месте.
В конце прошлой недели получил очередную посылку от курьера. Теперь жду удобного вечера, чтобы вновь занять широкий подоконник, собрать всё, что осталось, и наконец-то запустить!
У меня сложилось определённое впечатление о том, кто является автором сайта. Тем не менее письма я отправлял представителям интернет-магазина, т.к. им лучше знать кто в данный момент занимается его поддержкой. Вполне возможно, что оригинальный автор сайта вовсе и не допускал эксплуатируемой в статье ошибки. Так как работники самого магазина могли что-то подредактировать или пригласить подправить сына-студента коллеги из другого отдела за 1000 рублей, например. Поэтому найденный емейл автора не был использован для связи и опубликован в статье.
Ну да. И даже если всё настроил, то через какое-то время выходит новая версия операционки и ты точно знаешь, что если поставишь эту новую привлекательную штучку, то заново пройдёшь весь тот нелёгкий путь настройки, только с новыми закоулками.
Согласен с Вами. Хотя сам уже несколько лет под Ubuntu. Некоторые классные штуки на моём ноуте она не поддерживает. Поэтому на случаи: посмотреть кино вечером в постели или похвастать ноутом перед друзьями, я включаю винду просто потому, что в линуксе периодически приходиться делать простые вещи нестандартными способами для достижения того же эффекта, что под виндой. Тем не менее, текущая Ubuntu и те линуксы (на которые я уже точно не пересяду), которые заставляют править конфиги в консоли для настройки оборудования — это 2 огромнейшие разницы. Мне доводилось и настраивать иксы под FreeBSD, и компилировать ядра с 2.6.19 по 2.6.25 с некоторыми промежуточными кандидатами для ArchLinux. Но когда я первый раз поставил Ubuntu, то прекратил всё это делать. Уже никакой настройки оборудования в конфигах. Так что прогресс уже прилично прошёл для того, чтобы можно было успешно войти в мир Линукса. Хотя разница ещё и ощущается.
Почему бы не написать требовательные к производительности вещи на C для использования в своей программе, а Javascript использовать как высокоуровневую связку между разными модулями/подпрограммами?
Может быть, слил 2 БД в торренты и раздал? — Нет.
Подобрал пароли и задефейсил сайт? — Нет.
Использовал полуцензурные выражения в адрес авторов и владельцев сайта? — Тоже нет.
Продал информацию кому-то? — Уверяю Вас, тоже нет.
Вам удалось установить соответствие между интернет-магазином и статьёй?
Должно быть, я что-то упустил, но совершенно не могу понять, почему Вы считаете это неэтичным?
Но это не было целью. Целью было исследовать уязвимость ради собственного интереса. Результат достижения цели — данная статья. Пусть другой в подобной ситуации будет героем-одиночкой и альтруистом-принудителем в одном лице. Я всего лишь удовлетворил свой интерес в свободное время. Возможность быть скотом по отношению к зашивающимся, судя по проблемам с комплектацией, работникам оставлю другим.
В статью я не включал цитируемую в письмах переписку, кроме того, тема письма не менялась. Так что да, получатель должен был понять, о чём речь. В случае, если бы у него не получилось, всегда можно ответить и переспросить, например, «Что Вы имели в виду?».
Хорошей традицией на мой взгляд являет следующий алгоритм:
1. Сообщить об уязвимости
2. Получить подтверждение и, как минимум, «Спасибо, исправим»
3. Получить сообщение о том, что всё исправлено и предложение проверить, действительно ли это так с моей точки зрения
4. Если не всё ещё исправлено, то вернуться на шаг 1, иначе сообщить о том, что всё исправлено
5. (необязательно) Опубликовать замечательную историю
В данном случае всё оборвалось после шага 2. Проще говоря, они мне не платят за мои действия и не предлагают этого, поэтому показывать в какой строчке кода что на что необходимо поправить, почему и зачем смысла не вижу (может быть, со мной вовсе и не программист общается). Более того, данная ошибка может встречаться ещё в массе мест по всему сайту (в самописных модулях). Мало исправить проблему только в одном месте.