玄机应急:Apache日志分析Mysql应急Redis应急

目录

第二章:Linux的Apache日志分析

1、提交当天访问次数最多的IP,即黑客IP

2、黑客使用的浏览器指纹是什么,提交指纹的md5

3、查看index.php页面被访问的次数,提交次数:

4、查看黑客IP访问了多少次,提交次数:

5、查看2023年8月03日8时这一个小时内有多少IP访问,提交次数

第二章:MySQL的应急响应:

1.黑客第一次写入的shell flag{关键字符串}

2.黑客反弹shell的ip flag{ip}

3.黑客提权文件的完整路径 md5 flag{md5} 注 /xxx/xxx/xxx/xxx/xxx.xx

4.黑客获取的权限 flag{whoami后的值}

第二章日志分析-Redis应急响应

1.通过本地 PC SSH到服务器并且分析黑客攻击成功的 IP 为多少,将黑客 IP 作为 FLAG 提交

2.通过本地 PC SSH到服务器并且分析黑客第一次上传的恶意文件,将黑客上传的恶意文件里面的 FLAG 提交;

3.通过本地 PC SSH到服务器并且分析黑客反弹 shell 的IP 为多少,将反弹 shell 的IP 作为 FLAG 提交;

4.通过本地 PC SSH到服务器并且溯源分析黑客的用户名,并且找到黑客使用的工具里的关键字符串(flag{黑客的用户-关键字符串} 注关键字符串 xxx-xxx-xxx)。将用户名和关键字符串作为 FLAG提交

5.通过本地 PC SSH到服务器并且分析黑客篡改的命令,将黑客篡改的命令里面的关键字符串作为 FLAG 提交;


第二章:Linux的Apache日志分析

先来介绍一下什么是Linux的Apache日志:

‌Linux的Apache日志是记录Apache服务器活动的文件‌。主要分为访问日志和错误日志两类:

‌1.访问日志‌:记录客户端的访问信息,如IP地址、请求时间、请求方法、URL等,默认文件名为access_log,可通过CustomLog参数设置其位置和文件名‌。
‌2.错误日志‌:记录Apache启动和运行时产生的错误信息,默认文件名为error_log,可通过ErrorLog参数进行设置‌。

Linux系统中,这些日志文件通常存储在/var/log/apache2/或/var/log/httpd/目录下‌,管理员可以使用cat、tail、grep、awk等命令行工具查看和分析日志内容,以了解服务器运行状态、客户端访问情况及排查问题‌,同时,Apache的配置文件中也包含了日志文件的位置信息,可通过查看配置文件找到日志文件的确切路径‌

开启环境,直接连上Xshell

1、提交当天访问次数最多的IP,即黑客IP

直接在日志中筛选ssh登录信息:

Apache日志一般在:/var/log/auth.log.1

grep 'sshd' /var/log/auth.log.1

发现大量的相同IP,提交一下试试

flag{192.168.200.2}

2、黑客使用的浏览器指纹是什么,提交指纹的md5

黑客IP已经知道,直接在日志中筛选黑客IP的请求数据

首先先进入网站目录,再在日志中筛选访问数据

cd /var/log/apache2
cat access.log.1 |grep 192.168.200.2 |more

命令解析:

  1. cat access.log.1‌:

    • cat 是一个命令,用于连接文件并打印到标准输出设备上(通常是终端或屏幕)。
    • access.log.1 是 cat 命令要读取和打印内容的文件名。这个文件可能是一个访问日志,记录了某个服务(如 Web 服务器)的访问记录。
  2. |(管道)‌:

    • 管道符号 | 用于将前一个命令的输出作为后一个命令的输入。
    • 在这个命令串中,cat 命令的输出(即 access.log.1 文件的内容)被传递给 grep 命令。
  3. grep 192.168.200.2‌:

    • grep 是一个命令,用于在文本中搜索特定的字符串或模式。
    • 192.168.200.2 是 grep 命令要搜索的字符串,这里是一个 IP 地址。
    • grep 会从它的输入(在这个例子中是 cat 命令的输出)中查找所有包含 192.168.200.2 字符串的行,并将这些行输出。
  4. | more‌:

    • 再次使用管道符号 |,将 grep 命令的输出传递给 more 命令。
    • more 是一个命令,用于分页显示文本。当输出内容很多时,more 命令会暂停显示,并等待用户输入命令来继续显示下一页或退出。
    • 在这个上下文中,more 命令允许用户逐页查看 grep 命令找到的所有包含 192.168.200.2 字符串的行

