private void PrepareWork()
 {
     foreach (string Username in usernames)
     {
         foreach (string Password in passwords)
         {
             CreateWebrequest webRequest = new CreateWebrequest();
             webRequest.BasicUser = Username;
             webRequest.BasicPass = Password;
             if (Authentication == AuthenticationMethods.BasicAuth)
             {
                 webRequest.URL = url;
                 webRequest.UseBasicAuthentication = true;
             }
             else
             {
                 webRequest.URL = authForm.Action;
                 if (authForm.Method == AuthenticationForm.Methods.GET)
                 {
                     webRequest.URL = BuildGET(authForm.Action, authForm.InputFields, Username, Password);
                 }
                 else
                 {
                     webRequest.POST = BuildPOST(authForm.InputFields, Username, Password);
                 }
             }
             Work.Enqueue(webRequest);
         }
     }
 }
        private void ValidateRequest(CreateWebrequest webRequest)
        {
            bool succeeded = false;

            try
            {
                string HTML = webRequest.StringGetWebPage();
                if (successFilter.Condition == Filter.Conditions.HTMLContains)
                {
                    succeeded = HTML.Contains(successFilter.Text);
                }
                else if (successFilter.Condition == Filter.Conditions.HTMLContainsNot)
                {
                    succeeded = !HTML.Contains(successFilter.Text);
                }
                else if (successFilter.Condition == Filter.Conditions.RegularExpression)
                {
                    Regex regex = new Regex(successFilter.Text);
                    Match match = regex.Match(HTML);
                    succeeded = match.Success;
                }

                if (webRequest.Response != null)
                {
                    if (successFilter.Condition == Filter.Conditions.StatusCodeIs)
                    {
                        succeeded = ((int)webRequest.Response.StatusCode == Convert.ToInt32(successFilter.Text));
                    }
                    else if (successFilter.Condition == Filter.Conditions.StatusCodeIsNot)
                    {
                        succeeded = ((int)webRequest.Response.StatusCode != Convert.ToInt32(successFilter.Text));
                    }
                }
            }
            catch (Exception)
            {
            }

            if (succeeded)
            {
                ValidCombination validCombination = new ValidCombination();
                validCombination.Username = webRequest.BasicUser;
                validCombination.Password = webRequest.BasicPass;
                validCombinations.Add(validCombination);
            }
        }
 private void ThreadFunction()
 {
     while (true)
     {
         CreateWebrequest webRequest = GetWebRequest();
         if (webRequest != null && !userStopped)
         {
             ValidateRequest(webRequest);
         }
         else
         {
             Thread.Sleep(2500);
             finished = true;
             break;
         }
     }
 }
        private void ValidateRequest(CreateWebrequest webRequest)
        {
            bool succeeded = false;
            try
            {
                string HTML = webRequest.StringGetWebPage();
                if (successFilter.Condition == Filter.Conditions.HTMLContains)
                    succeeded = HTML.Contains(successFilter.Text);
                else if (successFilter.Condition == Filter.Conditions.HTMLContainsNot)
                    succeeded = !HTML.Contains(successFilter.Text);
                else if (successFilter.Condition == Filter.Conditions.RegularExpression)
                {
                    Regex regex = new Regex(successFilter.Text);
                    Match match = regex.Match(HTML);
                    succeeded = match.Success;
                }

                if (webRequest.Response != null)
                {
                    if (successFilter.Condition == Filter.Conditions.StatusCodeIs)
                        succeeded = ((int)webRequest.Response.StatusCode == Convert.ToInt32(successFilter.Text));
                    else if (successFilter.Condition == Filter.Conditions.StatusCodeIsNot)
                        succeeded = ((int)webRequest.Response.StatusCode != Convert.ToInt32(successFilter.Text));
                }
            }
            catch (Exception)
            {
            }

            if (succeeded)
            {
                ValidCombination validCombination = new ValidCombination();
                validCombination.Username = webRequest.BasicUser;
                validCombination.Password = webRequest.BasicPass;
                validCombinations.Add(validCombination);
            }
        }
 private void PrepareWork()
 {
     foreach (string Username in usernames)
     {
         foreach (string Password in passwords)
         {
             CreateWebrequest webRequest = new CreateWebrequest();
             webRequest.BasicUser = Username;
             webRequest.BasicPass = Password;
             if (Authentication == AuthenticationMethods.BasicAuth)
             {
                 webRequest.URL = url;
                 webRequest.UseBasicAuthentication = true;
             }
             else
             {
                 webRequest.URL = authForm.Action;
                 if (authForm.Method == AuthenticationForm.Methods.GET)
                     webRequest.URL = BuildGET(authForm.Action, authForm.InputFields, Username, Password);
                 else
                     webRequest.POST = BuildPOST(authForm.InputFields, Username, Password);
             }
             Work.Enqueue(webRequest);
         }
     }
 }