Всем привет!
Многие спрашивали меня , как сделать перебрут ошибок, а многие вообще не знают что это такое.
Специально для вас...
Если тут читать не удобно, можете скачать проект
Код:
Многие спрашивали меня , как сделать перебрут ошибок, а многие вообще не знают что это такое.
Специально для вас...
Если тут читать не удобно, можете скачать проект
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
Код:
procedure TForm1.BrutRecurs;
begin
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
if Pos('balance', ipsHTTPS1.TransferredData) = 0 then // Если сервер не вернул ответ содержащий нужное нам слово
BrutRecurs; // переходим к процедуре BrutRecurs
end;
procedure TForm1.BrutRecursMaxReb(kr, Maxkr: integer);
begin
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
if (Pos('balance', ipsHTTPS1.TransferredData) = 0) and (kr <> Maxkr) then // Если сервер не вернул ответ содержащий нужное нам слово
BrutRecursMaxReb(kr + 1, Maxkr); // и переменная kr не равна Maxkr
// переходим к процедуре BrutRecursMaxReb
// (kr+1 - Увеличиваем kr на 1, Maxkr- макс. кол-во ребрутов не изменяем.)
end;
procedure TForm1.Button1Click(Sender: TObject);
label
LBbalanc;
label
LBbalancMaxReb;
var
ct, maxReb: Integer;
begin
//1
repeat
ipsHTTPS1.CookieCount := 0; // Обнуляем куки если нужно. (вбщм. делаем так что-бы 2ой, 3ий , и тп запрос был как 1вый)
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
until Pos('balance', ipsHTTPS1.TransferredData) > 0; // Выполняем цикл пока сервер не вернет ответ содержащий нужное нам слово
//2
LBbalanc: // метка LBbalanc
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
if Pos('balance', ipsHTTPS1.TransferredData) = 0 then // Если сервер не вернул ответ содержащий нужное нам слово
goto LBbalanc; // переходим к метке LBbalanc
//3
BrutRecurs; // Переходим к рекурсивной процедуре
// Это самые простые варианты перебрута ошибок.
// Можно объявить переменную и после каждого
// запроса увеличивать её, затем сравнивать с другим значением ,
// т.е сделать ограничение перебрутов.
// Примеры:
// 1
maxReb := 3; // Максимальное кол-во перебрутов
ct := 0; // Обнуляем переменную ct
repeat
ipsHTTPS1.CookieCount := 0; // Обнуляем куки если нужно. (вбщм. делаем так что-бы 2ой, 3ий , и тп запрос был как 1вый)
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
Inc(ct); // Увеличиваем ct переменную на 1
until (Pos('balance', ipsHTTPS1.TransferredData) > 0) or (ct = maxReb); // Выполняем цикл пока сервер не вернет
// ответ содержащий нужное нам слово или
// переменная ct не станет равна maxReb
// 2
maxReb := 3;
ct := 0;
LBbalancMaxReb: // метка LBbalancMaxReb
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
Inc(ct);
if (Pos('balance', ipsHTTPS1.TransferredData) = 0) and (ct <> maxReb) then // Если сервер не вернул ответ содержащий нужное нам слово
goto LBbalancMaxReb; // и переменная ct не равна maxReb
// переходим к метке LBbalancMaxReb
// 3
BrutRecursMaxReb(0, 3) // Переходим к рекурсивной процедуре(0-счетчик , 3- макс. кол-во перебутов)
end;
© 77PixelS
begin
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
if Pos('balance', ipsHTTPS1.TransferredData) = 0 then // Если сервер не вернул ответ содержащий нужное нам слово
BrutRecurs; // переходим к процедуре BrutRecurs
end;
procedure TForm1.BrutRecursMaxReb(kr, Maxkr: integer);
begin
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
if (Pos('balance', ipsHTTPS1.TransferredData) = 0) and (kr <> Maxkr) then // Если сервер не вернул ответ содержащий нужное нам слово
BrutRecursMaxReb(kr + 1, Maxkr); // и переменная kr не равна Maxkr
// переходим к процедуре BrutRecursMaxReb
// (kr+1 - Увеличиваем kr на 1, Maxkr- макс. кол-во ребрутов не изменяем.)
end;
procedure TForm1.Button1Click(Sender: TObject);
label
LBbalanc;
label
LBbalancMaxReb;
var
ct, maxReb: Integer;
begin
//1
repeat
ipsHTTPS1.CookieCount := 0; // Обнуляем куки если нужно. (вбщм. делаем так что-бы 2ой, 3ий , и тп запрос был как 1вый)
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
until Pos('balance', ipsHTTPS1.TransferredData) > 0; // Выполняем цикл пока сервер не вернет ответ содержащий нужное нам слово
//2
LBbalanc: // метка LBbalanc
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
if Pos('balance', ipsHTTPS1.TransferredData) = 0 then // Если сервер не вернул ответ содержащий нужное нам слово
goto LBbalanc; // переходим к метке LBbalanc
//3
BrutRecurs; // Переходим к рекурсивной процедуре
// Это самые простые варианты перебрута ошибок.
// Можно объявить переменную и после каждого
// запроса увеличивать её, затем сравнивать с другим значением ,
// т.е сделать ограничение перебрутов.
// Примеры:
// 1
maxReb := 3; // Максимальное кол-во перебрутов
ct := 0; // Обнуляем переменную ct
repeat
ipsHTTPS1.CookieCount := 0; // Обнуляем куки если нужно. (вбщм. делаем так что-бы 2ой, 3ий , и тп запрос был как 1вый)
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
Inc(ct); // Увеличиваем ct переменную на 1
until (Pos('balance', ipsHTTPS1.TransferredData) > 0) or (ct = maxReb); // Выполняем цикл пока сервер не вернет
// ответ содержащий нужное нам слово или
// переменная ct не станет равна maxReb
// 2
maxReb := 3;
ct := 0;
LBbalancMaxReb: // метка LBbalancMaxReb
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
Inc(ct);
if (Pos('balance', ipsHTTPS1.TransferredData) = 0) and (ct <> maxReb) then // Если сервер не вернул ответ содержащий нужное нам слово
goto LBbalancMaxReb; // и переменная ct не равна maxReb
// переходим к метке LBbalancMaxReb
// 3
BrutRecursMaxReb(0, 3) // Переходим к рекурсивной процедуре(0-счетчик , 3- макс. кол-во перебутов)
end;
© 77PixelS