2012-04-04 74 views
0

我想在C#中編寫一個代碼,在C#中執行蠻力攻擊到我的臨時網頁,以嘗試破解登錄系統。 事情是這樣的:C#火狐Webbrowser裏面的方法

private void buttonHack_Click(object sender, EventArgs e) 
    { 
     while (!found) 
     { 
      textBox_pw.Text = guess; 
      guesser.NextGuess(); 

      webBrowser1.Document.GetElementById("user_id").SetAttribute("value", textBox_ID.Text); 
      webBrowser1.Document.GetElementById("password").SetAttribute("value", textBox_pw.Text); 
      webBrowser1.Navigate("javascript:enter();"); 

      guess = new String(guesser.CurrentGuess); 
     } 
    } 

// '猜測' 和 '猜測者' 是爲攻擊BF。

但顯然WebBrowser不會'發射'直到它被稱爲返回內部的方法。我試圖將while循環中的部分放入Webbrowser_DocumentCompleted事件中,以便它真正地循環(就像頁面加載完成後一次又一次一樣......)但是這種方式有其問題,如if頁面文檔會快速完成,然後跳過代碼的其餘部分並轉到DocumentCompleted方法的頂部,結果會造成怪異! 那麼任何整潔的想法如何解決它?

回答

0

你不能像這樣做一個循環,因爲.Navigate是一個異步方法。您需要在brwoser控件上訂閱DocumentCompleted事件並在那裏完成您的工作。

此外,我不確定wheter.Navigate將採取javascipt:位置。

+0

是的,我已經嘗試了幾次,但有它自己的缺點.. 而關於javascripts,。導航確實採取'他們。 – Emil 2012-04-04 16:21:49

+0

那麼下次再提一下你在你的問題中試過的。 – 2012-04-04 16:22:45

+0

我根據你的要求編輯它;) – Emil 2012-04-04 16:29:35

2

一般來說,蠻力攻擊不是通過操縱網頁本身來完成的,而是通過生成到服務器的流量來完成憑證驗證(除非你在客戶端上驗證了這種情況,在這種情況下,一個簡單的JavaScript代碼審查就足夠了)。

編寫的代碼模仿webbroser控件與服務器的交互(以便挖掘受SSL保護的通信)。