在这个日志中发现了黑客的浏览器指纹

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

将其进行MD5加密:MD5 在线加密工具 | 菜鸟工具 (jyshare.com)

flag{2d6330f380f44ac20f3a02eed0958f66}

3、查看index.php页面被访问的次数,提交次数:

wc -l 查看次数, 筛选一下

cat access.log.1 | grep "/index.php" | wc -l

命令解析:

  1. cat access.log.1

    这个命令使用cat工具来显示access.log.1文件的内容。cat是concatenate(连接)的缩写,但在这里它被用来简单地输出文件的内容到标准输出(通常是终端屏幕)。

  2. | grep "/index.php"

    管道符号|cat命令的输出传递给grep工具。grep是一个文本搜索工具,用于搜索包含指定模式的行。在这里,/index.php是搜索模式,意味着grep会输出所有包含/index.php文本的行。这些行通常是访问日志中请求/index.php页面的记录。

  3. | wc -l

    再次使用管道符号将grep的输出传递给wc工具。wc是一个用于计算字数的程序,但在这里我们使用-l选项来告诉它只计算行数。因此,wc -l会输出一个数字,表示grep找到的包含/index.php的行数

flag{27}

4、查看黑客IP访问了多少次,提交次数:

三种方式:选其一即可(在日志中筛选黑客IP访问的次数)

cat access.log.1 | grep 192.168.200.2 | wc -lcat access.log.1 | grep 192.168.200.2 | cut -d' ' -f1 | sort | uniq -cgrep 192.168.200.2 access.log.1 | cut -d' ' -f1 | sort | uniq -c

命令解析:

  1. grep 192.168.200.2 access.log.1

    这个命令使用grep工具在access.log.1文件中搜索包含192.168.200.2的行。grep会输出所有包含这个IP地址的日志条目。

  2. | cut -d' ' -f1

    管道符号|grep命令的输出传递给cut工具。cut用于按列分割文本,这里使用-d' '指定空格作为字段分隔符,-f1指定提取第一个字段,即每行的第一个空格分隔的部分。在标准的Apache访问日志格式中,这通常是IP地址。但是,如果日志格式有所不同,或者如果IP地址后面紧跟着其他信息而没有空格分隔,这个命令可能不会按预期工作。

  3. | sort

    再次使用管道符号将cut的输出传递给sort工具。sort会对输入进行排序,默认情况下是按字典顺序(即ASCII顺序)排序。在这个上下文中,它会对提取出的IP地址进行排序,但由于我们实际上只关心一个特定的IP地址,这个排序步骤可能是多余的。

  4. | uniq -c

    最后,使用uniq工具来统计每个唯一行的出现次数。-c选项会在每个唯一行的前面加上一个计数。在这个特定的命令中,由于我们之前已经使用grep过滤了特定的IP地址,并且(理论上)cut只提取了IP地址,所以uniq -c应该会为这个特定的IP地址返回一个计数,表示它在日志中出现的次数。

发现访问了6555次

flag{6555}

5、查看2023年8月03日8时这一个小时内有多少IP访问,提交次数

筛选这个时间段内的IP,也是有三种筛选方式,任选其一即可

cat access.log.1 | grep 03/Aug/2023:08: | awk '{print $1}' | sort -nr| uniq -c | wc -lcat access.log.1 | grep 03/Aug/2023:08: | awk '{print $1}' | sort -nr| uniq -cgrep 03/Aug/2023:08: access.log.1 | awk '{print $1}' | sort -nr | uniq -c | wc -l

