当前位置: 首页 > news >正文

【安全】Web渗透测试(全流程)_渗透测试学习流程图

1 信息收集
1.1 域名、IP、端口
  • 域名信息查询:信息可用于后续渗透

  • IP信息查询:确认域名对应IP,确认IP是否真实,确认通信是否正常

  • 端口信息查询:NMap扫描,确认开放端口

发现:一共开放两个端口,80为web访问端口,3389为windows远程登陆端口,嘿嘿嘿,试一下

发现:是Windows Server 2003系统,OK,到此为止。

1.2 指纹识别

指纹?其实就是网站的信息。比如通过可以访问的资源,如网站首页,查看源代码:

  • 看看是否存在文件遍历的漏洞(如图片路径,再通过…/遍历文件)
  • 是否使用了存在漏洞的框架(如果没有现成的就自己挖)
2 漏洞扫描
2.1 主机扫描
  • Nessus

经典主机漏扫工具,看看有没有CVE漏洞:

2.2 Web扫描
  • AWVS(Acunetix | Website Security Scanner)扫描器
3 渗透测试

涉及工具的学习:

DVWA

Burp Suite

3.1 弱口令漏洞
  • 漏洞描述

目标网站管理入口(或数据库等组件的外部连接)使用了容易被猜测的简单字符口令、或者是默认系统账号口令。

  • 渗透测试
  1. 如果不存在验证码,则直接使用相对应的弱口令字典使用burpsuite 进行爆破
  2. 如果存在验证码,则看验证码是否存在绕过、以及看验证码是否容易识别
  • 风险评级:高风险
  • 安全建议
  1. 默认口令以及修改口令都应保证复杂度,比如:大小写字母与数字或特殊字符的组合,口令长度不小于8位等
  2. 定期检查和更换网站管理口令
3.2 文件下载(目录浏览)漏洞
  • 漏洞描述

一些网站由于业务需求,可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意的文件,可以是源代码文件、敏感文件等。

  • 渗透测试
  1. 查找可能存在文件包含的漏洞点,比如js,css等页面代码路径
  2. 看看有没有文件上传访问的功能
  3. 采用…/来测试能否夸目录访问文件
  • 风险评级:高风险
  • 安全建议
  1. 采用白名单机制限制服务器目录的访问,以及可以访问的文件类型(小心被绕过)
  2. 过滤【./】等特殊字符
  3. 采用文件流的访问返回上传文件(如用户头像),不要通过真实的网站路径。

示例:tomcat,默认关闭路径浏览的功能:

<param-name>listings</param-name>
<param-value>false</param-value>
3.3 任意文件上传漏洞
  • 漏洞描述

目标网站允许用户向网站直接上传文件,但未对所上传文件的类型和内容进行严格的过滤。

  • 渗透测试
  1. 收集网站信息,判断使用的语言(PHP,ASP,JSP)
  2. 过滤规则绕过方法:
  • 风险评级:高风险
  • 安全建议
  1. 对上传文件做有效文件类型判断,采用白名单控制的方法,开放只允许上传的文件型式;
  2. 文件类型判断,应对上传文件的后缀、文件头、图片类的预览图等做检测来判断文件类型,同时注意重命名(Md5加密)上传文件的文件名避免攻击者利用WEB服务的缺陷构造畸形文件名实现攻击目的;
  3. 禁止上传目录有执行权限;
  4. 使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件。
3.4 命令注入漏洞
  • 漏洞描述

目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句,导致各种调用系统命令的web应用,会被攻击者通过命令拼接、绕过黑名单等方式,在服务端运行恶意的系统命令。

  • 渗透测试

  • 风险评级:高风险

  • 安全建议

  1. 拒绝使用拼接语句的方式进行参数传递;
  2. 尽量使用白名单的方式(首选方式);
  3. 过滤危险方法、特殊字符,如:【|】【&】【;】【'】【"】等
3.5 SQL注入漏洞
  • 漏洞描述

