如何用Python批量发现互联网“开放”摄像头
现在无论家用还是公司使用摄像头越来越多,但是安全性又如何呐?今天我来说说几款比较常用的摄像头,并且使用python如何批量检查弱口令。
第一个“海康威视”:
前段时间爆出海康威视的摄像头存在默认弱口令的问题,那么就先收集下信息。
关于获取IP:可以shodan,zoomeye之类的去搜索或者调用API批量获取,关键词“Hikvision-Webs”,关于其他的关键词可以自行挖掘…也可以进行端口扫描使用nmap或者s扫描器之内的
通过shodan我发现大多数设备开发了80 81 8080 82 之内的端口,那么你就可以使用端口扫描工具扫描这些端口
接下来咱们要登陆并且获取登陆信息用于后面的python。我随便打开了一个。试试弱口令 admin/12345

通过代码发现,PSIA/System/deviceInfo可以获取设备的信息。

需要进行验证,账号密码与之前的一样

那么我们就利用这个页面来写python。
代码实现:

大致就是使用requests去访问/PSIA/System/deviceInfo这个页面并使用re正则去获取信息。
接下来实现一个简单的多线程:

当然如果有人修改密码,也可以写一个弱口令列表进行扫描:

经过一大串废话,关于海康威视就这样吧。接着看下一个。
第二个 “汉邦高科”:
也是一样有着默认弱口令问题:admin/888888(你要问我怎么知道的?你打开某度搜索汉邦高科默认密码,我相信你可以的)
与之前一样咱们先去找找IP,用shodan搜索NVR Webserver

嗯,可以尝试扫扫这些端口…
随便打开一个,尝试默认的弱口令admin/888888


灰尘简单的就进来了。。。接着查看代码。。发现获取设备信息的地址都差不多/ISAPI/System/deviceInfo,而且还不要验证
代码:
第一种可以与之前一样

直接获取…但是如果有人修改密码肿么办呢
第二种

接下来就是多线程(其实和之前差不多一样…套进去用就行= =):

就这么几十行简单的代码就搞定了,这对于新手朋友来说简单粗爆,容易看懂。对于代码的改进…可以自己修改…
对于其他牌子的摄像头,大家可以自行摸索。。基本都差不多。
如何用Python批量发现互联网“开放”摄像头的更多相关文章
- 如何用python批量生成真实的手机号码
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Python测试社区 1目 标 场 景 平时在工作过程中,偶尔会需要大 ...
- 如何用python批量翻译文本?
首先,看一下百度翻译的官方api文档. http://api.fanyi.baidu.com/api/trans/product/apidoc # coding=utf-8 #authority:bi ...
- 如何用Python从海量文本抽取主题?
摘自https://www.jianshu.com/p/fdde9fc03f94 你在工作.学习中是否曾因信息过载叫苦不迭?有一种方法能够替你读海量文章,并将不同的主题和对应的关键词抽取出来,让你谈笑 ...
- 如何用python抓取js生成的数据 - SegmentFault
如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...
- 用Python批量下载DACC的MODIS数据
本人初次尝试用Python批量下载DACC的MODIS数据,记下步骤,提醒自己,数据还在下载,成功是否未知,等待结果中...... 若有大佬发现步骤有不对之处,望指出,不胜感激. 1.下载Python ...
- 小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码)
小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码) Python 被称为是最接近 AI 的语言.最近一位名叫Anna-Lena Popkes的小姐姐在GitHub上分享了自己如何使用P ...
- 如何用python“优雅的”调用有道翻译?
前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js“斗争”的过程! 当然,本文仅 ...
- Python批量修改Excel中的文件内容
import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join ...
- python批量添加hexo文章封面
❝ 本文需要工具: 「excel」 「python3.x」 ❞ 今天突然觉得,我的博客的文章更新这么多了竟然还没有一个封面,觉得首页相当低调了- 首页 正好皮肤带有文章封面功能,所以我觉得要将文章批量 ...
随机推荐
- 【贪心优化dp决策】bzoj1571: [Usaco2009 Open]滑雪课Ski
还有贪心优化dp决策的操作…… Description Farmer John 想要带着 Bessie 一起在科罗拉多州一起滑雪.很不幸,Bessie滑雪技术并不精湛. Bessie了解到,在滑雪场里 ...
- The Three Day
函数基础-练习 #.写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作 # def modify_file(filename,old,new): # import os # w ...
- Spring中使用注解 @Scheduled 执行定时任务
来自:http://blog.51cto.com/dwf07223/1557145 注解@Scheduled 可以作为一个触发源添加到一个方法中,例如,以下的方法将以一个固定延迟时间5秒钟调用一次执行 ...
- C++基本数据类型占字节数
32位编译器 char :1个字节char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节.同理64位编译器)short int : 2个字节int: 4个 ...
- JavaScript正则表达式-定义
通过RegExp()构造函数创建RegExp对象来定义正则表达式. var reg_pattern = new RegExt("a\d"); 通过字面语法直接定义正则表达式. va ...
- Java技术——Java中的内存泄漏
. OOM的常见类型 按照JVM规范,JAVA虚拟机在运行时会管理以下的内存区域: 程序计数器:当前线程执行的字节码的行号指示器,线程私有. JAVA虚拟机栈:Java方法执行的内存模型,每个Java ...
- BRVAH(让RecyclerView变得更高效) (2)
本文来自网易云社区 作者:吴思博 1.2 宫格和列表的混排样式 关于 Grid 和List 的混排样式,Grid 样式是一行有多个,而 List样式是一行只有一个. 我们可以把 List 样式看成是G ...
- PHP 获取文件名和扩展名的方法
dirname(path) path: 代表你的文件路径,必须为绝对路径,可以使用__FILE__, 表示列出当前文件的绝对路径,包含文件名 函数会返回当前文件的上一级路径,也就是除了文件名称的路径 ...
- ActionProxy相关实现类
package com.opensymphony.xwork2; import com.opensymphony.xwork2.config.Configuration; import com.ope ...
- DefaultActionInvocation 源码
/** * Copyright 2002-2006,2009 The Apache Software Foundation. * * Licensed under the Apache License ...