Скачай и обработай!

Докучаев Дмитрий aka Forb

Хакер, номер #072, стр. 072-056-1

(forb@real.xakep.ru)

Хакерский анализ баз данных

Парадоксально, но факт: многие взломщики способны найти баг, проникнуть на сервер, утащить базу с важными данными, а затем удалить ее с винта. И все потому, что интересующая инфа была зашифрована каким-то элементарным алгоритмом или горе-хакер просто не сумел отыскать что-то ценное в горе мусора. Чтобы не попасть впросак и извлечь максимальную выгоду из украденной информации, обязательно прочитай этот материал до конца. Только тогда ты овладеешь всеми методами анализа содержимого баз данных, которые тебе обязательно помогут в дальнейшем!

Представь: ты украл базу данных со всеми пользователями какого-то раскрученного сервиса. Что теперь можно с ней сделать, что полезного можно с этого поднять? Оказывается, при определенных навыках становится возможным даже из никчемных данных извлекать весомую выгоду, которая иногда измеряется в шестизначных уинах, тысячах долларов или ящиках пива Guinness.

Поверхностный анализ

Чтобы упростить задачу, предположим, что у тебя имеется одна большая таблица. Пусть в ней расположены аккаунты к крупному сервису в следующем виде: userid, login, password, e-mail. Что можно сделать с такими, казалось бы, однообразными данными? Самая первая маза, которая приходит в голову, – это банально продать БД заинтересованному человеку, который будет использовать аккаунты по назначению. Это верный ход, однако не будем спешить: в конце концов, продать инфу мы всегда успеем. Первое, что ты должен сделать, – скормить таблицу своему серверу БД - mysql или pgsql. Этим действием ты облегчишь собственную жизнь, потому как сможешь без геморроя сортировать и выбирать нужные данные, выводя их на экран либо в отдельный файл. Поэтому обязательно обзаведись сервисом SQL на своей машине. Предположим, что все данные находятся в файле users.sql, а именно так и бывает в большинстве случаев. Выполни команду mysql –u user –p password < ./users.sql и подожди, пока все данные импортируются в твою БД. Когда процесс завершится, можно приступать к первому этапу обработки информации.

В первую очередь от тебя требуется отделить самые важные поля от остальных. Это существенно упростит процесс анализа и уменьшит объем данных. Если ты выполнишь запрос desc users, тебе будут показаны все поля таблицы users. Ты должен выделить для себя самые главные и запомнить их названия. В нашем примере это будут три последние записи: login, password и email.

Теперь командуй: select login, password, email from users into outfile 'users.txt'. Если у тебя свежая версия mysql, то команда выполнится без проблем, а извлеченные данные расположатся в отдельном файле users.txt. Открой его и зацени содержимое документа. Вероятно, ты увидишь в нем много левых данных, это особенно касается мыльников. Выбери для себя некорректные e-mail адреса (попсовые мылы на hotmail.com, yahoo.com и адреса, расположенные на самом хостинге). Теперь видоизменяй запрос SQL и выведи данные, исключая левые мыльники. Первый этап обработки можно считать наполовину завершенным.

Содержание  Вперед на стр. 072-056-2
ttfb: 3.2870769500732 ms