目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句查询后台数据库相关信息

  • 渗透测试
  1. 手动测试,判断是否存在SQL注入,判断是字符型还是数字型,是否需要盲注
  2. 工具测试,使用sqlmap等工具进行辅助测试
  • 风险评级:高风险
  • 安全建议
  1. 防范SQL注入攻击的最佳方式就是将查询的逻辑与其数据分隔,如Java的预处理,PHP的PDO
  2. 拒绝使用拼接SQL的方式
3.6 跨站脚本漏洞
  • 漏洞描述

当应用程序的网页中包含不受信任的、未经恰当验证或转义的数据时,或者使用可以创建 HTML或JavaScript 的浏览器 API 更新现有的网页时,就会出现 XSS 缺陷。XSS 让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点。

三种XSS漏洞:

  1. 存储型:用户输入的信息被持久化,并能够在页面显示的功能,都可能存在存储型XSS,例如用户留言、个人信息修改等。
  2. 反射型:URL参数需要在页面显示的功能都可能存在反射型跨站脚本攻击,例如站内搜索、查询功能。
  3. DOM型:涉及DOM对象的页面程序,包括:document.URL、document.location、document.referrer、window.location等
  • 渗透测试

示例:

  1. 存储型:
  2. 反射型:
  3. DOM型:
  • 风险评级:高风险
  • 安全建议
  1. 不信任用户提交的任何内容,对用户输入的内容,在后台都需要进行长度检查,并且对【<】【>】【"】【'】【&】等字符做过滤
  2. 任何内容返回到页面显示之前都必须加以html编码,即将【<】【>】【"】【'】【&】进行转义。
3.7 跨站请求伪造漏洞
  • 漏洞描述

CSRF,全称为Cross-Site Request Forgery,跨站请求伪造,是一种网络攻击方式,它可以在用户毫不知情的情况下,以用户的名义伪造请求发送给被攻击站点,从而在未授权的情况下进行权限保护内的操作,如修改密码,转账等。

  • 渗透测试

  • 风险评级:中风险(如果相关业务极其重要,则为高风险)

  • 安全建议

  1. 使用一次性令牌:用户登录后产生随机token并赋值给页面中的某个Hidden标签,提交表单时候,同时提交这个Hidden标签并验证,验证后重新产生新的token,并赋值给hidden标签;
  2. 适当场景添加验证码输入:每次的用户提交都需要用户在表单中填写一个图片上的随机字符串;
  3. 请求头Referer效验,url请求是否前部匹配Http(s)😕/ServerHost
  4. 关键信息输入确认提交信息的用户身份是否合法,比如修改密码一定要提供原密码输入
  5. 用户自身可以通过在浏览其它站点前登出站点或者在浏览器会话结束后清理浏览器的cookie;
3.8 内部后台地址暴露
  • 漏洞描述

一些仅被内部访问的地址,对外部暴露了,如:管理员登陆页面;系统监控页面;API接口描述页面等,这些会导致信息泄露,后台登陆等地址还可能被爆破。

  • 渗透测试
  1. 通过常用的地址进行探测,如login.html,manager.html,api.html等;
  2. 可以借用burpsuite和常规页面地址字典,进行扫描探测
  • 风险评级:中风险
  • 安全建议
  1. 禁止外网访问后台地址;
  2. 使用非常规路径(如对md5加密)。
3.9 信息泄露漏洞
  • 漏洞描述
  1. 备份信息泄露:目标网站未及时删除编辑器或者人员在编辑文件时,产生的临时文件,或者相关备份信息未及时删除导致信息泄露。
  2. 测试页面信息泄露:测试界面未及时删除,导致测试界面暴露,被他人访问。
  3. 源码信息泄露:目标网站文件访问控制设置不当,WEB服务器开启源码下载功能,允许用户访问网站源码。
  4. 错误信息泄露:目标网站WEB程序和服务器未屏蔽错误信息回显,页面含有CGI处理错误的代码级别的详细信息,例如SQL语句执行错误原因,PHP的错误行数等。
  5. 接口信息泄露:目标网站接口访问控制不严,导致网站内部敏感信息泄露。
  • 渗透测试
  1. 备份信息泄露、测试页面信息泄露、源码信息泄露,测试方法:使用字典,爆破相关目录,看是否存在相关敏感文件

  2. 错误信息泄露,测试方法:发送畸形的数据报文、非正常的报文进行探测,看是否对错误参数处理妥当。

  3. 接口信息泄露漏洞,测试方法:使用爬虫或者扫描器爬取获取接口相关信息,看目标网站对接口权限是否合理

  • 风险评级:一般为中风险,如果源码大量泄漏或大量客户敏感信息泄露。
  • 安全建议
  1. 备份信息泄露漏洞:删除相关备份信息,做好权限控制
  2. 测试页面信息泄露漏洞:删除相关测试界面,做好权限控制
  3. 源码信息泄露漏洞:做好权限控制
  4. 错误信息泄露漏洞:将错误信息对用户透明化,在CGI处理错误后可以返回友好的提示语以及返回码。但是不可以提示用户出错的代码级别的详细原因
  5. 接口信息泄露漏洞:对接口访问权限严格控制
