Идиоты В Моем Инете.

«Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher»* — Альберт Эйнштейн Был вечер, и дел, как обычно, было много, но мне было лень.

По случайной ссылке я попал на один сайт, адрес которого не даю по понятным этическим соображениям.

Флэш-крафт; суть его такова: тыкаем в свободное место, и нам предлагают загрузить нашу картинку именно в это место и присвоить ей никнейм.

Моей фантазии не хватило, чтобы представить, сколько радости может принести человеку простая советская мигалка.

Мне хотелось посмотреть, как реализована, если вообще реализована, защита от автоматического ввода информации; может быть написать тривиального бота и занять пару десятков мест со своими картинками.

Загрузил фотку, написал ник.

Однако то, что я увидел в Fiddler, оказалось гораздо интереснее любого бота.



Идиоты в моем инете.
</p><p>

Итак, что мы видим? Обычный HTTP Post-запрос, в содержимом содержится какой-то бинарный мусор и — можете ли вы поверить своим глазам? - Что это? — SQL-запрос?! Да, граждане, мы с вами многое повидали.

Мы видели переполнение буфера в C. Мы видели SQL-инъекции в плохой PHP-код. Нас это нисколько не удивит. Но Альберт Германович был чертовски прав, и мы, среднестатистические и бездарные люди, не можем угнаться за мыслями отдельных людей: пришло ли вам в голову сформировать на клиенте SQL-запрос и передать его на исполнение серверу? Бедно, бедно наше воображение.

О том, что нет санитарной обработки входа, я даже не говорю; Думаю, это уже очевидно.

Итак, введя в поле ввода текст в кавычках, мы получаем еще один повод для тихого веселья: сервер прямо и открыто, как и положено приличной программе, выдает ошибку MySQL.

Идиоты в моем инете.
</p><p>



Идиоты в моем инете.
</p><p>

Да, действительно, с синтаксисом не всё в порядке.

Справедливости ради надо сказать, что просто заменить SQL в теле Post-запроса не получится — контрольная сумма где-то в бинарной части не совпадет. От инъекции через поле ввода текста мало что получится: есть ограничение на длину вводимого текста, а серверная часть благоразумно отказывается принимать несколько команд, разделенных точкой с запятой.

Эта элементарная предосторожность, конечно, никак не влияет на основную проблему — выполнение SQL-запроса, сгенерированного на стороне клиента.

Если есть определенное желание, то вполне можно заменить сам запрос, что и было сделано путем небольшой доработки флеш-части.

О подробностях я снова умолчу по этическим соображениям.

А если бы мы еще знали Флэша.

В качестве доказательства концепции мы меняем ник вновь зарегистрированного пользователя, выполнив SQL-запрос.

обновить набор `peoples` name=' новый псевдоним 'где имя=' старое прозвище '

Идиоты в моем инете.
</p><p>

Я думаю, само собой разумеется, что чьи-то намерения могут быть не столь мирными.

Разумеется, администрация сайта была уведомлена об уязвимости.

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

Мораль: используйте свой мозг, люди.

Пожалуйста.

P.S. В процессе написания этой статьи многие чуть не пострадали из-за того, что хаб не хотел загружать картинки при редактировании сохраненной версии, упорно вылетая с ошибкой Javascript «неперехваченное исключение: Отказано в разрешении на получение свойства HTMLDocument.getElementById».

Эта ошибка возникает при попытке вызвать sts_put_opener() из дочернего iframe. Это связано с тем, что родительский iframe находится на поддомене (paul7.habrahabr.ru), а дочерний — на основном, поэтому POST-запрос прошел успешно, но результатов я не получил.

Мне пришлось перехватывать ссылки с помощью того же верного Скрипача.

Это позор, честно говоря.

П.

П.

С.

Дорогой технический директор! Если вы читаете эту тему, прошу не переводить меня в тестеры! Мне временно так повезло.

Надеюсь.

* «Есть только две бесконечные вещи: Вселенная и человеческая глупость.

Правда, я не уверен насчет Вселенной.

