Проблема парсинга баз, в том числе и SQL-дампов, не нова даже для хакеров-новичков. Ведь не секрет, что большинство ломаемых хакерами ресурсов в качестве логина пользователя использует именно мыло :). Также известно, что многие юзеры очень любят ставить один и тот же пассворд на кучу сервисов, а значит, и здесь есть, чем поживиться широкому хакерскому карману. Сразу скажу, что способов реализации задуманного несколько. Начнем с первого:
1. Скачиваем известный продукт Denwer, который включает в себя связку PHP+Apache+MySQL, и устанавливаем его на localhost.
2. Запускаем идущий с Denwer в комплекте phpmyadmin, проверяем работоспособность MySQL и импортируем нужный SQL-дамп.
3. Выполняем запрос к СУБД и получаем необходимые данные. Как вариант – можно воспользоваться MySQL-клиентом от RST, либо заюзать уже готовый к бою phpmyadmin. Запрос, естественно, будет напрямую зависеть от названия полей/таблиц, поэтому ограничусь общим видом:
SELECT название_поля1, название_поля2 from название_таблицы
Кроме того, не забывай про возможность внедрения спецсимволов при помощи функции char(), а также про регулирование выдаваемого мускулом количества записей с помощью limit. Стоит отметить, что описанный способ работает всегда и везде, но он далеко не единственный. Не так давно я наткнулся на любопытный скрипт, предназначенный как раз для парсинга SQL-дампов (ищи его на нашем DVD):
#!/usr/bin/perl
open (SRC, "$ARGV[0]") or die "Can't open $ARGV[0]:$!";
open (RES, ">$ARGV[1]") or die "Can't create $ARGV[1]:$!";
@src = <SRC>;
$num = @src;
for ($id = 1;$id != $num;$id++) {
$str = "$src[$id]";
if ($str=~ /\w+@\w+.\w+/) {
$mail = $&;
}
if ($str =~ /\w{32}/) {
$hash = $&;
$res = join ':',$mail,$hash;
print RES "$res\n";
}
}
Как ты понял, сценарий сохраняет в файл список вида mail:hash, который впоследствии удобно экспортировать в утилу PasswordsPro. Запускается скрипт так:
perl script.pl С:/dump.sql С:/result.txt
После окончания парсинга результат ты можешь наблюдать по адресу С:/result.txt.
Комментариев нет:
Отправить комментарий