3.10 失效的身份认证
  • 漏洞描述

通常,通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌, 或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。

  • 渗透测试
  1. 在登陆前后观察,前端提交信息中,随机变化的数据,总有与当前已登陆用户进行绑定的会话唯一标识,常见如cookie
  2. 一般现在网站没有那种简单可破解的标识,但是如果是跨站认证,单点登录场景中,可能为了开发方便而简化了身份认证
  • 风险评级:高风险
  • 安全建议
  1. 使用强身份识别,不使用简单弱加密方式进行身份识别;
  2. 服务器端使用安全的会话管理器,在登录后生成高度复杂的新随机会话ID。会话ID不能在URL中,可以安全地存储,在登出、闲置超时后使其失效。
3.11 失效的访问控制
  • 漏洞描述

未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

  • 渗透测试
  1. 登入后,通过burpsuite 抓取相关url 链接,获取到url 链接之后,在另一个浏览器打开相关链接,看能够通过另一个未登入的浏览器直接访问该功能点。
  2. 使用A用户登陆,然后在另一个浏览器使用B用户登陆,使用B访问A独有的功能,看能否访问。
  • 风险评级:高风险
  • 安全建议
  1. 除公有资源外,默认情况下拒绝访问非本人所有的私有资源;
  2. 对API和控制器的访问进行速率限制,以最大限度地降低自动化攻击工具的危害;
  3. 当用户注销后,服务器上的Cookie,JWT等令牌应失效;
  4. 对每一个业务请求,都进行权限校验。
3.12 安全配置错误
  • 漏洞描述

应用程序缺少适当的安全加固,或者云服务的权限配置错误。

  1. 应用程序启用或安装了不必要的功能(例如:不必要的端口、服务、网页、帐户或权限)。
  2. 默认帐户的密码仍然可用且没有更改。
  3. 错误处理机制向用户披露堆栈跟踪或其他大量错误信息。
  4. 对于更新的系统,禁用或不安全地配置最新的安全功能。
  5. 应用程序服务器、应用程序框架(如:Struts、Spring、ASP.NET)、库文件、数据库等没有进行相关安全配置。
  • 渗透测试
  1. 先对应用指纹等进行信息搜集,然后针对搜集的信息,看相关应用默认配置是否有更改,是否有加固过;端口开放情况,是否开放了多余的端口;
  • 风险评级:中风险
  • 安全建议

搭建最小化平台,该平台不包含任何不必要的功能、组件、文档和示例。移除或不安装不适用的功能和框架。 在所有环境中按照标准的加固流程进行正确安全配置。

3.13 使用含有已知漏洞的组件
  • 漏洞描述

使用了不再支持或者过时的组件。这包括:OS、Web服务器、应用程序服务器、数据库管理系统(DBMS)、应用程序、API和所有的组件、运行环境和库。

  • 渗透测试
  1. 根据前期信息搜集的信息,查看相关组件的版本,看是否使用了不在支持或者过时的组件。一般来说,信息搜集,可通过http返回头、相关错误信息、应用指纹、端口探测(Nmap)等手段搜集。
  2. Nmap等工具也可以用于获取操作系统版本信息
  3. 通过CVE,CNVD等平台可以获取当前组件版本是否存在漏洞
  • 风险评级:按照存在漏洞的组件的安全风险值判定当前风险。
  • 安全建议
  1. 移除不使用的依赖、不需要的功能、组件、文件和文档;
  2. 仅从官方渠道安全的获取组件(尽量保证是最新版本),并使用签名机制来降低组件被篡改或加入恶意漏洞的风险;
  3. 监控那些不再维护或者不发布安全补丁的库和组件。如果不能打补丁,可以考虑部署虚拟补丁来监控、检测或保护。