命令解析:

  1. grep 03/Aug/2023:08: access.log.1

    这个命令使用grep工具在access.log.1文件中搜索包含03/Aug/2023:08的行。这意味着它会找到所有在该日期和时间(具体到小时)发生的请求记录。

  2. | awk '{print $1}'

    管道符号|grep命令的输出传递给awk工具。awk是一个强大的文本处理工具,这里使用它来打印每行的第一个字段,通常这是日志中的IP地址。

  3. | sort -nr

    再次使用管道符号将awk的输出传递给sort工具。-n选项告诉sort以数值顺序排序,而-r选项则指定逆序(从大到小)。在这个上下文中,它可能是对IP地址进行排序,但由于IP地址不是纯数字,这个排序可能不是按预期进行的。通常,对IP地址排序需要更复杂的处理。

  4. | uniq -c

    接下来,使用uniq工具来统计每个唯一IP地址的出现次数。-c选项会在每个唯一行的前面加上一个计数。

  5. | wc -l

    最后,使用wc工具的-l选项来计算行数。在这个上下文中,它实际上是在计算唯一IP地址的数量,因为uniq -c已经为每个唯一IP地址生成了一行。

这里我选的第三种方式

发现5次

flag{5}

第二章:MySQL的应急响应:

先来介绍一下什么是MySQL:

‌MySQL是一种开源的关系型数据库管理系统(RDBMS)‌,它使用结构化查询语言(SQL)进行数据库管理。

一些MySQL特点:

‌1.开源特性‌:MySQL是开放源代码的,任何人都可以在GPL许可下下载并修改。
‌2.关系型数据库‌:数据保存在不同的表中,提高了速度和灵活性。
‌3.SQL语言‌:使用最常用的数据库管理语言SQL进行数据操作。
‌4.广泛应用‌:MySQL是最流行的RDBMS之一,特别在WEB应用方面表现出色。
‌5.高性能‌:优化了SQL查询算法,支持多线程,充分利用CPU资源。
‌6.多语言支持‌:提供多种语言支持,包括中文、日文等。
‌7.跨平台性‌:使用C和C++编写,源代码可移植性强。

MySQL因其速度、可靠性和适应性而广受好评,是许多中小型和大型网站的首选数据库‌

开启环境,直接连上Xshell

在开始之前,先介绍一下MySQL的常见提权函数

MySQL常见提权函数:

利用INTO OUTFILE 写入文件:SELECT '' INTO OUTFILE '/var/www/html/shell.php';

利用 LOAD_FILE 读取文件:SELECT LOAD_FILE('/etc/passwd');

以及利用 UDF来写入自定义函数进行提权

MySQL的默认插件目录:/usr/lib/mysql/plugin/

攻击者一般将UDF提权放在默认插件目录,因为其目录有权限加载和执行该目录中的共享库文件。件必须放置在 MySQL 的插件目录中,才能被 MySQL 识别和加载。由于 MySQL 服务运行时需要访问插件目录,通常该目录的权限设置相对宽松,允许 MySQL 服务有读写权限

1.黑客第一次写入的shell flag{关键字符串}

老样子查找可疑文件:

cd /var/www/htmlfind ./ type f -name "*.jsp" | xargs grep "exec("find ./ type f -name "*.php" | xargs grep "eval("find ./ type f -name "*.asp" | xargs grep "execute("find ./ type f -name "*.aspx" | xargs grep "eval("

命令解析:

  1. find ./ type f -name "*.php"

    这个命令使用find工具在当前目录(./)及其所有子目录中搜索文件。type f指定只查找文件(而不是目录或其他类型的文件系统对象)。-name "*.php"是一个条件,指定只匹配文件名以.php结尾的文件。因此,这个命令会输出所有符合条件的文件的路径。

  2. | xargs grep "eval("

    管道符号|find命令的输出传递给xargs工具。xargs用于构建并执行命令行,它将从标准输入接收到的数据作为参数传递给指定的命令。在这里,xargsfind找到的每个文件路径作为参数传递给grep命令。