Теги: #идиоты #флэш #sql-инъекция #карательная психиатрия #Чулан


«Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher»* — Альберт Эйнштейн Был вечер, и дел, как обычно, было много, но мне было лень.

По случайной ссылке я попал на один сайт, адрес которого не даю по понятным этическим соображениям.

Флэш-крафт; суть его такова: тыкаем в свободное место, и нам предлагают загрузить нашу картинку именно в это место и присвоить ей никнейм.

Моей фантазии не хватило, чтобы представить, сколько радости может принести человеку простая советская мигалка.

Мне хотелось посмотреть, как реализована, если вообще реализована, защита от автоматического ввода информации; может быть написать тривиального бота и занять пару десятков мест со своими картинками.

Загрузил фотку, написал ник.

Однако то, что я увидел в Fiddler, оказалось гораздо интереснее любого бота.



Идиоты в моем инете.
</p><p>

Итак, что мы видим? Обычный HTTP Post-запрос, в содержимом содержится какой-то бинарный мусор и — можете ли вы поверить своим глазам? - Что это? — SQL-запрос?! Да, граждане, мы с вами многое повидали.

Мы видели переполнение буфера в C. Мы видели SQL-инъекции в плохой PHP-код. Нас это нисколько не удивит. Но Альберт Германович был чертовски прав, и мы, среднестатистические и бездарные люди, не можем угнаться за мыслями отдельных людей: пришло ли вам в голову сформировать на клиенте SQL-запрос и передать его на исполнение серверу? Бедно, бедно наше воображение.

О том, что нет санитарной обработки входа, я даже не говорю; Думаю, это уже очевидно.

Итак, введя в поле ввода текст в кавычках, мы получаем еще один повод для тихого веселья: сервер прямо и открыто, как и положено приличной программе, выдает ошибку MySQL.

Идиоты в моем инете.
</p><p>



Идиоты в моем инете.
</p><p>

Да, действительно, с синтаксисом не всё в порядке.

Справедливости ради надо сказать, что просто заменить SQL в теле Post-запроса не получится — контрольная сумма где-то в бинарной части не совпадет. От инъекции через поле ввода текста мало что получится: есть ограничение на длину вводимого текста, а серверная часть благоразумно отказывается принимать несколько команд, разделенных точкой с запятой.

Эта элементарная предосторожность, конечно, никак не влияет на основную проблему — выполнение SQL-запроса, сгенерированного на стороне клиента.

Если есть определенное желание, то вполне можно заменить сам запрос, что и было сделано путем небольшой доработки флеш-части.

О подробностях я снова умолчу по этическим соображениям.

А если бы мы еще знали Флэша.

В качестве доказательства концепции мы меняем никнейм вновь зарегистрированного пользователя.



Идиоты в моем инете.
</p><p>

Я думаю, само собой разумеется, что чьи-то намерения могут быть не столь мирными.

Разумеется, администрация сайта была уведомлена об уязвимости.

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

Мораль: используйте свой мозг, люди.

Пожалуйста.

P.S. В процессе написания этой статьи многие чуть не пострадали из-за того, что хаб не хотел загружать картинки при редактировании сохраненной версии, упорно вылетая с ошибкой Javascript «неперехваченное исключение: Отказано в разрешении на получение свойства HTMLDocument.getElementById».

Эта ошибка возникает при попытке вызвать sts_put_opener() из дочернего iframe. Это связано с тем, что родительский iframe находится на поддомене (paul7.habrahabr.ru), а дочерний — на основном, поэтому POST-запрос прошел успешно, но результатов я не получил.

Мне пришлось перехватывать ссылки с помощью того же верного Скрипача.

Это позор, честно говоря.

П.

П.

С.

Дорогой технический директор! Если вы читаете эту тему, прошу не переводить меня в тестеры! Мне временно так повезло.

Надеюсь.

* «Есть только две бесконечные вещи: Вселенная и человеческая глупость.

Правда, я не уверен насчет Вселенной.

Теги: #идиоты #идиоты #флеш #sql-инъекция #карательная психиатрия #Чулан
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.