#безопасность #php
Вот делаю очередной проект, основным моментом есть высокие требования к безопасности, ну как бы общие принципы безопасности знаю и использую.. может обговорим кто какие методы использует для защиты или у кого есть взлома...как это делают.?Только прошу на гадит в ветку глупыми ответами..
Ответы
Ответ 1
В основном, залог успешного взлома - удачное стечение обстоятельств. Это уже было неоднократно доказано на практике. Ну, и без знаний с опытом тоже не обойтись :) Существует масса способов взлома сайтов. Самый, наверное, распространенный - SQLi( SQL Injection ). Данный способ стар, как мир, да и защищаться от него уже давно все научились( SQLi сканеры, безопасные фреймворки и проч. ). Но еще где-то можно встретить данную уязвимость( в основном, на старых сайтах, порталах и т.д ). Еще один способ взлома( его корни уходят в начало 90-х годов ) - это небезызвестный XSS. Несмотря на его "древность", специалисты ИБ заявляют, что 9 из 10 сайтов имеют уязвимости, связанные с внедрением кода( собственно, XSS ). Пользователь @just, как понимаю, не особо знаком с этим видом атаки, так как он упомянул лишь XSS в динамических страницах( "формочки" ). XSS же - это очень обширный вид атак. Взять, к примеру, DOM-Based XSS. Этот вид вообще позволяет внедрять код в статические страницы HTML/JS( в DOM структуру ). Также я хотел бы добавить, что все XSS`ки делятся на пассивные и активные. Об этом неплохо написано здесь. В современное время набирают популярность такие атаки, как CSRF( уязвимость протокола передачи гипертекста, корни которой уходят в начало 90-хх ), атаки, основанные на уязвимости в регулярных выражениях, XML атаки. Также не стоит упускать из виду род атак, основанный на уязвимостях в инструментарии( RoR, Yii, WordPress ). Например, в движке WordPress ежемесячно находятся несколько новых уязвимостей, позволяющих положить сайт( а если учитывать многомиллионную аудиторию пользователей WordPress, то и не один сайт )Ответ 2
Наиболее распространенные атаки xss атаки и sql инъекции. xss атака (cross site scripting) - когда в ваш код внедрили свой джаваскрипт. Такое может случится, когда вы то, что может ввести пользователь в форму и отправить сразу отображаете на странице, в html коде. Пользователь может спокойно написать - и этот скрипт будет выполняться. Так что вам надо обрабатывать все данные, которые вводит пользователь, и которые отображаются на странице. sql инъекция - когда внедряют sql. Такое может произойти, когда вы информацию от пользователя не проверяете, но используете в своим sql запросе в базу данных. пример, неважно на каком языке: вы приняли от пользователя переменную name, и пишете запрос в базу данных "SELECT * FROM BLABLABLA WHERE name=" + name . И вот тут то пользователь уже и может внедрить свой sql. Это самые распространенные уязвимости.Ответ 3
Как и разработчики так и хакеры пользуются одним и тем же инструментом. Следственно взлом сайтов зависит от компетентности того кто его разрабатывал. Как наверное многим известно если такие системы как joomla, wordpress и тому подобные, в которых многие дополнения сделаны сторонними разработчиками и не всегда безопасно себя ведут. В основном для взлома сайта хакер пытается как можно точнее сэмулировать систему которую будет ломать. Выбирая и устанавливая те дополнения которые смог точно идентифицировать на сайте. После установки данных дополнений идет непрерывный просмотр данных и исполняемого кода, поиск соответствий уже известным и не известным SQL Injection, поиск просто ошибок программистов, поиск возможностей записать, отправить, создать исполняемый файл на ервере. Еще большая роль уделяется серверному ПО установленному на сайте если конечно это возможно. После детального анализа всех данных принимается решение о взломе и о его методах. Самый простой вариант это когда есть возможность отправить на сервер исполняемый файл. т.к. попытки взлома отслеживаются правильными администраторами, то возможность у хакера есть только одна. Получается, что нет возможности сделать что-то дважды или трижды. Потому все манипуляции с сайтом производят у себя на эмулированной системе которая максимально похожа на ту которую будут ломать. И скорее всего только при 100% уверенности, что попытка удастся и удастся замести следы - хакер начинает действовать. Есть еще вариант подбора паролей и отлавливания сетевых каких-то пакетов в которых можно эммулировать полностью работу браузера соседа (скажем в большой корпорации или в интернет клубе). Часто бывает вообще просто, скажем phpMyAdmin(сканируют такие папки и их производные) открыт еще и с открытым паролем на админа. Со всего выше описанного могу сказать то, что незащищенных систем не бывает. Множество проектов в рунете написаны либо не очень компетентными людьми либо группами разработчиков с разной степенью поготовки. Таким образом существование ошибки, бакдора или еще какой-то фишки которая дает возможность взломать почти 100%. Я всегда восхищался такими людьми. Сам разрабатываю высоконагруженные и защищенные проекты и несколько раз правда очень давно были не только попытки но и реальные взломы моих систем, после длительного анализа логов находились ошибки и казалось бы на то время в идеальном коде. Заключение: если захотят - взломают. Но наша то как раз задача всячески сделать этот взлом несоизмеримым с затраченными рессурсами и временем.
Комментариев нет:
Отправить комментарий