网络安全学习资源分享:

成长路线图&学习规划

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

网安入门到进阶视频教程

我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。

技术文档

我们也提供了一些技术文档,大家可以参考。

所有资料共282G,朋友们如果有需要全套资料包,可以点下面卡片获取,无偿分享!

相关文章:

【安全】Web渗透测试(全流程)_渗透测试学习流程图

1 信息收集 1.1 域名、IP、端口 域名信息查询&#xff1a;信息可用于后续渗透 IP信息查询&#xff1a;确认域名对应IP&#xff0c;确认IP是否真实&#xff0c;确认通信是否正常 端口信息查询&#xff1a;NMap扫描&#xff0c;确认开放端口 发现&#xff1a;一共开放两个端口&…...

要素的选择与转出

1.要素选择的三种方式 当要在已有的数据中选择部分要素时&#xff0c;ArcMap提供了三种方式:按属性选择、位置选择及按图形选择。 1)按属性选择 通过设置 SQL查询表达式&#xff0c;用来选择与选择条件匹配的要素。 (1)单击主菜单下【选择】【按属性选择】&#xff0c;打开【按…...

C 语言命令行参数:让程序交互更灵活

一、引言 在 C 语言编程领域&#xff0c;命令行参数是一种极为实用的机制&#xff0c;它允许我们在执行程序时&#xff0c;从外部向程序传递数据。这一特性极大地增强了程序的灵活性和可控性&#xff0c;避免了在代码中对数据进行硬编码。比如在开发系统工具、脚本程序时&…...

部署nerdctl工具

nerdctl 是一个专为Containerd设计的容器管理命令行工具&#xff0c;旨在提供类似 Docker 的用户体验&#xff0c;同时支持 Containerd 的高级特性&#xff08;如命名空间、compose等&#xff09;。 1、下载安装 wget https://github.com/containerd/nerdctl/releases/downlo…...

SOA 架构

定义与概念&#xff1a;SOA 将应用程序的不同功能单元&#xff08;称为服务&#xff09;进行封装&#xff0c;并通过定义良好的接口和协议来实现这些服务之间的通信和交互。这些服务可以在不同的平台和编程语言中实现&#xff0c;彼此之间相互独立&#xff0c;能够以松散耦合的…...

K8s私有仓库拉取镜像报错解决:x509 certificate signed by unknown authority

前言 在Kubernetes环境中使用自签名证书的私有Harbor镜像仓库时&#xff0c;常会遇到证书验证失败的问题。本文将详细讲解如何解决这个常见的证书问题。 环境信息&#xff1a; Kubernetes版本&#xff1a;1.28.2容器运行时&#xff1a;containerd 1.6.20私有仓库&#xff1a…...

在线考试系统带万字文档java项目java课程设计java毕业设计springboot项目

文章目录 在线考试系统一、项目演示二、项目介绍三、万字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码带万字文档&#xff08;9.9&#xffe5;带走&#xff09; 在线考试系统 一、项目演示 在线考试系统 二、项目介绍 1、管理员角色&#xff1a; 考试管理&…...

Axure RP 9 详细图文安装流程(附安装包)教程包含下载、安装、汉化、授权

文章目录 前言一、Axure RP 9介绍二、Axure RP 9 安装流程1. Axure RP 9 下载2. 启动安装程序3. 安装向导操作4.完成安装 三、Axure RP 9 汉化四、Axure RP 9授权 前言 本基础安装流程教程&#xff0c;将以清晰、详尽且易于遵循的步骤介绍Axure RP 9 详细图文安装流程&#xf…...

动态规划练习题④

