Здравствуйте, с вами Fusix. Сегодня мы обсудим создания брута. Для начала мы будем писать брут по методу GET. Т.к. он легче. Сначала нужно обдумать принцип его работы. Он прост:
1. Генератор чисел 2. Разборка ссылки для брута 3. Сам процесс брута
Но для начала лучше сразу зарегистрировать все переменные в определенном блоке (необязательно).
Ищем в заранее созданном проекте Windows Forms C# Строки:
public main() { InitializeComponent(); }
После InitializeComponent(); начинаем объявлять переменные
public main() { InitializeComponent(); //Obj // Для генератора создадим экземпляр объекта класса Random Random Generation=new Random(); //Strings string key; // Предполагаемый ключ string url; // Ссылка string answer; // Ответ от сервера string[] url_array; // Массив строк //INTs int i = 0; // Для обозначения количества исполнений цикла }
Потом можно приступить уже к генератору. Для удобства сделаем его отдельной функцией.
string Generator() { while(i != 5) { // Генерируем число от 0 до 9 и записываем в переменную ключа key += Generation.Next(Igenstart, Igenend).ToString(); i++; // Плюсуем переменную i, чтобы работал цикл } return key; }
Готово. Генератор написан. Теперь обработаем ссылку. Будем считать, что мы подбираем всегда только 1 элемент в ссылке. Нам нужно перевести ссылку в массив, разделенный по звездочке, которой помечена подбираемая часть.
url_array = uri.Split('*');
После выполнения вышенаписаного кода, если например url = "http://stascorp.com?query=*&auth=1", то первый элемент массива примет значение все что до * (http://stascorp.com?query=), а второй все что после (&auth=1). Теперь к бруту. Брутить будет за нас функция встроеного в Фраймворк класса WebClient - DownloadString. Она отправляет запрос на ссылку и ответ загружает в переменную. Для начала работы с этой функцией, необходимо сначала создать объект класса WebClient. Это делается так:
WebClient process = new WebClient();
* Название объекта можно дать какое душе угодно, я назвал его process. Ну а теперь нужно уже обратиться по ссылке. Функция DownloadString возвращает ответ от сервера в виде строки, значит можно присвоить текстовой переменной значение этой функции.
void Brute_GET() { key = Generator(); WebClient process = new WebClient(); answer = process.DownloadString(url_array[0] + key + url_array[1]); }
Все. Теперь остается только проверить, является ответ положительным (ключ подобран) или нет (продолжить подбор). Проверка делается простейшими условиями if/else/elseif.