如何用Python批量发现互联网“开放”摄像头-阿里云开发者社区

开发者社区> 大数据文摘> 正文
登录阅读全文

如何用Python批量发现互联网“开放”摄像头

简介: 第一个“海康威视”: 前段时间爆出海康威视的摄像头存在默认弱口令的问题,那么就先收集下信息。 关于获取IP:可以shodan,zoomeye之类的去搜索或者调用API批量获取,关键词“Hikvision-Webs”,关于其他的关键词可以自行挖掘…也可以进行端口扫描使用nmap或者s扫描器之内的 通过shodan我发现大多数设备开发了80 81 8080 82 之内的端口,那么你就可以使用端口扫描工具扫描这些端口 接下来咱们要登陆并且获取登陆信息用于后面的python。

0?wx_fmt=jpeg


第一个“海康威视”:

前段时间爆出海康威视的摄像头存在默认弱口令的问题,那么就先收集下信息。

关于获取IP:可以shodan,zoomeye之类的去搜索或者调用API批量获取,关键词“Hikvision-Webs”,关于其他的关键词可以自行挖掘…也可以进行端口扫描使用nmap或者s扫描器之内的

通过shodan我发现大多数设备开发了80 81 8080 82 之内的端口,那么你就可以使用端口扫描工具扫描这些端口

接下来咱们要登陆并且获取登陆信息用于后面的python。我随便打开了一个。试试弱口令 admin/12345

0?wx_fmt=jpeg   

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

0?wx_fmt=jpeg   

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

0?wx_fmt=jpeg   

那么我们就利用这个页面来写python。

代码实现:

0?wx_fmt=jpeg   

大致就是使用requests去访问/PSIA/System/deviceInfo这个页面并使用re正则去获取信息。

接下来实现一个简单的多线程:

0?wx_fmt=jpeg   

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

0?wx_fmt=jpeg   


经过一大串废话,关于海康威视就这样吧。接着看下一个。

第二个 “汉邦高科”:

也是一样有着默认弱口令问题:admin/888888(你要问我怎么知道的?你打开某度搜索汉邦高科默认密码,我相信你可以的)

与之前一样咱们先去找找IP,用shodan搜索NVR Webserver

0?wx_fmt=jpeg   

嗯,可以尝试扫扫这些端口…

随便打开一个,尝试默认的弱口令admin/888888

0?wx_fmt=jpeg   

0?wx_fmt=jpeg   

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

代码:

第一种可以与之前一样

0?wx_fmt=jpeg   

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

第二种

0?wx_fmt=jpeg   


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

0?wx_fmt=jpeg   

就这么几十行简单的代码就搞定了,这对于新手朋友来说简单粗爆,容易看懂。对于代码的改进…可以自己修改…

原文发布时间为:2017-04-12

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: