Имея исходники сайта на php как найти дыры?

есть автоматические утилиты поиска подозрительных мест в коде?

есть автоматические утилиты поиска подозрительных мест в коде?
аха, его ещё некоторые мозгом называют =D

Работа со строками, запросами к БД. Вдруг инъекцию откопаешь.

А есть какой-нибудь онлайн сервис, которому можно ввести URL страницы с выводом phpinfo, а он скажет — есть уязвимости или нет?

Тебе это не поможет.


Быстрее переписать, если сайт — монстр типа друпала

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

На отсутствие экранирования запросов, например.

Сомнительно. пхпинфо содержит лишь данные о окружении в котором работает скрипт, как сервис по таким данным сможет сказать тебе что там не так (ну разве что какая-то уязвимость осталась непатченой).
хотя, я вроде бы когда-то и ходил по сервису какому-то — ты ему скармливал урл — он тебе отдавал список возможных проблем/уязвимостей.
Проверка скрипта на дыры и уязвимости
Здравствуйте. Ситуация такая, заказывал на одном из сайтов по удаленной работе услуги программиста по написанию скрипта под мои нужды. Работы была выполнена и я начал пользоваться скриптом , на нескольких моих проектах.
Однако, через некоторое время, я заметил вредосностный код (редирект) в файлах .htaccess. Код удалил, все пароли и CMS с плагинами обновил, однако есть сомнения по поводу этого самого скрипта, который мне написал программист.
Я сам не программист и соответственно, в коде ничего не понимаю, поэтому не исключаю возможность, что этот самый программист создал специально дыры в скрипте, с помощью которых он может получать доступ к серверу или к функционалу скрипта.
Вообщем суть вопроса следующая: посоветуйте как лучше мне проверить данный скрипт на:
1. Есть ли в скрипте возможность, не зная логин и пароль программисту написавшему скрипт, управлять им, то есть удаленно получать доступ к функционалу?
2. Получать доступ к моему серверу;
Может это конечно паранойя, но так как скрипт будет работать с партнерскими ссылками, то думаю у программиста могла закрасться мысль, оставить доступ к функционалу, с целью поменять мои партнерские ссылки на свои. Однако проверить самостоятельно я это не могу.
Я думал заказать проверку скрипта другим программистом, однако опять нельзя быть уверенным, что уже он не внесет какие либо негативные изменения, что я проверить не могу.
Вот я и подумал, на этом форуме очень много профессионалов, может кто либо, сможет посмотреть скрипт и ответить на вопросы о возможных уязвимостях и доступа к функционалу или посоветует как лучше проверить данный скрипт.
Как найти уязвимость на сайте
В своих прошлых статьях я нередко упоминал об различного рода уявимостях на сайтах. Это «Уязвимость в AdsManager на практике» и «Пример уязвимости в JCE», а также более обобщенно в других материалах. Для тех, кто не знает чем бекдор отличается от XSS я посвящу уже следующую статью «Описание распространненых уязвимостей».
Поиск уязвимостей на сайте, через которые проник вирус
Здесь я уделю внимание поиску дыр на сайте, а также некоторым советам, как их залатать от дальнейшего проникновения вирусов.
В первую очередь проверьте версию устанавленных CMS, а также обязательно установленных компонентов и плагинов, зачастую уже давно вышло обновление безопасности, которое залатает очередную брешь. Именно поэтому важно поддерживать программное обеспечение в актуальном состоянии — это не только новая функциональность и возможности, а важный аспект безопасности и залог здоровья сайта.
Как найти уязвимость по логам?
Допустим,что вирус уже проник на сайт. Мы успешно (наверно) удалили все вирусы с сайта и задумались над защитой от дальнейшего вторжения. Здесь могут помочь мои советы из статьи «Как защитить сайт от попадания вирусов». Многие владельцы веб-страниц хотят знать, как вирус попал на сайт и как предотвратить заражение в дальнейшем. В таком случае требуется более детальный анализ появления вирусов на сайте. И я расскажу простой метод поиска уязвимости, который поможет даже начинающему веб-мастеру.
Итак, для начала нам надо найти логи сервера. По умолчанию они находятся в отдельной папке logs выше директории сайта. Чаще всего имеют имена файлов access_log и error_log. Что делать, если не смогли найти их?
— Вариант первый, они у вас могут быть не включены в настройках сервера, поэтому стоит включить генерацию отчетов.
— Вариант второй, запросить логи у техподдержки, они подскажут, как вам поступить дальше.
Ищем шеллы на сайте!
Будем считать, что мы нашли необходимые файлы. Теперь нам надо найти шелл на сайте, именно сам исполняемый файл, а не системные файлы со вставками вредоносного кода. Мы смотрим на дату последнего изменения данного файла, и именно за эту дату стоит открыть файл access_log в удобном текстовом редакторе. Далее воспользуемсся поиском и введем имя нашего вредоносного файла. Находим упоминание в логе и смотрим за происшествиями, которые произошли до запуска исполняемого файла, особенно с того же айпи.
Если хорошо вчитаться в логи, то можно воспроизвести моменты атаки и таким образом найти уязвимый код или действия, повлекшие взлом на сайте. К примеру, часто бывает, что взламывают админку тупым перебором паролей, а всё из-за того, что стоит примитивный пароль «12345».
Таким образом мы узнаем, через какой компонент или файл вирус проник на сайт, а также если постараемся, то заделаем брешь на сайте. Если это какой-нибудь известный плагин, то решение проблемы можно поискать в интернете, если же малоивестный или самописный, редактировать и анализировать придется вручную, или же обратиться к профессионалам безопасности.
Проникновение вирусов через POST запросы
Наверное главным недостатком логов будет проблемность обнаружить данные, передаваемые через POST. Многие вирусы стали достаточно хитрыми и маскируются под модули и плагины системы управления сайтом. Как результат, в логах обычные обращение к страницам, будь то главная или внутренние ссылки. В таких случаях необходимо устанавливать на сервер дополнительные модули захвата пост-данных, либо переключать логирование в уровни trace. При этом будьте готовы, что файлы логов станут занимать ну очень много места! При таком анализе и дешифровке кода можно восстановить полную ситуацию взлома на сайте. Однако многие хостинги с неохотой идут на уступки в выдаче необхрдимых логов. Поэтому этот вариант больше подходит для выделенных серверов.
В некоторых случаях бывают полезны не только данные апача, но и обращения по фтп, к базе данных, логирование на сайте или в панеле управления хостингом. В конечном итоге можно определить причину, если время не было утеряно ( а делать это надо оперативно, сразу после взлома).
Поиск уязвимостей аудитом безопасности
А что если мы собираемся обезопасить наш сайт заранее, а не ждать, пока вирусы проникнут на вебсайт.
Тут два пути поиска потенциальных дыр на сайте. Первый из них анализ файлов и кода, а также компонентов и модулей. В первую очередь стоит проверять проверки загрузки файлов на сайт, а также фильтрацию всех входных данных. Это очень трудоемкое занятие, и явно не подходит рядовому пользователю. Тут могут справиться только настоящие асы.
Второй вариант подразумевает отсутствие доступов к сайту, и мы будем пытаться всеми методами взломать сайт. Тут можно воспользоваться сканерами уязвимостей. В итоге если мы обнаружим потенциальное место для взлома, тогда сможем задуматься об устранении дыры в сайте.
Однако даже все эти методы не дают 100% гарантии отсутствия уязвимостей. И чем больше объем функционала сайта, тем больше потенциальных вариантов уязвимостей. Даже программным методом перебор всех уязвимостей может занять от нескольких суток до месяцев.
Поэтому еще при разработке сайта стоит задумываться о его безопасности, чтобы потом не любоваться результатами хакеров.
[Статья] Как самому проверить продукт\скрипт на уязвимости
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Внимание! Чтобы получить доступ к скачиванию вложений, необходимо не только брать с этого ресурса, но и вкладывать что-то своё в общую копилку знаний
Размещение публикации в разделе Кандидатский — простой способ поделиться наработками и получить повышение
Перед созданием темы ознакомьтесь с Правилами раздела