Тестирование уязвимостей безопасности в веб-приложениях: лучшие практики?

Я разрабатываю веб-приложение. Например, я использовал такие вещи, как Joomla в прошлом, чтобы сделать потрясающие вещи, но теперь, наконец, мои руки грязные с PHP, MySQL и CodeIgniter.

Когда вы создаете серьезные веб-приложения, которые будут обрабатывать большие объемы данных, какие меры предосторожности следует принимать против моих данных, чтобы полностью их дезинфицировать? Я знаю, что есть очевидная отделка, экранирование, xss-очистка и т. Д. – но какие другие методы я должен включить, чтобы остановить инъекции в базу данных?

Не только это, но есть ли какой-либо код для деструктивного ввода базы данных, с которым я могу проверить все мои входы? Как и в, он будет вводить что-то видимое, но на самом деле не наносит вреда моей тестовой базе данных? Я не совсем хакер, и мне нужно немного поучаствовать в этом.

Какие другие распространенные методы используют хакеры для уничтожения или чтения данных пользователя, и как я могу проверить это самостоятельно? У меня нет денег, чтобы нанять консультанта по безопасности, так как мне всего 16 лет, но у меня есть хороший опыт работы с компьютерами, и я уверен, что смогу снять несколько трюков, если у вас появятся какие-то намеки на то, что они собой представляют.

Я знаю, что это целая нагрузка вопросов, но чтобы обобщить, что вы делаете, чтобы убедиться, что все на 100% безопасно?

SQL Injection и XSS являются наиболее распространенными ошибками, которые делают программисты. Хорошей новостью является то, что их легче всего проверять автоматически, если у вас есть правильное программное обеспечение. Когда я нахожусь на пентете, я использую Sitewatch или Wapiti для поиска уязвимостей веб-приложений. Acunetix по цене.

Но вы не можете просто запустить какой-либо автоматизированный инструмент и ожидать, что все будет работать. Существует ряд предосторожностей, которые вы должны предпринять с помощью ЛЮБОГО сканера уязвимостей, который вы выбираете.

1) убедитесь, что display_errors = On в ваших тестах Inpject php.ini Sql полагаются на возможность видеть сообщения об ошибках mysql на страницах ответов! Нет ошибок, обнаружена уязвимость!

2) Сканирование аутентифицированных областей приложения. Создайте учетную запись пользователя специально для тестирования. Acuentix имеет простой мастер, где вы можете создать логин. Если вы используете wapiti, вы можете дать куки-файл wapiti или дать wapiti сообщение для отправки, но это довольно сложно.

ПОСЛЕ того, как вы протестировали свое приложение, проверьте ваш сервер на неправильную конфигурацию. Чтобы протестировать ваш сервер, вам нужно запустить OpenVAS, который является новой бесплатной версией Nessus, которая теперь является коммерческим продуктом. Тогда вы должны следить за этим с помощью PhpSecInfo . Эти тесты будут уведомлять вас о проблемах с вашей конфигурацией или при запуске старого уязвимого программного обеспечения.

Ничто никогда не будет на 100% безопасным, КОГДА-ЛИБО . Независимо от того, что вы делаете, есть уязвимости, которые будут скользить по трещинам. На всех платформах разработки есть уязвимости, которые приводят к компромиссам, который не может проверить ни один инструмент. Также есть ошибки в инструментах тестирования, которые вы используете. Есть ложные сообщения и ложные негативы и некоторые тесты, которые просто не работают , хорошим примером я никогда не видел автоматизированный инструмент CSRF, который на самом деле находит законные уязвимости. Тест CSRF от Acunetix – полная трата времени.

Существует также руководство по тестированию OWASP, которое идет более подробно. Это не следует путать с Top 10 OWASP, который также является отличным ресурсом. Руководство по безопасности PHP также является отличным ресурсом для программистов php.

I don't have the money to hire a security consultant since I'm only 16
Вам 16 лет, это не значит, что у вас нет денег на прокат: D.
Вам не нужно нанимать никого. Существует множество бесплатных онлайн-инструментов, которые можно использовать для проверки уязвимости вашего веб-приложения.

  1. Попробуйте использовать http://www.zubrag.com/tools/sql-injection-test.php для проверки уязвимости SQL Injection

  2. http://www.parosproxy.org : рекордер веб-трафика, веб-паук, хэш-калькулятор и сканер для тестирования общих атак веб-приложений, таких как SQL-инъекция и межсайтовый скриптинг

  3. Программное обеспечение HP WebInspect [не бесплатно] проверяет общие сетевые атаки, такие как инжекция параметров, межсайтовый скриптинг, обход каталога, [попытаться найти его в Интернете]

  4. http://portswigger.net/suite/ : Burp Suite – это интегрированная платформа для атаки на веб-приложения. Он содержит все инструменты Burp с многочисленными интерфейсами между ними, предназначенными для облегчения и ускорения процесса атаки на приложение. Все инструменты имеют одну и ту же надежную структуру для обработки HTTP-запросов, настойчивости, аутентификации, прокси-серверов, ведения журнала, оповещения и расширяемости.

вы можете взглянуть на OWASP .

Используйте сканер уязвимостей WebCruiser Web для сканирования уязвимостей для инъекций SQL, WebCruiser – это не только инструмент сканирования Web Security, но и автоматический инструмент SQL Injection Tool, инструмент XPath Injection Tool, инструмент XSS.