583. 两个字符串的删除操作 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1&#xff1a; 输入: word1 "sea", word2 "eat" 输出: 2 解释: 第一步将 &quo…...

多输入多输出 | Matlab实现BO-GRU贝叶斯优化门控循环单元多输入多输出预测

多输入多输出 | Matlab实现BO-GRU贝叶斯优化门控循环单元多输入多输出预测 目录 多输入多输出 | Matlab实现BO-GRU贝叶斯优化门控循环单元多输入多输出预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现BO-GRU贝叶斯优化门控循环单元多输入多输出预测&#…...

爬虫工程师的社会现状

现在网上你只要搜索教程就是韦世东;k哥爬虫教你爬虫方面的逆向知识;然后看着这些逆向js百例;搞得我很尴尬我做了这么多年的爬虫工程师;现在算什么;这些逆向的东西我并没有很深层次的了解;但是工作的内容也依旧解决了;并没有到爬虫工程师非要会那么多逆向才能算的上是合格的爬虫…...

Flink 1.20 Kafka Connector:新旧 API 深度解析与迁移指南

Flink Kafka Connector 新旧 API 深度解析与迁移指南 一、Flink Kafka Connector 演进背景 Apache Flink 作为实时计算领域的标杆框架&#xff0c;其 Kafka 连接器的迭代始终围绕性能优化、语义增强和API 统一展开。Flink 1.20 版本将彻底弃用基于 FlinkKafkaConsumer/FlinkK…...

Vue2 父子组件数据传递与调用:从 ref 到 $emit

提示&#xff1a;https://github.com/jeecgboot/jeecgboot-vue2 文章目录 案例父组件向子组件传递数据的方式父组件调用子组件方法的方式子组件向父组件传递数据的方式流程示意图 案例 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 以下是 整合后的关…...

【matplotlib参数调整】

1. 基本绘图函数常用参数 折线图 import matplotlib.pyplot as plt import numpy as npx np.linspace(0, 10, 100) y np.sin(x)plt.plot(x, y, colorred, linestyle--, linewidth2,markero, markersize5, labelsin(x), alpha0.8) plt.title(折线图示例) plt.xlabel(X 轴) p…...

如何使用 IntelliJ IDEA 开发命令行程序(或 Swing 程序)并手动管理依赖(不使用 pom.xml)

以下是详细步骤&#xff1a; 1. 创建项目 1.1 打开 IntelliJ IDEA。 1.2 在启动界面&#xff0c;点击 Create New Project&#xff08;创建新项目&#xff09;。 1.3 选择 Java&#xff0c;然后点击 Next。 1.4 确保 Project SDK 选择了正确的 JDK 版本&#x…...

Linux红帽:RHCSA认证知识讲解(十 一)配置NTP 时间同步、用户密码策略与使用 autofs 实现 NFS 自动挂载

Linux红帽&#xff1a;RHCSA认证知识讲解&#xff08;十 一&#xff09;配置NTP 时间同步、用户密码策略与 NFS 自动挂载 前言一、配置 NTP 时间同步1.1 NTP 简介1.2 安装和配置 NTP 客户端 二、配置新建用户密码过期时间2.1 查看用户密码过期时间2.2 修改密码过期时间 三、使用…...

ffmpeg音视频处理流程

文章目录 FFmpeg 音视频处理流程详细讲解总结音视频处理流程相关的 FFmpeg 工具和命令 FFmpeg 的音视频处理流程涵盖了从输入文件读取数据、编码和解码操作、数据处理、以及最终输出数据的完整过程。为了更好地理解这一流程&#xff0c;我们可以从以下几个关键步骤来分析&#…...

leetcode-代码随想录-链表-移除链表元素

题目 链接&#xff1a;203. 移除链表元素 - 力扣&#xff08;LeetCode&#xff09; 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 …...

c++与rust的语言区别,rust的主要难点,并举一些例子

C 和 Rust 都是系统级编程语言&#xff0c;它们在设计目标、语法、内存管理等方面存在诸多区别&#xff0c;以下为你详细介绍&#xff1a; 设计目标 C&#xff1a;C 最初是为了给 C 语言添加面向对象编程特性而设计的&#xff0c;之后不断发展&#xff0c;旨在提供高性能、灵…...