发现 sh.php 查看

cat ./sh.php

其实这里还有另一种方式,通过Xshell的FTP,将这个根目录下载到本地,通过D盾扫描,也可以看到webshell

flag{ccfda79e-7aa1-4275-bc26-a6189eb9a20b}

2.黑客反弹shell的ip flag{ip}

因为本题是关于Mysql的应急,一般思路是先看数据库信息,先进入数据库目录

cd /var/log/mysql/

正好发现一个error.log ,查看

cat error.log

在往下翻时,发现一个1.sh被保存了,不知道这个是什么文件,直接查找分析

 find / -name "1.sh"

查看这个文件

cat /tmp/1.sh

发现这是一个反弹shell,直接提交即可

flag{192.168.100.13}

3.黑客提权文件的完整路径 md5 flag{md5} 注 /xxx/xxx/xxx/xxx/xxx.xx

进入网站的根目录,查看是否能发现密码:

cd /var/www/html
find ./ -name "*.php" | xargs grep "root"

命令解析:

  1. find ./ -name "*.php"

    这个命令使用find工具在当前目录(./)及其所有子目录中搜索文件。-name "*.php"是一个条件,指定只匹配文件名以.php结尾的文件。因此,这个命令会输出所有符合条件的文件的路径。

  2. | xargs grep "root"

    管道符号|find命令的输出传递给xargs工具。xargs用于构建并执行命令行,它将从标准输入接收到的数据(在这里是find命令输出的文件路径列表)作为参数传递给grep命令。

    grep "root"是搜索命令,用于在每个文件中搜索包含字符串root的行。grep会输出所有包含该字符串的行,前面会带有它们所在文件的路径,以便你知道每个匹配项来自哪个文件。

发现账号密码

连接数据库:

mysql -uroot -p334cc35b3c704593

查看MySQL配置,因为是要找提权文件,当然先看MySQL配置

show global variables like '%secure%';

发现secure_file_priv为空,这很有可能造成UDF提权

secure_file_priv 变量用于限制 MySQL 服务进程访问文件系统的能力。具体来说,它定义了允许 LOAD DATA 和 SELECT … INTO OUTFILE 操作的路径。如果这个变量为空,表示 MySQL 可以访问服务器上的任何路径,没有任何限制。

UDF提权:

UDF 提权是利用 MySQL 的用户定义函数进行权限提升的攻击方法。攻击者可以编写恶意的 UDF 插件,并将其加载到 MySQL 中,从而执行系统级别的命令

一般来说进行UDF提权时,一般会将恶意函数写入到MySQL的默认插件中去,那么看一下MySQL默认插件目录

MySQL的默认插件目录:

cd /usr/lib/mysql/plugin/

查看权限:

ls -la

发现udf.so,不用想,这应该是写入的提权文件

查看一下这个文件

cat udf.so

发现这是一个一句话木马

拼接路径加密

/usr/lib/mysql/plugin/udf.so

flag{b1818bde4e310f3d23f1005185b973e7}

4.黑客获取的权限 flag{whoami后的值}

题目让我们找黑客获取的权限,因为进行了UDF提权,肯定写入了自定义函数

我们去数据库中查询一下新增的函数有那些

还是先登录进去数据库

mysql -uroot -p334cc35b3c704593

查询新增函数:

SELECT * FROM mysql.func;

发现了 sys_eval 就是新增的函数

我们直接用这个函数去执行命令

select sys_eval('whoami');

flag{mysql}

第二章日志分析-Redis应急响应

先来介绍一下什么是Redis

Redis是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis 支持多种数据结构,如字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)与范围查询、bitmaps、hyperloglogs 和 地理空间(geospatial)索引半径查询。

以下是 Redis 的一些关键特性:

‌1.速度快‌:由于 Redis 是基于内存的,并且使用了高效的数据结构,因此读写速度非常快。

‌原子性‌:Redis 的所有命令都是原子性的,这意味着它们会被完整地执行,而不会在执行过程中被其他命令中断。

‌2.丰富的数据类型‌:Redis 支持多种基本和高级的数据结构,这使得它能够灵活地处理各种类型的数据。

‌3.持久性‌:Redis 支持两种持久化机制:RDB(快照)和 AOF(Append-only file)。RDB 持久化会定期生成数据快照,而 AOF 则会记录每次写操作,以便在服务器重启时重建数据。

‌发布/订阅‌:Redis 提供了发布/订阅功能,允许消息在多个客户端之间进行广播。

‌4.Lua 脚本‌:Redis 支持通过 Lua 脚本来执行一系列的操作,这可以实现更复杂的逻辑和事务性操作。

‌5.事务‌:Redis 支持通过 MULTI、EXEC、DISCARD 和 WATCH 命令来实现事务操作。

‌高可用性‌:Redis 支持主从复制和自动故障转移,以提高数据的可用性和可靠性。Redis Sentinel 和 Redis Cluster 提供了更高级的高可用性和可扩展性解决方案。

‌6.广泛的客户端支持‌:Redis 有多种语言的客户端库,使得它可以在多种编程环境中轻松使用。

7.Redis 通常被用于需要快速访问和修改数据的场景,如缓存、会话存储、实时分析等。由于其高性能和丰富的功能集,Redis 已经成为许多现代应用程序中不可或缺的一部分。

开启环境,连上Xshell

1.通过本地 PC SSH到服务器并且分析黑客攻击成功的 IP 为多少,将黑客 IP 作为 FLAG 提交

题目是Redis应急,一般要查找Redis的日志进行分析

查看Redis日志

cat /var/log/redis.log

发现了大量的这个IP,提示连接错误,这应该不是要我们找的成功连接的IP

继续往下找,发现了一个没有报错的

尝试提交一下

flag{192.168.100.20}

2.通过本地 PC SSH到服务器并且分析黑客第一次上传的恶意文件,将黑客上传的恶意文件里面的 FLAG 提交;

恶意脚本一般会在Redis 的数据目录或临时目录中生成,查找一下

grep "Module 'system' loaded from" /var/log/redis.log

命令解析:

  1. grep‌:这是一个在文本文件中搜索特定模式的命令行工具。当找到匹配的行时,它会输出那些行到标准输出(通常是终端或屏幕)。

  2. "Module 'system' loaded from"‌:这是 grep 命令要搜索的字符串模式。在这个例子中,模式是 Module 'system' loaded from,意味着 grep 会查找所有包含这个确切字符串的行。

  3. /var/log/redis.log‌:这是 grep 命令要搜索的文件路径。/var/log/redis.log 通常是 Redis 数据库服务的日志文件,其中记录了 Redis 的运行信息、错误、警告和其他重要事件。

当执行这个命令时,grep 会打开 /var/log/redis.log 文件,并逐行读取内容,查找所有包含 Module 'system' loaded from 字符串的行。每当找到一个匹配项时,grep 就会将该行输出到终端。

发现了一个exp.so,那么根据这个分析一下

查询恶意文件在哪:

find / -name exp.so

查看这个恶意脚本:

cat /exp.so

发现大量的字符串,肯定不好找flag,

那么在文件中定位字符:

strings /exp.so | grep "flag"

flag{XJ_78f012d7-42fc-49a8-8a8c-e74c87ea109b}

3.通过本地 PC SSH到服务器并且分析黑客反弹 shell 的IP 为多少,将反弹 shell 的IP 作为 FLAG 提交;

黑客进行了反弹shell,一般来说配置了持久化,可以从计划任务,开机启动服务等等方面来查找

查看计划任务:

crontab -l

flag{192.168.100.13}

