Advertisement
Guest User

Untitled

a guest
Apr 18th, 2015
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.58 KB | None | 0 0
  1. private bool LogIn()
  2.         {
  3.             string lgnSrc = webHelper.DownloadStuff(MainUrl + "wp-login.php");
  4.             int crackedNumber = this.CrackCaptcha(lgnSrc);
  5.             if (crackedNumber == -1) return false;
  6.             string cptchResult = Regex.Match(lgnSrc, "name=(?:\"|')cptch_result(?:\"|') value=(?:\"|')(?<result>[^\"']+)(?:\"|')").Groups["result"].Value;
  7.  
  8.             string fulladdress = MainUrl.Replace("http://", "").Replace("/", "");
  9.             string username = HttpUtility.UrlEncode(UserName);
  10.             string password = HttpUtility.UrlEncode(PassWord);
  11.  
  12.             string formdata = "log=" + HttpUtility.UrlEncode(UserName) + "&pwd=" + HttpUtility.UrlEncode(PassWord) + "&cptch_result=" + HttpUtility.UrlEncode(cptchResult) + "&cptch_number=" + crackedNumber + "&rememberme=forever&wp-submit=Log+In&redirect_to=http%3A%2F%2F300mblinks.com%2Fwp-admin%2F&testcookie=1";
  13.             formdata = string.Format(formdata, username, password, fulladdress);
  14.             IPHostEntry entry = Dns.GetHostEntry(fulladdress);
  15.  
  16.             NetworkStream networkStream;
  17.             string responseStr = string.Empty;
  18.             using (TcpClient client = new TcpClient(fulladdress, 80))
  19.             {
  20.                 client.SendTimeout = 30000;
  21.                 client.ReceiveTimeout = 30000;
  22.  
  23.                 client.Client.Send(new ASCIIEncoding().GetBytes("POST " + MainUrl + "wp-login.php HTTP/1.1\nHost: 300mblinks.com\nConnection: close\nContent-Type: application/x-www-form-urlencoded\nContent-Length: " + formdata.Length + "\n\n" + formdata));
  24.  
  25.                 networkStream = client.GetStream();
  26.  
  27.                 byte[] buffer = new byte[6666];
  28.  
  29.                 System.Threading.Thread.Sleep(1000);
  30.  
  31.                 int bytesRead = networkStream.Read(buffer, 0, buffer.Length);
  32.                 responseStr = Encoding.ASCII.GetString(buffer, 0, bytesRead);
  33.             }
  34.  
  35.             List<String> cookieHeaders = new List<string>();
  36.             foreach (string header in responseStr.Split("\n\r".ToCharArray(), StringSplitOptions.RemoveEmptyEntries))
  37.             {
  38.                 if (header.StartsWith("Set-Cookie"))
  39.                 {
  40.                     cookieHeaders.Add(header.Replace("Set-Cookie: ", ""));
  41.                 }
  42.             }
  43.  
  44.             CookieContainer jar = new CookieContainer();
  45.             foreach (string cook in cookieHeaders)
  46.             {
  47.                 string name, value, path, domain;
  48.                 name = value = path = domain = "";
  49.  
  50.                 string[] split = cook.Split(';');
  51.                 foreach (string part in split)
  52.                 {
  53.                     if (part.StartsWith(" path="))
  54.                     {
  55.                         path = part.Replace(" path=", "").Trim();
  56.                     }
  57.                     if (part.StartsWith(" domain="))
  58.                     {
  59.                         domain = part.Replace(" domain=", "").Trim();
  60.                     }
  61.                     if (!part.StartsWith(" path=") && !part.StartsWith(" domain=") && part.Contains("=") && !part.Contains("expires"))
  62.                     {
  63.                         name = part.Split('=')[0].Trim();
  64.                         value = part.Split('=')[1].Trim();
  65.                     }
  66.                 }
  67.  
  68.                 Cookie cookie = new Cookie(name, value, path, fulladdress);
  69.                 jar.Add(cookie);
  70.             }
  71.  
  72.             webHelper.SetCookieContainer(jar);
  73.             string src = webHelper.DownloadStuff(MainUrl);
  74.             if (!src.Contains("Howdy, " + UserName)) return false;
  75.  
  76.             return true;
  77.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement