我正在尝试用 C# 编写代码,对我的临时网页实施蛮力攻击,以尝试破解登录系统。像这样的东西:
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);
}
}
// 'guess' 和 'guesser' 用于 BF 攻击。
但显然 WebBrowser 在返回内部调用它的方法之前不会“触发”。我试图将 while 循环中的部分放入 Webbrowser_DocumentCompleted 事件中,这样它就会真正循环(当页面加载完成时,然后一次又一次地做同样的事情......)但是这种方式有它的问题,比如 if页面文档快速完成,然后它跳过其余代码并转到 DocumentCompleted 方法的顶部,结果很奇怪!!!那么任何巧妙的想法如何解决它?