Что такое SQL-инъекция, как не дать сожрать ваши Cookies, и XSS угроза совсем не маленьких размеров - сегодня в статье.
Доброго времени суток, уважаемые обитатели дзена и наши дорогие читатели! С вами познавательно-развлекательный канал компании PenLab - компании, специализирующейся на информационной безопасности и защите ваших интернет-ресурсов! Сразу хочу выразить благодарность за интерес к нашим публикациям, нам очень приятно видеть что вы нас читаете.
С момента открытия нашего блога прошло чуть больше недели, и мы уже выпустили три статьи(ознакомиться с ними можете перейдя на страницу канала). Две их них связанные с историей, одна новостная, ну а сейчас, как нам кажется, пора бы преподнести вам что-то более полезное и познавательное. Встречайте - самые распространенные виды уязвимостей сайтов.
Начать, мы думаем, необходимо прежде всего с предостережения: весь данный материал опубликован исключительно в образовательных целях. Если вы желаете углубиться в тему уязвимостей веб-приложений и ресурсов, не стоит применять свои знания на чужих сайтах - это неэтично, и, в конце концов, уголовно наказуемо. Дабы проверить свои силы, вполне подходит вариант создания собственной странички, а там уж развлекайтесь как душе угодно.
Если вы хорошо усвоили сказанное выше, тогда мы смело продолжаем. Прежде всего нужно заметить, что ломается абсолютно всё! Любой сайт, ресурс или приложение потенциально уже взломано злоумышленником в теоретическом будущем. Почему? Потому что разновидностей угроз и способов проникновения в систему просто колоссальное количество, и учесть каждый возможный изъян практически невозможно. Благо, большинство таких лазеек опытным программистам давно известны, как и методы борьбы с ними.
Инъекция, или как её еще называют SQL-инъекция.
Как вы, возможно, знаете, обычно, все данные сайта хранятся в так называемой базе данных. И общение с этой базой осуществляется с помощью SQL- запросов. Ваше приложение использует эти запросы чтобы получать данные, добавлять их, изымать, редактировать и так далее. Зачастую, администраторы и модераторы интернет-ресурсов пренебрегают полной проверкой того, какие именно данные вносят пользователи. Это и является фатальной ошибкой, ведь таким образом злоумышленник может внедрить в ваш собственный SQL-запрос что-то свое. Внедряя собственный запрос подобного типа, пользователь с преступными намерениями может получить доступ к операциям и функциям сайта, к которым он доступа иметь не должен. Например, он может войти в аккаунт администратора, или же вшить свой вредоносный код, который заставит сайт показывать различного рода рекламные объявления, которых там быть не должно. Также есть риск, что с помощью такого метода, хакер получит доступ к полной базе данных пользователей, и, соответственно, будет волен распоряжаться ей как пожелает. И это все, не говоря уже о полном “падении” сайта, и ограничения доступа к нему. Данный вид атак, SQL-инъекция, по праву считаются наиболее серьезными и опасными.
Ошибки системы аутентификации и хранения сессий.
В данной уязвимости, все связано с так называемыми “Куками”, или - Cookies. В переводе с английского, Cookies - печеньки. Однако, ничего общего со всеми любимыми вкусностями это не имеет. Для того чтобы отличить одного пользователя сайта от другого используется система авторизации, или иными словами - сессионные “куки”. Вновь прибывший на ресурс пользователь вводит свои логин и пароль, после чего система его запоминает, пользуясь этими самыми “куками”, чтобы в дальнейшем, юзер мог путешествовать по страницам сайта, не проходя авторизацию после каждой новой открытой вкладки. То есть, чтобы понять имеет ли пользователь доступ к тому или иному ресурсу сайта, сервер запрашивает у него “куку”. после чего сравнивает её с тем, что хранится в его базе данных. Как же злоумышленники получат доступ к “кукам” пользователя? Во-первых, банально подсмотреть, как человек вводит свой пароль и запомнить. От этого, к несчастью, никто не застрахован, и ответственность за сохранность своей учетной записи ложиться на плечи, непосредственно, пользователя. Но имеются и более хитрые способы кражи учетной записи, например с помощью CSRF и XSS уязвимостей. С помощью них злоумышленник может воспользоваться чужим аккаунтом, не зная ни логина, ни пароля. Чтобы противодействовать данной угрозе необходимо вводить дополнительные меры, нежели простое сравнивание “куков” с базой. Как пример - вводить проверку по IP-адресу, или же ограничение авторизации каким-либо количеством соединений( чаще одним).
XSS уязвимость, или HTML-инъекция.
Она схожа с первой уязвимостью, описанной нами, о чем можно судить из второго её названия. Схожа в основном тем, что тоже, в основном, завязана на внедрении собственного кода, с той лишь разницей, что SQL действует через запрос, а XSS-атака предполагает внедрение вредоносного кода в клиентский код через HTML-страницу. Является одним из способов кражи учетной записи и Cookies. Так же как SQL, это крайне опасный вид уязвимостей, и для того чтобы рассказать о ней поподробнее потребуется довольно много времени и сил, так что оставим это для одной из будущих статей.
Прохождение данных по протоколу “http” и их недостаточная защищенность.
Тут, проще все объяснить примером. Данные, проходящие по протоколу “http” не шифруются никаким образом, и при этом проделывают огромный путь, преодолевая всевозможные узлы связи, от устройства пользователя до сервера и обратно. Это и маршрутизаторы на вашей лестничной клетке, маршрутизаторы провайдера, маршрутизатор на канале и так далее. На каждом из таких узлов может скрываться опасная программа, которая в силах считать весь проходящий трафик и передать данные злоумышленнику. Чтобы исключить данную угрозу, важные для вас данные должны передаваться исключительно по “https” трафику. Чтобы проще было запомнить, букву “S” в конце можно представить как начало слова “security”- безопасность.
Это, конечно же, далеко не все виды уязвимостей, отнюдь не полное их описание, и методов борьбы с ними, а значит все остальное мы расскажем в будущих статьях на канале и сайте компании PenLab. Читайте наши статьи, будьте в курсе опасностей, которые могут подстерегать вас на просторах сети, а также заказывайте аудиты ваших приложений и сайтов у специалистов PenLab, дабы обезопасить себя и своих клиентов! Спасибо что дочитали до конца, надеемся статья была для вас полезной. До новых встреч!