从基础算力协作到超智融合,超算互联网助力大语言模型研习

一、背景 大语言模型&#xff08;LLMs&#xff09;的快速发展释放出了AI应用领域的巨大潜力。同时&#xff0c;大语言模型作为 AI领域的新兴且关键的技术进展&#xff0c;为 AI 带来了全新的发展方向和应用场景&#xff0c;给 AI 注入了新潜力&#xff0c;这体现在大语言模型独…...

【spring cloud Netflix】Eureka注册中心

1.概念 Eureka就好比是滴滴&#xff0c;负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务&#xff0c;而是把自己的 需求告诉Eureka&#xff0c;然后Eureka会把符合你需求的服务告诉你。同时&#xff0c;服务提供方与Eureka之间通过“心跳” 机制进行监控&#xf…...

记录学习的第二十天

今天只做了一道题&#xff0c;有点不在状态。 这道题其实跟昨天的每日一题是差不多的&#xff0c;不过这道题需要进行优化。 根据i小于j&#xff0c;且j小于k&#xff0c;当nums[j]确定时&#xff0c;保证另外两个最大即可得答案。 所以可以使用前缀最大值和后缀最大值。 代…...

7-5 表格输出

作者 乔林 单位 清华大学 本题要求编写程序&#xff0c;按照规定格式输出表格。 输入格式&#xff1a; 本题目没有输入。 输出格式&#xff1a; 要求严格按照给出的格式输出下列表格&#xff1a; ------------------------------------ Province Area(km2) Pop.(…...

【爬虫开发】爬虫开发从0到1全知识教程第14篇:scrapy爬虫框架,介绍【附代码文档】

本教程的知识点为&#xff1a;爬虫概要 爬虫基础 爬虫概述 知识点&#xff1a; 1. 爬虫的概念 requests模块 requests模块 知识点&#xff1a; 1. requests模块介绍 1.1 requests模块的作用&#xff1a; 数据提取概要 数据提取概述 知识点 1. 响应内容的分类 知识点&#xff1a…...

安装 Microsoft Visual C++ Build Tools

Microsoft Visual C Build Tools下载安装 安装Microsoft Visual C Build Tools是为了在windows系统上编译和运行需要C支持的程序或库&#xff08;例如某些Python包&#xff0c;Node.js模块等&#xff09;。 1.下载 打开浏览器&#xff0c;访问 Visual Studio Build Tools下载…...

启服云专利管理系统:铸就知识产权保护的坚固壁垒

在全球竞争日益激烈的今天&#xff0c;知识产权已经成为企业核心竞争力的关键组成部分&#xff0c;而专利作为知识产权的重要体现&#xff0c;其管理和保护显得尤为重要。启服云专利管理系统凭借其卓越的功能和先进的技术&#xff0c;在知识产权保护领域展现出了显著的优势。 高…...

树莓派 5 部署 OMV(OpenMediaVault)

我使用Raspberry Pi OS Lite【Debian version: 12 (bookworm)】搭建OMV 换源&#xff0c;换源教程请参考&#xff1a;树莓派 5 换源 加入omv国内清华源 # 创建openmediavault.list文件 touch /etc/apt/sources.list.d/openmediavault.list # 加入内容 echo "deb [signed…...

Opencv之dilib库:表情识别

一、简介 在计算机视觉领域&#xff0c;表情识别是一个既有趣又具有挑战性的任务。它在人机交互、情感分析、安防监控等众多领域都有着广泛的应用前景。本文将详细介绍如何使用 Python 中的 OpenCV 库和 Dlib 库来实现一个简单的实时表情识别系统。 二、实现原理 表情识别系统…...

吾爱置顶软件,吊打电脑自带功能!

今天我给大家带来一款超棒的软件&#xff0c;它来自吾爱论坛的精选推荐&#xff0c;每一款都经过精心挑选&#xff0c;绝对好用&#xff01; S_Clock 桌面计时软件 这款软件的界面设计特别漂亮&#xff0c;简洁又大方。它是一款功能齐全的时钟计时倒计时软件&#xff0c;既能正…...

