当前位置: 首页 > news >正文

动态视频素材网站建设部咨询资质网站

动态视频素材网站,建设部咨询资质网站,常州app网站,帮人做微信是哪个网站Python武器库开发-武器库篇之Mongodb未授权漏洞扫描器(五十六) MongoDB 未授权访问漏洞简介以及危害 MongoDB是一款非常受欢迎的开源NoSQL数据库,广泛应用于各种Web应用和移动应用中。然而,由于默认配置的不当或者管理员的疏忽,导致不少Mon…

Python武器库开发-武器库篇之Mongodb未授权漏洞扫描器(五十六)

MongoDB 未授权访问漏洞简介以及危害

MongoDB是一款非常受欢迎的开源NoSQL数据库,广泛应用于各种Web应用和移动应用中。然而,由于默认配置的不当或者管理员的疏忽,导致不少MongoDB数据库处于未授权访问的状态,从而产生了潜在的安全风险。

未授权访问漏洞指的是在MongoDB数据库中,没有设置正确的访问控制权限,导致攻击者可以直接访问数据库,获取或者修改敏感数据。这种漏洞的出现主要有以下几个原因:

  1. 默认配置问题:MongoDB在默认情况下是没有开启身份验证机制的,这就意味着任何人都可以直接连接数据库并执行操作。

  2. 管理员疏忽:在配置MongoDB时,管理员没有设置访问控制权限,或者设置了弱密码,容易被攻击者猜测或者暴力破解。

  3. 数据库暴露:有些MongoDB数据库直接暴露在公网上,没有进行网络隔离或者访问限制,这样攻击者可以直接访问数据库。

攻击者可以通过扫描公网IP或者进行端口强行连接的方式,探测MongoDB数据库是否存在未授权访问漏洞。一旦发现漏洞,攻击者可以通过数据库的各种操作命令,获取、修改或者删除数据库中的数据。这对于企业来说是非常危险的,可能导致重要数据的泄露或者篡改。

开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以通过默认端⼝⽆需密码对数据库任意操作(增、删、改、查高危动作)而且可以远程访问数据库。

造成未授权访问的根本原因就在于启动 Mongodb 的时候未设置 --auth ,也很少会有人会给数据库添加上账号密码(默认空口令),使⽤默认空口令这将导致恶意攻击者无需进行账号认证就可以登陆到数据服务器。

环境搭建

主机IP
kali192.168.41.132

在这⾥我们使⽤kali搭建Mongodb未授权环境,在Kali Linux上安装MongoDB并配置为未授权访问有以下步骤:

  1. 打开终端并执行以下命令以安装MongoDB:
sudo apt update
sudo apt install mongodb

在这里插入图片描述

  1. 安装完成后,MongoDB会自动启动。您可以使用以下命令检查MongoDB是否正在运行:
sudo systemctl status mongodb

在这里插入图片描述

  1. 确认MongoDB正在运行后,打开配置文件:
sudo nano /etc/mongodb.conf

在配置文件中找到bind_ip行并将其注释或将其更改为0.0.0.0,这将允许从任何IP地址访问MongoDB。

在这里插入图片描述

  1. 然后保存并关闭配置文件,在nano中保存并关闭配置文件的方法是按下Ctrl+O组合键,然后按下Enter键来保存文件,最后按下Ctrl+X组合键来关闭nano编辑器。然后重新启动MongoDB服务:
sudo systemctl restart mongodb

在这里插入图片描述

现在,MongoDB已经配置为允许未授权访问。

实验代码

首先,请确保已经安装了pymongo库,可以使用以下命令进行安装:

pip install pymongo

接下来我们用python写一段测试Mongodb未授权漏洞的代码,代码内容如下:

import pymongo# 设置MongoDB连接参数
host = "host"  # MongoDB的IP地址
port = 27017  # MongoDB的端口# 尝试连接MongoDB
try:client = pymongo.MongoClient(host, port, serverSelectionTimeoutMS=2000)db = client.admin# 使用isMaster命令检查是否授权访问response = db.command('ismaster')if response['ok'] == 1:print("MongoDB 未授权访问漏洞存在")else:print("MongoDB 未授权访问漏洞不存在")
except pymongo.errors.ServerSelectionTimeoutError as err:print("MongoDB连接失败:", err)

在代码中,我们使用pymongo库连接到MongoDB实例,并尝试执行isMaster命令来检查是否授权访问。如果成功执行,说明存在未授权访问漏洞,否则说明不存在此漏洞。

这段代码是用来检测MongoDB是否存在未授权访问漏洞的。

首先,通过import pymongo导入了pymongo库,这是一个用于连接和操作MongoDB数据库的Python库。

然后,定义了MongoDB的连接参数hostport,分别表示MongoDB的IP地址和端口。

接下来,使用pymongo.MongoClient方法尝试连接MongoDB,其中传入了hostport以及serverSelectionTimeoutMS=2000参数。serverSelectionTimeoutMS参数用于设置服务器选择超时时间,如果在指定时间内无法连接到MongoDB,则会抛出pymongo.errors.ServerSelectionTimeoutError异常。

如果成功连接到MongoDB,会将连接对象赋值给client变量,然后选择admin数据库并将其赋值给db变量。

然后,使用db.command('ismaster')命令检查是否授权访问。ismaster命令用于返回MongoDB服务器的状态信息,如果返回的字典中ok键的值为1,则表示成功连接并授权访问;如果ok键的值不为1,则表示存在未授权访问漏洞。

最后,根据返回的状态信息输出相应的结果,如果ok值为1,则表示存在未授权访问漏洞,否则表示不存在未授权访问漏洞。

如果在连接过程中出现了pymongo.errors.ServerSelectionTimeoutError异常,则说明连接失败,会输出连接失败的信息。

运行效果

如图我们的代码成功测试出了目标服务器上存在Mongodb未授权漏洞。

在这里插入图片描述

http://www.yayakq.cn/news/175686/

相关文章:

  • 网站开发项目实训自己注册公司流程和费用多少
  • 123883网站化妆品购物网站模板下载
  • 上海网站开发caiyiduo视频直播网站怎么做
  • 福清市建设局网站多少个性定制平台
  • 中国建设银行东营分行网站wordpress plugins权限
  • 阿里巴巴网站建设的功能定位文案策划的网站
  • 深圳企业网站建设哪家好黄页网站是什么
  • 通栏网站群辉NAS搭建wordpress
  • 室内设计师网站大全ai效果图制作教程
  • 企业网站模板php建设网站所用开发软件
  • 建设一个视频网站需要什么时候开始有哪些网站可以做推广包包
  • 什么样建广告网站网站主页被做跳转
  • 济南做网站建设wordpress apache配置文件
  • 网站被百度降权wordpress 要求ftp
  • 站长工具查询广东网站设计有名的公司
  • 网站实名认证怎么做网站地图插件
  • 免费做网站站标无锡网站制作推荐
  • 固原网站建设淘宝客网站怎么备案
  • 广州联享品牌网站建设水果网站建设计划书
  • 什么是网站静态化wordpress主题 外贸网站模板
  • 江西省住房和城乡建设厅的网站asp网站500错误iis7
  • 网站开发用什么配置电脑网站建设 php
  • c2c电商网站有哪些新主题 老版本 wordpress
  • h5个人网站源码台州网站排名优化公司
  • 仿网站的ppt怎么做php做网站图集
  • 开源课程 视频网站模板网站建设基本流程ppt
  • 医疗器械网站备案前置审批事例大型网站的优化方法
  • 东莞免费建站在线咨询wordpress上传主题413
  • 南宁网站开发php做的一个网站
  • 网站建设的主要内容包括企业内部门户网站建设方案