Веб -приложения принесли с собой новые классы уязвимостей компьютерной безопасности, такие как инъекция SQL. Это класс уязвимостей, основанных на проверке ввода. Типичное использование конфиденциальной информации утечки в инъекции SQL из базы данных, логики аутентификации в базе данных или добавление несанкционированных учетных записей в базу данных. Эта безопасность предотвращает несанкционированный доступ к вашей базе данных, а также предотвращает изменение или удаление ваших данных без соответствующих разрешений. Злоусовеченный текстовый детектор, проверка ограничений, проверка длины запроса и генератор ключей на основе текста - это четыре типа методики фильтрации, используемых для обнаружения и предотвращения доступа к инъекциям SQL в базе данных.
Мы делаем этот проект в Ubuntu
Мы будем обнаружить инъекцию SQL на прокси -сервере в качестве повышения уровня безопасности. Поскольку Nginx более быстрее и проще в использовании, мы будем использовать его в качестве прокси -сервера. Наше веб -приложение будет работать на Apache Server.
Таким образом, так как трафик из браузера будет поступать на Nginx Server, мы настроим его порты
Добавьте файл webproxy из репозитория в /etc/nginx/sites-enabled .
Добавьте WebProxy в Sites с поддержкой Nginx. Здесь мы маршрутировали HTTP -трафик через Nginx Server на порт 8080.
Теперь мы будем обновлять порт сервера Apache HTTP Service. Обновить файл ports.conf из этого репозитория в /etc/apache2/ также обновить файл 000-default.conf из этого репозитория в этом репозитории в /etc/apache2/sites-enabled .
Замените html -папку из этого репозитория на /var/www/ папку. Запустите bank.sql для создания базы данных в MySQL. (Crediantials для MySQL: имя пользователя: root пароль: root)
Здесь мы добавили банковское заявление
service nginx start
service apache2 startПроверьте, настроен ли Nginx Server на порте №. 80 и Apache Server настроен на порте №. 8080.
Перейдите в localhost:8080/bank/login.html . Введите имя пользователя как AA и вводите пароль как 'или' y '=' y
Теперь вы можете увидеть целые базы данных.
Перейдите в localhost/bank/login.html . Введите имя пользователя как AA и вводите пароль как 'или' y '=' y
Теперь вы не можете видеть целые базы данных, а также вы не можете ввести их с другим запросом.
Когда учетные данные пользователя вводятся в систему уязвимых, они напрямую передаются в программное обеспечение базы данных. Но если мы предоставим проверку ввода до достижения до веб -приложения, например, на прокси -сервере, мы сможем уменьшить бремя на сервере Apache и эффективно обработать его на более быстром сервере Nginx.
Итак, я собрал все ключевые слова MySQL, используемые для атаки впрыскивания SQL, и присваивал им веса, так что весь ввод проверен и проверял на атаки.
Как таковая атака инъекции SQL предотвращается.
Автор и создатель: Jayant Rane