python 批量扫描mongodb 未授权访问脚本

需要 pymongo库
easy_install pymongo
脚本:

import socket
import sys
import pymongo

ipcons = []
def Scanner(ip):
    global ipcons
    sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sk.settimeout(0.3)
    try:
        sk.connect((ip,27017))
        ipcons.append(ip)
        sk.close()
    except Exception:
        pass

def ip2num(ip):
    ip=[int(x) for x in ip.split(‘.‘)]
    return ip[0] <<24 | ip[1]<<16 | ip[2]<<8 |ip[3]

def num2ip(num):
    return ‘%s.%s.%s.%s‘ %( (num & 0xff000000) >>24,
                                (num & 0x00ff0000) >>16,
                                (num & 0x0000ff00) >>8,
                                num & 0x000000ff )

def get_ip(ip):
    start,end = [ip2num(x) for x in ip.split(‘ ‘) ]
    return [ num2ip(num) for num in range(start,end+1) if num & 0xff ]

startIp = sys.argv[1]
endIp = sys.argv[2]
iplist = get_ip(sys.argv[1]+" "+sys.argv[2])
for i in iplist:
    Scanner(i)

def connMon(ip_addr):
    print ‘ Connect mongodb: ‘ + ip_addr + ‘:27017‘
    try:
        conn = pymongo.MongoClient(ip_addr,27017,socketTimeoutMS=3000)
        dbname = conn.database_names()
        print "success"
    except Exception as e:
        print "error"

print ipcons
for ipaddr in ipcons:
    connMon(ipaddr)
    print "================="

  

时间: 2024-08-09 04:55:25

python 批量扫描mongodb 未授权访问脚本的相关文章

未授权访问总结学习

fastcgi(9000端口): 以下这段话摘自p神 Fastcgi其实是一个通信协议,和HTTP协议一样,都是进行数据交换的一个通道. HTTP协议是浏览器和服务器中间件进行数据交换的协议,浏览器将HTTP头和HTTP体用某个规则组装成数据包,以TCP的方式发送到服务器中间件,服务器中间件按照规则将数据包解码,并按要求拿到用户需要的数据,再以HTTP协议的规则打包返回给服务器. 类比HTTP协议来说,fastcgi协议则是服务器中间件和某个语言后端进行数据交换的协议.Fastcgi协议由多个r

Redis 未授权访问漏洞(附Python脚本)

0x01 环境搭建 #下载并安装 cd /tmp wget http://download.redis.io/releases/redis-2.8.17.tar.gz tar xzf redis-2.8.17.tar.gz cd redis-2.8.17 make #启动redis服务 cd src ./redis-server 启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了. 比如: [email protected]:/tmp/redis-2.8.

Redis 未授权访问缺陷可轻易导致系统被黑

Redis 未授权访问缺陷可轻易导致系统被黑 漏洞概要 Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将Redis服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据.攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器. 漏洞概述 Redis

Redis 未授权访问缺陷可轻易导致系统被黑【SSV-89715】

参考链接:https://www.sebug.net/vuldb/ssvid-89715 攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器. 环境: KaLi:192.168.2.162 CentOS:192.168.2.32 CentOS部署了redis数据库 步骤: 1.在Kali上生成密钥对: 命令:ssh-keygen -t rsa 2

Redis未授权访问漏洞分析

catalog 1. Redis简介 2. 漏洞概述 3. 漏洞利用方式 4. 修复方式 1. Redis简介 Relevant Link: http://www.cnblogs.com/LittleHann/p/3901588.html 2. 漏洞概述 Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据.攻击者在未授权访

Redis未授权访问缺陷让服务器沦为肉鸡

阿里云的安全告警邮件内容: 在没有查到异常进程之前我是先把操作系统的带宽&端口用iptables 做了限制这样能保证我能远程操作服务器才能查找原因. 在各种netstat –ntlp  的查看下没有任何异常.在top 下查到了有异常进程还有些异常的这里就截图一个: 结果果断把进程给kill-9  了  没想到再去ps的时候又来了意思就是会自动启动它.这就让我想到了crond 这个自动任务果不其然/var/sprool/cron/root 这个文件被人做了手脚而且是二进制的,果断又给删除了,以为这

Memcached 未授权访问漏洞及加固

memcached是一套分布式的高速缓存系统.它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的.正因为内存中数据的读取远远大于硬盘,因此可以用来加速应用的访问. 漏洞成因: 由于memcached安全设计缺陷,客户端连接memcached服务器后 无需认证就 可读取.修改服务器缓存内容. 漏洞影响: 除memcached中数据可被直接读取泄漏和恶意修改外,由于memcached中的数据像正常网站用户访问提交变量一样会被后端代码处理,当处理代码存在缺陷时会再次导

X-SCAN扫描器插件(MYSQL弱口令以及Mongodb未授权)

因为在很多时候的内网扫描里面没有授权的WIN的好用的,稍微小点的弱口令扫描器(生成报告,多种服务),编译成了插件,再自己弄了个MONGODB的扫描插件用着. X-SCAN加载以后: MONGODB.plug: MYSQL.plug: 扫描: X-SCAN Scan Plugs1.MYSQL弱口令扫描2.MONGODB未授权扫描 X-SCAN下载:http://www.xfocus.net/tools/200507/1057.html SDK:http://www.xfocus.net/proje

Redis未授权访问

最近在做校招题目的时候发现有问到未授权访问,特此搭建了诸多未授权访问的环境并且一一复现并做简单总结.再此记录下来 环境介绍 0x00环境搭建 我这里用到的是Microsoft(R) Windows(R) Server 2003, Enterprise Edition 32位服务器,所以下载的是32位的redis,如果是64位的请下载对应的版本 下载地址:https://github.com/MSOpenTech/redis/releases. 下载下来的压缩包将其放入C盘根目录,重命名为Redi