4.通过本地 PC SSH到服务器并且溯源分析黑客的用户名,并且找到黑客使用的工具里的关键字符串(flag{黑客的用户-关键字符串} 注关键字符串 xxx-xxx-xxx)。将用户名和关键字符串作为 FLAG提交

黑客ssh到服务器有两种方式,一种是密码验证,一种是公钥验证

那么查看公钥文件

cat /root/.ssh/authorized_keys 

这个应该是用户名,但是还要找工具,那么直接在百度里搜

最后拼接flag即可

flag{xj-test-user-wow-you-find-flag}

5.通过本地 PC SSH到服务器并且分析黑客篡改的命令,将黑客篡改的命令里面的关键字符串作为 FLAG 提交;

查日志:cat /var/log/auth.log

查历史命令:history

定时任务:crontab -l

启动项(如/etc/init.d、/etc/systemd/system)

检查系统路径中的命令:/bin、/sbin、/usr/bin等目录下的命令,确保与之前一致

最后在/usr/bin 中发现一个高权限命令

cd /usr/bin
ls -la

查看一下

cat ps

猜测下面的应该是flag

提交

flag{c195i2923381905517d818e313792d196}

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

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

相关文章

使用easyexcel导出复杂模板,同时使用bean,map,list填充

背景 在使用easyexcel导出时,如果遇到一个模板中同时存在 一部分是实体类中的字段,另外部分是列表的字段,需要特殊处理一下,比如下面的模板: 这里面 user, addr 是实体类(或者map&#xff09…

otter 扩展

参见otter官方的说明:数据处理自定义,比如Extract , Transform的数据处理. 目前Select/Load不支持数据自定义处理。 Extract模块: 1.EventProcessor : 自定义数据处理,可以改变一条变更数据的任意内容。 2.FileResolver : 解决数…

STM32的CAN波特率计算

公式: CAN波特率 APB总线频率 / (BRP分频器 1)/ (SWJ BS1 BS2) SWJ一般为1。 例如STM32F407的,CAN1和CAN2都在在APB1下,频率是42000000 如果想配置成1M波特率,则计算公式为:

Z2400039基于Java-+ SpringBoot + vue 企业信息管理系统的设计与实现(源码 配置 PPT 文档 分享)

企业信息管理系统 1.项目描述2.项目结构后端(Spring Boot)前端(Vue.js Element UI) 2. 功能实现登录页首页系统管理岗位管理部门管理 3. 部署和运行注意事项 4.界面展示5.源码获取 1.项目描述 基于你的描述,这个项目…

hhdb数据库介绍(10-20)

监控 监控面板 监控面板为用户提供计算节点、服务器相关的监控功能,包含:计算节点服务状态、计算节点流量、计算节点服务器资源、其他服务器资源。 数据采集说明: 监控面板显示24小时内采集的数据(需要放大显示,正…

医学机器学习:数据预处理、超参数调优与模型比较的实用分析

摘要 本文介绍了医学中的机器学习,重点阐述了数据预处理、超参数调优和模型比较的技术。在数据预处理方面,包括数据收集与整理、处理缺失值、特征工程等内容,以确保数据质量和可用性。超参数调优对模型性能至关重要,介绍了多种调…

SystemUI 下拉框 Build 版本信息去掉

需求及场景 去掉SystemUI 下拉框 Build 版本信息 如下图所示:去掉 12 (SP1A.201812.016) 了解 去掉之前我们先了解它是个什么东西:其实就是一个Build RTM 信息显示 Android_12_build_SP1A.210812.016 修改文件 /frameworks/base/packages/Syste…

transformer学习笔记-词嵌入embedding原理

.在学习transformer的时候,可以看到,输入通常需要对词token进行embedding处理,如果没有先了解embedding的原理可能会有疑问,这个embedding,到底怎么来的,怎么就把一个token 变成一个矩阵,这个矩…

Apache Airflow 快速入门教程

Apache Airflow已经成为Python生态系统中管道编排的事实上的库。与类似的解决方案相反,由于它的简单性和可扩展性,它已经获得了普及。在本文中,我将尝试概述它的主要概念,并让您清楚地了解何时以及如何使用它。 Airflow应用场景 …

python+django自动化部署日志采用‌WebSocket前端实时展示

一、开发环境搭建和配置 # channels是一个用于在Django中实现WebSocket、HTTP/2和其他异步协议的库。 pip install channels#channels-redis是一个用于在Django Channels中使用Redis作为后台存储的库。它可以用于处理#WebSocket连接的持久化和消息传递。 pip install channels…

[MySQL]流程控制语句

流程控制语句需要借助存储过程才有效。关于存储过程,我会在后续的文章详述,本篇文章只是阐述流程控制语句。因此,大家只需要注意存储过程中相应的流程控制语句即可。 如果文中阐述不全或不对的,多多交流。 参考笔记三&#xff0c…

使用 pycharm 新建使用 conda 虚拟 python 环境的工程

1. conda 常见命令复习: conda env list // 查看 conda 环境列表 conda activate xxxenv // 进入指定 conda 环境2. 环境展示: 2.1. 我的物理环境的 Python 版本为 3.10.9: 2.2. 我的 conda 虚拟环境 env_yolov9_python_3_8 中的 pyth…

上传镜像docker hub登不上和docker desktop的etx4.vhdx占用空间很大等解决办法

平时使用docker一般都在Linux服务器上,但这次需要将镜像上传到docker hub上,但是服务器上一直无法登录本人的账号,(这里的问题应该docker 网络配置中没有开代理的问题,因服务器上有其他用户使用,不可能直接…

时频转换 | Matlab基于S变换S-transform一维数据转二维图像方法

目录 基本介绍程序设计参考资料获取方式基本介绍 时频转换 | Matlab基于S变换S-transform一维数据转二维图像方法 程序设计 clear clc % close all load x.mat % 导入数据 x =

【娱乐项目】竖式算术器

Demo介绍 一个加减法随机数生成器,它能够生成随机的加减法题目,并且支持用户输入答案。系统会根据用户输入的答案判断是否正确,统计正确和错误的次数,并显示历史记录和错题记录。该工具适合用于数学练习,尤其适合练习基…

Java抛出自定义运行运行

1.重新生成异常的.java文件 Empty:空 Exception:异常 加起来就是 空指针异常的文件 2.打上extends 运行的异常(异常的类型) 3.点击ctrlo,选着这两个快捷重写 4.在需要抛出异常的地方写上:th…

使用Github Action将Docker镜像转存到阿里云私有仓库,供国内服务器使用,免费易用

文章目录 一、前言二、 工具准备:三、最终效果示例四、具体步骤第一大部分是配置阿里云1. 首先登录阿里云容器镜像服务 [服务地址](https://cr.console.aliyun.com/cn-hangzhou/instances)2. 选择个人版本3. 创建 命名空间4. 进入访问凭证来查看,用户名字…

YOLO系列论文综述(从YOLOv1到YOLOv11)【第13篇:YOLOv10——实时端到端物体检测】

YOLOv10 1 摘要2 网络结构3 YOLOv1-v10对比 YOLO系列博文: 【第1篇:概述物体检测算法发展史、YOLO应用领域、评价指标和NMS】【第2篇:YOLO系列论文、代码和主要优缺点汇总】【第3篇:YOLOv1——YOLO的开山之作】【第4篇&#xff1a…

Figma入门-自动布局

Figma入门-自动布局 前言 在之前的工作中,大家的原型图都是使用 Axure 制作的,印象中 Figma 一直是个专业设计软件。 最近,很多产品朋友告诉我,很多原型图都开始用Figma制作了,并且很多组件都是内置的,对…

零基础学安全--Burp Suite(4)proxy模块以及漏洞测试理论

目录 学习连接 一些思路 proxy模块 所在位置 功能简介 使用例子 抓包有一个很重要的点,就是我们可以看到一些在浏览器中看不到的传参点,传参点越多就意味着攻击面越广 学习连接 声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可…