深入理解浏览器的事件循环

浏览器的进程模型 浏览器进程&#xff1a;负责子进程的管理和用户交互网络进程&#xff1a;负责加载网络资源渲染进程&#xff1a;浏览器会为每一个标签页开启一个新的渲染进程。 渲染进程中的渲染主线程是我们最关注的&#xff0c;因为浏览器的事件循环就发生在这之中渲染主进…...

分布式锁之redis6

一、分布式锁介绍 之前我们都是使用本地锁&#xff08;synchronize、lock等&#xff09;来避免共享资源并发操作导致数据问题&#xff0c;这种是锁在当前进程内。 那么在集群部署下&#xff0c;对于多个节点&#xff0c;我们要使用分布式锁来避免共享资源并发操作导致数据问题…...

数据框的添加

在地图制图中&#xff0c;地图全图显示的同时希望也能够显示局部放大图&#xff0c;以方便查看地物空间位置的同时&#xff0c;也能查看地物具体的相对位置。例如&#xff0c;在一个名为airport的数据集全图制图过程中&#xff0c;希望能附上机场区域范围的局部地图&#xff0c…...

SQL Server 2022 读写分离问题整合

跟着热点整理一下遇到过的SQL Server的问题&#xff0c;这篇来聊聊读写分离遇到的和听说过的问题。 一、读写分离实现方法 1. 原生高可用方案 1.1 Always On 可用性组&#xff08;推荐方案&#xff09; 配置步骤&#xff1a; -- 1. 启用Always On功能 USE [master] GO ALT…...

启服云云端专利管理系统:解锁专利管理新境界

在当今竞争激烈的商业环境中&#xff0c;专利作为企业的核心资产&#xff0c;其管理的重要性不言而喻。启服云云端专利管理系统以其卓越的性能和独特的优势&#xff0c;成为企业专利管理的得力助手&#xff0c;为企业的创新发展保驾护航。 便捷高效&#xff0c;突破时空限制 启…...

记录一下零零散散的的东西-ImageNet

ImageNet 是一个非常著名的大型图像识别数据集&#xff0c; 数据集基本信息 内容说明&#x1f4f8; 图像数量超过 1400万张图片&#xff08;包含各类子集&#xff09;&#x1f3f7;️ 类别数量常用的是 ImageNet-1K&#xff08;1000类&#xff09;&#x1f9d1;‍&#x1f3e…...

全连接RNN反向传播梯度计算

全连接RNN反向传播梯度计算 RNN数学表达式BPTT(随时间的反向传播算法)参数关系网络图L对V的梯度L对U的梯度L对W和b的梯度 RNN数学表达式 BPTT(随时间的反向传播算法) 参数关系网络图 L对V的梯度 L对U的梯度 L对W和b的梯度...

基于BusyBox构建ISO镜像

1. 准备 CentOS 7.9 3.10.0-957.el7.x86_64VMware Workstation 建议&#xff1a;系统内核<3.10.0 使用busybox < 1.33.2版本 2. 安装busybox # 安装依赖 yum install syslinux xorriso kernel-devel kernel-headers glibc-static ncurses-devel -y# 下载 wget https://…...

使用python完成手写数字识别

入门图像识别的第一个案例,看到好多小伙伴分享,也把自己当初的思路捋捋,写成一篇博客,作为记录和分享,也欢迎各位交流讨论。 实现思路 数据集:MNIST(包含60,000个训练样本和10,000个测试样本) 深度学习框架:Keras(基于TensorFlow) 模型架构:卷积神经网络(CNN) 实…...

Vue2 过滤器 Filters

提示&#xff1a;Vue 过滤器是用于格式化文本的 JavaScript 函数&#xff0c;通过管道符 | 在模板中使用 文章目录 前言过滤器的核心特性1. 链式调用2. 参数传递3. 纯函数特性 过滤器的常见使用场景1. 文本格式化2. 数字处理3. 日期/时间格式化4. 样式控制&#xff08;结合组件…...

Java 大视界 -- 基于 Java 的大数据分布式存储在视频监控数据管理中的应用优化(170)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

c++中cin.ignore()的作用

在 C 中&#xff0c;cin.ignore() 是用于忽略&#xff08;丢弃&#xff09;输入流中的字符的函数&#xff0c;通常用来清除输入缓冲区中的残留内容&#xff08;如换行符、多余输入等&#xff09;&#xff0c;以避免影响后续的输入操作。 基本用法 cin.ignore(n, delim);n&…...

讲一下resblock的跳跃连接,以及连接前后的shape保持(通过padding保持shape不变)

ResNet 残差块&#xff08;ResBlock&#xff09;的跳跃连接 & 形状保持 ResNet&#xff08;Residual Network&#xff09;通过 残差块&#xff08;Residual Block, ResBlock&#xff09; 解决了深度网络的梯度消失问题。其核心是跳跃连接&#xff08;Skip Connection&…...

Unity中优化绘制调用整理

DrawCall 指的是 CPU 向 GPU 发送渲染指令的过程&#xff0c;在 Unity 中&#xff0c;每次渲染一个网格时&#xff0c;CPU 都需要向 GPU 发送一系列的渲染指令&#xff0c;这个过程被称为一次绘制调用&#xff08;Draw Call&#xff09;。 1.GPU实例化 使用&#xff1a; 2.绘…...

Coco-AI 支持嵌入,让你的网站拥有 AI 搜索力

在之前的实践中&#xff0c;我们已经成功地把 Hexo、Hugo 等静态博客和 Coco-AI 检索系统打通了&#xff1a;只要完成向量化索引&#xff0c;就可以通过客户端问答界面实现基于内容的智能检索。 这一层已经很好用了&#xff0c;但总觉得少了点什么—— 比如用户还得专门打开一…...

深入解析Java哈希表:从理论到实践

哈希表&#xff08;Hash Table&#xff09;是计算机科学中最重要的数据结构之一&#xff0c;也是Java集合框架的核心组件。本文将以HashMap为切入点&#xff0c;深入剖析Java哈希表的实现原理、使用技巧和底层机制。 一、哈希表基础原理 1. 核心概念 键值对存储&#xff1a;通…...

leetcode76.最小覆盖子串

思路源于 【小白都能听懂的算法课】【力扣】【LeetCode 76】最小覆盖子串&#xff5c;滑动窗口&#xff5c;字符串 初始化先创建t的哈希表记录t中的字符以及它出现的次数&#xff0c;t的have记录t中有几种字符 s的哈希表记录窗口中涵盖t的字符以及它出现的次数&#xff0c;初始…...

【HTB】Windwos-easy-Legacy靶机渗透

靶机介绍&#xff0c;一台很简单的WIndows靶机入门 知识点 msfconsole利用 SMB历史漏洞利用 WIndows命令使用&#xff0c;type查看命令 目录标题 一、信息收集二、边界突破三、权限提升 一、信息收集 靶机ip&#xff1a;10.10.10.4攻击机ip&#xff1a;10.10.16.26 扫描TC…...

一问讲透redis持久化机制-rdb aof

一问讲透redis持久化机制-rdb aof 文章目录 一问讲透redis持久化机制-rdb aof前言一、RDB二、AOF二、原理 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; redis作为内存数据库&#xff0c;常常作为系统的缓存使用&#xff0c;但是内存是断电清空数据的…...

【大模型基础_毛玉仁】6.4 生成增强

目录 6.4 生成增强6.4.1 何时增强1&#xff09;外部观测法2&#xff09;内部观测法 6.4.2 何处增强6.4.3 多次增强6.4.4 降本增效1&#xff09;去除冗余文本2&#xff09;复用计算结果 6.4 生成增强 检索器得到相关信息后&#xff0c;将其传递给大语言模型以期增强模型的生成能…...

4.1-泛型编程深入指南

4.1 泛型编程深入指南 本节将带您深入探索C#泛型机制在游戏开发中的高级应用。通过游戏对象池、数据管理器、事件系统等实际案例&#xff0c;您将学习如何运用泛型构建高效、灵活的游戏系统。掌握这些知识将帮助您开发出性能更好、架构更清晰的游戏。 前置知识 在学习本节内容…...