Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Управляйте маятником, чтобы построить самую высокую (и устойчивую) башню из падающих сверху постов. Следите за временем на каждый бросок по полоске справа: если она закончится, пост упадет мимо башни.

Башня

Аркады, Строительство, На ловкость

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
122
astrobeglec
Информационная безопасность IT

Скучная история про первый взлом с картинками⁠⁠

8 лет назад

Как и было обещан пост про первый взлом. Те, кто ждут эпических событий, и прочие фантазии - здесь вы этого не найдете. На дворе год эдак 2009-й я создал несколько сайтов (занимался бизнесом). Потом случаем наткнулся на описание атак на сайты... Взломанный сайт - угроза репутации, а значит нужно изучить врага, чтобы знать, как с ним бороться.


Итак, первым делом я засел изучать поле деятельности. В итоге прочитав и логически обработав данные я пришел к классификации угроз. Следует отметить, что обычные действия пользователя и атака зачастую отличаются лишь тем, что атаку проводит взломщик, а не авторизированный пользователь. Итак, цели атак (может быть от одной до всех):


1. Добавление информации. Атаки данного типа добавляют на атакуемый ресурс что-то, чего там не должно быть. Это и спам, и реклама и XSS атаки (с которой я и начал).

2. Изменение информации. Атака вносит изменения в существующий контент или данные сайта.

3. Получение информации. Атака имеет целью получить данные обычно не доступные пользователям.

4. Удаление информации. Атака имеет целью уничтожение информации.

5. Отказ в обслуживании. Атака имеет целью предотвратить доступ пользователей к атакуемому ресурсу.


Способы осуществления атак:

1. Социальная инженерия. Данные вносятся, изменяются, получаются, удаляются путем обмана специалиста, имеющего легальный доступ к данным.

2. "Пятая колонна". Атаку производит легальный пользователь, который имеет доступ к оборудованию из-за корысти или из личных побуждений.

3. "Один-к-одному". Атаку на целевую систему проводит один аппаратно-программный комплекс.

4. "Много-к-одному". Атаку на целевую систему проводит множество аппаратно-программных комплексов (ботнет).

5. "Зевок". Атака является следствием нарушений правил информационной безопасности (простые пароли, открытые порты).

6. "Рикошет". Атака на целевую систему производится сторонней системой в результате эксплуатации уязвимости на ней.

7. "Троян". Система атакуется после регистрации путем повышения привилегий от гостевого доступа к администратору.

8. "Человек посередине". Атака идет на прослушивание канала связи.

9. "Спамер". Атака на ресурс путем заваливания его различной информацией. В основном DDoS.

10. "Хамелеон". Атака, когда компьютер ломщика пытается прикинуться легальной машиной.

Вообще их много, так что на этом остановимся.


Итак, перейдем к основным концепциям атаки. Изучив разные типы атак, я решил начать с элементарного - XSS. Если бы не каскадные таблицы стилей она называлась бы CSS - Cros-Site-Scripting - межсайтовый скриптинг. Это атака с целью добавления информации. Сперва немного теории. Сейчас Вы все читаете данный пост просматривая сайт Пикабу. Технически сайт - каталог не сервере (или нескольких серверах) в котором расположены обычные файлы. В результате работы интерпретатора PHP на языке HTML создается веб-страница, которая дополняется сторонней информацией из различных сторонних файлов. В числе прочих там же могут быть и JavaScript, это встраиваемый в браузер интерпретируемый язык программирования, который может делать со страницей все, в т.ч. похищать информацию об авторизации и любые данные видимые пользователю.


Итак, была выбрана самая простая в реализации атака XSS. Если открыть сайт в режиме просмотра кода Ctrl+U, то мы увидим, что начинку сайта представляет собой примерно такую картину:


Для того, чтобы атаковать нам нужна "точка входа", это те данные, которые может принять атакуемая система от нас. Атаковать я решил одну из самых больных тем - имя пользователя. Смысл в том, что атака на имя пользователя будет распространятся по всему сайту т.к. везде, где отображается имя пользователя будет выполнятся вредоносный код.


Эмулируем атаку. Нажимаем Shift+Ctrl+I (я работаю в Firefox) и попадаем в Инструменты разработчика. Вкладка "Инспектор". Нажимаем на значок выбора объекта, выделяем и нажимаем на нужный (атакуемый) элемент.

Как видим имя автора поста заключено в тег "а" содержит параметры class, href и в теле тега содержит имя пользователя. Как браузер определяет окончание тела тега? Он ищет знак обрамляющий открывающий и закрывающий тег - знак меньше. Закроем тег и добавим скрипт.


Это простой скрипт выводит окошко с приветствием. Если нам удалось зарегистрироваться с таким "странным" ником и он заработал (вывел сообщение) - значит сайт уязвим. Проверяем, что данный код работает, для этого сохраняем локально исправленный HTML и открываем его в браузере:

Обратите внимание, что окно появилось сразу после отображения логина. Данный "взлом" (хотя это и не взлом, а демонстрация работы XSS) - "ручной" т.е. мы руками попробовали взломать что-то и это крайне не продуктивный путь. В реале берется атакуемая система, вручную производится атака и пишется приложение, называемое эксплойтом, которое проводит выявленную атаку на заданный список целей.  Поскольку сегодня за реальную атаку можно получить реальный срок, то искать уязвимые сайты мы не будем. А самая первая атака заключалась в том, что я просто пытался зарегистрироваться на сайте используя логин + XSS вставку и на 5 попытке мне это удалось. После успешной регистрации я написал админу сайта о выявленной уязвимости. Уязвимым может быть все к чему имеет доступ пользователь и даже то, доступа к чему он не имеет ;-)


Теперь о том, что я вынес для себя из этой атаки:


1. "Точки входа" == "векторы атак". Код нужно писать исходя из тезиса, что любые запрошенные данные будут использоваться для взлома. Следовательно, архитектура приложения и запрос данных исключительно на основании "белых списков" возможных значений.


2. Невозможно написать идеальный код, обязательно будут ошибки. Как следствие - кода нужно писать как можно меньше, чтобы он оставался читаемым и понимаемым.


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


После этого я еще много раз занимался взломом, но уже не в сети, а на специально созданном полигоне - создавал/скачивал приложения и взламывал их, правда меня хватило меньше чем на год. Вообще взлом - отдельный мир. Приложения, которые мы используем, это узкие тропинки на бескрайнем поле возможностей.


Сам по себе успешный взлом - изучение массы литературы, часы иногда десятки, бывает и сотни часов попыток и только потом результат. Именно поэтому взломщики делятся на две категории: "за деньги", которые атакуют исключительно распространенные приложения и сервисы и "за идею", которые атакуют все подряд. Тем, кто зарабатывает на взломе не интересно сидеть сутками ради взлома сервиса с которого ничего не поиметь или поиметь мало.


В БМ дичь.

Показать полностью 4
[моё] Взлом Информационная безопасность Xss Советы программистам Длиннопост
72
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии