web安全详解(渗透测试基础)

news2024/9/20 22:52:25

**

文章目录
  • 一、Web基础知识
    • 1.http协议
    • 2.网络三种架构及特点
    • 3. Web应用的特点
    • 4.URL组成
    • 6.Http协议的性质
    • 7.请求响应报文的格式
    • 8.请求方法
    • 9.http缓存
    • 10.缓存新鲜度如何判断
    • 11.Http重定向原理以及状态码
    • 12.HTTPS协议 数字证书
    • 13.HTTPS协议与HTTP协议的区别?
    • 14. Web客户端的作用
    • 15.Web服务端作用
    • 16.集群环境的作用
    • 17.什么是Cookie,Cookie的作用。
    • 18.Cookie 的类型
    • 19.session的作用和原理
      • Session的原理
      • Session的两种实现方式(也就是传递方式)
      • Session 与Cookie的区别
    • 20. Token的原理
    • 21.数据的编码方式
    • 22.Web测试的类型
    • 23.H5优点
    • 24. APP测试/Web测试/H5测试的区别
      • 相同之处
      • 不同之处
    • 25.移动端常用的三种开发模式
  • 二、探索式测试
  • 三、敏捷测试方法
    • 3.1 瀑布模型和敏捷模型比较
    • 3.2 Scrum框架包括3个角色、3个工件、5个事件、5个价值
    • 3.3 用户故事包含三个要素
    • 3.4 用户故事的特性
    • 3.5用户故事的优先级
    • 3.6 看板的作用
    • 3.7 什么是devops
    • 3.8 测试左移 和 测试右移
      • 测试左移
      • 测试右移
  • 四、web安全
    • 4.1 渗透测试主要做什么?
    • 4.2 渗透测试的流程
    • 4.3 信息收集的内容
    • 4.4 同源策略概念及意义
    • 4.5 浏览器沙箱
    • 4.6 恶意网址拦截机制
    • 4.7 XSS攻击的原理
    • 4.8 xss三种类型
    • 4.9 XSS漏洞防范
    • 4.10 什么是sql注入?
    • 4.11 sql注入的类型?
    • 4.12 盲注的类型?
    • 4.13 什么是文件包含漏洞?
    • 4.14 利用文件包含漏洞满足下面两个条件?
    • 4.15 文件包含漏洞预防
    • 4.16 文件上传检测的内容?
    • 4.17 防范文件上传漏洞常见方法?
    • 4.18 什么是点击劫持?
    • 4.19 CSRF原理?
    • 4.20 CSRF的防御?
    • 4.21 HTML5安全问题?
    • 4.22 session的攻击方式?
    • 4.23 单点登录
    • 4.24 基于角色的访问控制和基于数据的访问控制
    • 4.25 OAuth 2.0 原理
    • 4.26 四种授权方式
    • 4.23 单点登录
    • 4.24 基于角色的访问控制和基于数据的访问控制
    • 4.25 OAuth 2.0 原理
    • 4.26 四种授权方式

一、Web基础知识

1.http协议

​ 超文本传输协议是互联网上应用最广泛的一种网络协议。所有www文件都必须遵守的一个标准,是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范,简单点说就是一种固定的通讯规则。

2.网络三种架构及特点

网络应用程序架构包括三种:
客户机/服务器结构(C/S)
浏览器/服务器结构(B/S)
P2P结构

C/S架构

  1. 需要安装特定的客户端程序
  2. 针对不同平台开发不同版本
  3. 升级应用需重新安装
  4. 能够直接使用客户端硬件资源

B/S架构

  1. 客户端无需安装,有Web浏览器即可
  2. 跨平台能力
  3. 无缝升级,客户端免维护

P2P架构
点到点系统,不需要服务器中转,客户端与客户端彼此直接通信

3. Web应用的特点

  1. 应用是图形化和易于导航的,能够在页面显示色彩丰富的图形和文本。
  2. 应用与平台无关,可以使用任何平台通过internet访问。
  3. Web应用是分布式的,不同的信息可以放在不同的站点上。
  4. Web应用是动态的,web站点的信息包含站点本身的信息,信息的提供者也可以对网站的信息进行更新。

4.URL组成

Protocol:指定使用的传输协议
hostname:主机名
port:端口号
path:路径
parameters:参数

query:可选,用于给动态网页传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。

fragment:信息片段,字符串,用于指定网络资源中的片断。

6.Http协议的性质

  1. HTTP是简单的
  2. HTTP是可扩展的
  3. HTTP是无状态,有会话的
  4. HTTP是可靠的

7.请求响应报文的格式

HTTP请求报文分为三部分

  1. 请求行 请求方法、URL、协议版本等(消息报头)
  2. 请求头 由一个头域名、冒号和值域组成
  3. 请求体

响应

  1. 响应行 协议和状态码 状态码分类
  2. 响应头
  3. 响应体

8.请求方法

GET POST OPTIONS HEAD PUT DELETE TRACE CONNECT

9.http缓存

缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。这样带来的好处有:缓解服务器端压力,提升性能(获取资源的耗时更短了)。

10.缓存新鲜度如何判断

Web服务器通过2种方式来判断浏览器缓存是否是最新的
1、 Last-Modified和If-Modified-Since
2、 ETags和If-None-Match

11.Http重定向原理以及状态码

在 HTTP 协议中,重定向操作由服务器通过发送特殊的响应(即 redirects)而触发。HTTP 协议的重定向响应的状态码为 3xx 。浏览器在接收到重定向响应的时候,会采用该响应提供的新的 URL ,并立即进行加载;大多数情况下,除了会有一小部分性能损失之外,重定向操作对于用户来说是不可见的。

1XX 指示信息
2XX 请求发送成功
3XX 重定向
4XX 客户端发送的请求有语法错误
5XX 服务器错误

12.HTTPS协议 数字证书

	HTTPS协议是以安全为目标的HTTP通道,其实就是HTTP的升级版本

	数字证书:是由权威的CA(Certificate Authority)机构给服务端进行颁发,CA机构通过服务端提供的相关信息生成证书,证书内容包含了持有人的相关信息,服务器的公钥,签署者签名信息(数字签名)等,最重要的是公钥在数字证书中。

13.HTTPS协议与HTTP协议的区别?

  1. HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。
  2. HTTP采用80端口连接,而HTTPS则是443端口。
  3. HTTPS协议需要到ca申请证书,一般免费证书很少,需要交费,也有些web容器提供,如TOMCAT。HTTP协议不需要。

14. Web客户端的作用

  1. 用来发送HTTP请求
  2. 接收服务器响应
  3. 把服务器返回的HTML代码渲染成界面Web客户端来主要是浏览器。

15.Web服务端作用

  1. 监听客户请求
  2. 处理客户端的简单请求(一般静态页面)
  3. 客户端与数据库之间的屏障
  4. 处理复杂系统的业务和数据库的访问

16.集群环境的作用

	集群环境:服务器集群是指将很多服务器集中起来去进行同一种服务。集群可以利用多个计算机并行计算从而获得很高的计算速度(负载均衡),也可以用多个计算机做备份,从而使得实现故障转移。

17.什么是Cookie,Cookie的作用。

Cookie: Cookie实际上是一小段的文本信息(key-value格式)。

客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。

18.Cookie 的类型

  1. 会话Cookie:保存在内存中,由浏览器维护,浏览器关闭后消失。
  2. 持久性Cookie:保存在硬盘里,有过期时间,用户手动清理或到了过期时间,持久性Cookie会被删除。

Expires属性:Cookie中的maxAge用来表示该属性,单位为秒。

19.session的作用和原理

在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

Session的原理
  1. 用户第一次请求服务器时,服务器端会生成一个sessionId
  2. 服务器端将生成的sessionId返回给客户端,通过set-cookie
  3. 客户端收到sessionId会将它保存在Cookie中,当客户端再次访问服务端时会带上这个sessionId
  4. 当服务端再次接收到来自客户端的请求时,会先去检查是否存在sessionId,不存在就新建一个sessionId重复1,2的流程,如果存在就去遍历服务端的session文件,找到与这个sessionId相对应的文件,文件中的键值便是sessionId,值为当前用户的一些信息
  5. 此后的请求都会交换这个 sessionId ,进行有状态的会话
Session的两种实现方式(也就是传递方式)
  1. 通过Cookie实现
  2. 通过URL重写来实现
Session 与Cookie的区别
  1. Cookie的数据保存在客户端浏览器,Session保存在服务器
  2. 服务端保存状态机制需要在客户端做标记,所以Session可能借助Cookie机制
  3. Cookie通常用于客户端保存用户的登录状态
  4. Session是可以存取任何类型的数据的,但是Cookie只能存入字符串
  5. Cookie存储数据大小有限制,Session没有限制

20. Token的原理

  1. 用户通过用户名和密码发送请求。
  2. 程序验证。
  3. 程序返回一个签名的token给客户端。
  4. 客户端储存token,并且每次用于每次发送请求。
  5. 服务端验证token并返回数据。

21.数据的编码方式

url编码是一种浏览器用来打包表单输入的格式。

Base64就是一种用64个ASCII字符来表示任意二进制数据的方法。

MD5 为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。目前不可逆解。

22.Web测试的类型

  1. 界面测试:导航测试、图形测试、内容测试、整体界面测试、界面控件测试
  2. 功能测试:
  3. 性能测试
  4. 兼容性测试
  5. 安全性测试等

23.H5优点

  1. 跨平台优势,H5页面在各个平台都适用,且可以在网页上直接进行调试和修改,开发和维护的成本较低,开发周期较短。
  2. 强化了Web网页的表现性能。除了可描绘二维图形外,还准备了用于播放视频和音频的标签。
  3. 追加了本地数据库等Web应用的功能。
  4. H5营销的数据统计方便

24. APP测试/Web测试/H5测试的区别

相同之处
针对同一个系统功能的测试,三端所测的业务流程是一样的

一般情况下手机端和PC端都对应一套后台服务,也有一些功能,比如PC与手机端展示不一致,或者有什么特殊处理,这样情况下后台会写两套不同的接口来处理对应的业务需求

不同之处
  1. 测试平台(容器)不同
  2. 兼容性测试不同
  3. 系统架构不一样
  4. 发布流程不同
  5. APP还有一些专项测试

25.移动端常用的三种开发模式

主要有原生APP(Native App)、混合APP(Hybrid App)、WEB APP三种.

二、探索式测试

  1. 传递测试法:看数据

  2. 测一送一: 同时执行两种同样的操作。

  3. 遍历测试法: 测试弹窗,测试所有弹窗。

  4. 破坏测试法:比如网络或者内存。(前四种主要是全局的)

三、敏捷测试方法

3.1 瀑布模型和敏捷模型比较

顺序(瀑布模型):简单,分阶段,阶段间存在因果关系,不支持用户参与,要求预先确定需求。
使用范围:需求易于完善定义且不易变更的软件系统。

敏捷(迭代):不要求需求预先完备定义,支持用户参与,支持需求的渐进式完善和确认,能够适应用户需求的变化。
使用范围:需求复杂、难以确定、动态变化的软件系统

3.2 Scrum框架包括3个角色、3个工件、5个事件、5个价值

3个角色:产品负责人 ScrumMaster 开发团队

3个工件
产品Backlog
SprintBacklog
产品增量

5个事件
Sprint(Sprint本身是一个事件,包括了如下4个事件)
Sprint计划会议
每日站会
Sprint评审会议
Sprint回顾会议

5个价值
承诺 – 愿意对目标做出承诺
专注– 把你的心思和能力都用到你承诺的工作上去
开放– Scrum 把项目中的一切开放给每个人看
尊重– 每个人都有他独特的背景和经验
勇气– 有勇气做出承诺,履行承诺,接受别人的尊重

3.3 用户故事包含三个要素

  1. 角色(who) :谁要使用这个
  2. 活动(what) :要完成什么活动
  3. 价值(value) :为什么要这么做,这么做能带来什么价值

3.4 用户故事的特性

  1. 独立的
  2. 可讨论的
  3. 有价值的
  4. 可估算的
  5. 小的
  6. 可测试的

3.5用户故事的优先级

1.Must 2.Should 3.Could 4.Would Not

3.6 看板的作用

  1. 明确的阶段及准入准则。
  2. 每个阶段的任务数量,控制在制品<=4。
  3. 交付周期中的各个时间长度。
  4. 待交付价值已交付价值。
  5. 信息的可视化及变化通知。

3.7 什么是devops

:文化改变+自动化工具=不断变化的市场。也是开发模式:敏捷+自动化工具

3.8 测试左移 和 测试右移

测试左移
  1. 评审
  2. 技术对齐
  3. 自测赋能
  4. 多角色协作
测试右移
  1. 灰度
  2. 监控
  3. 问题归因

四、web安全

4.1 渗透测试主要做什么?

通过实际的攻击进行安全测试与评估的方法就是渗透测试

4.2 渗透测试的流程

  1. 明确目标
  2. 信息收集
  3. 漏洞探测
  4. 漏洞验证
  5. 编写报告
  6. 信息整理与分析

4.3 信息收集的内容

  1. 域名信息
  2. 敏感目录
  3. 端口扫描
  4. 旁站C段
  5. 整站分析

4.4 同源策略概念及意义

概念:两个页面地址中的协议域名(或IP)子域名端口号一致,则表示同源

意义:限制了来自不同源的“document”或脚本,对当前“document”读取或设置某些属性

4.5 浏览器沙箱

沙箱(Sandbox):泛指“资源隔离类模块”的代名词

设计沙箱的目的:

  1. 让不可信任的代码运行在一定的环境中,限制不可信任的代码访问隔离区之外的资源

  2. 如果一定要跨越沙箱边界产生数据交换,则只能通过指定的数据通道,比如经过封装的API来完成,在这些API中会严格检查请求的合法性

4.6 恶意网址拦截机制

浏览器周期性地从服务器端获取一份最新的恶意网址黑名单,如果用户上网访问的网址存在于此黑名单中,浏览器就会弹出一个警告页面

4.7 XSS攻击的原理

攻击者可以在之间输入JavaScript代码,实现一些“特殊效果”
在真实的攻击中,攻击者不仅仅弹出一个框,通常使用

方式来加载外部脚本,

而在x.txt中就存放着攻击者的恶意JavaScript代码,这段代码可能是
用来盗取用户的Cookie,也可能是监控键盘记录等恶意行为

4.8 xss三种类型

反射型:将恶意代码附着在参数中实例,

储存型:当用户提交一段XSS代码后,被服务器端接收并存储,当攻击者再次访问某个页面时,这段XSS代码被程序读出来响应给浏览器

DOM:通过JavaScript修改页面的DOM节点形成的XSS

4.9 XSS漏洞防范

  1. 过滤 html
  2. PHP输出到JS代码中,或者开发Json API的,则需要前端在JS中进行过滤
  3. 在设置Cookie时,加上HttpOnly参数

4.10 什么是sql注入?

SQL注入是将Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令

4.11 sql注入的类型?

  1. 字符型注入
  2. 数字型注入
  3. 盲注
  4. 联合注入

4.12 盲注的类型?

  1. 布尔盲注
  2. 时间盲注

4.13 什么是文件包含漏洞?

开发人员为了增加代码的灵活性,通常会将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。PHP、JSP、ASP等语言中都可能会有文件包含漏洞,但PHP中居多。

4.14 利用文件包含漏洞满足下面两个条件?

  1. Include()等函数通过动态变量的方式引入需要包含的文件;
  2. 用户能够控制该动态变量

4.15 文件包含漏洞预防

  1. 严格判断包含中的参数是否外部可控,因为文件包含漏洞利用成功与否的关键点就在于被包含的文件是否可被外部控制;
  2. 路径限制:限制被包含的文件只能在某一文件夹内, 一定要禁止目录跳转字符,如“…/”;
  3. 包含文件验证:验证被包含的文件是否是白名单中的一员;
  4. 尽量不要使用动态包含,可以在需要包含的页面固定写好,如: include(“head.php”);.

4.16 文件上传检测的内容?

  1. 客户端检测:客户端使用JS检测,在文件未上传时,就对文件进行验证
  2. 服务器端检测:检测文件扩展名是否合法,检测文件中是否嵌入恶意代码

4.17 防范文件上传漏洞常见方法?

  1. 文件上传的目录设置为不可执行
  2. 判断文件类型
  3. 使用随机数改写文件名和文件路径
  4. 单独设置文件服务器的域名

4.18 什么是点击劫持?

攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。

4.19 CSRF原理?

是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去运行。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。

4.20 CSRF的防御?

  1. 验证 HTTP Referer 字段
  2. 二次确认输入验证码
  3. Token认证,使用Token防御CSRF
  4. Cookie Hashing

4.21 HTML5安全问题?

  1. CORS攻击
  2. Web Storage攻击
  3. Web Worker攻击
  4. 新标签攻击

4.22 session的攻击方式?

  1. 会话固定攻击

利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击。

  1. Session保持攻击

Session是有生命周期的,攻击者持有一个有效的Session,若Session一直未能失效,则攻击就通过此有效的Session一直使用用户的账户,成为一个永久的“后门”。

4.23 单点登录

简称SSO。在多个应用系统中,只需要登录一次,就可以访问其他所有的应用系统。

4.24 基于角色的访问控制和基于数据的访问控制

基于角色的访问控制:访问控制实际上是建立用户与权限之间的对应关系
由于水平权限管理是系统缺乏一个数据级的访问控制所造成的

4.25 OAuth 2.0 原理

OAuth引入了一个授权环节来解决上述问题。第三方应用请求访问受保护资源时,资源服务器在获准资源用户授权后,会向第三方应用颁发一个访问令牌(AccessToken)。该访问令牌包含资源用户的授权访问范围、授权有效期等关键属性。第三方应用在后续资源访问过程中需要一直持有该令牌,直到用户主动结束该次授权或者令牌自动过期。

4.26 四种授权方式

  1. 授权码
  2. 隐藏式
  3. 密码式
  4. 客户端凭证
    n一直未能失效,则攻击就通过此有效的Session一直使用用户的账户,成为一个永久的“后门”。

4.23 单点登录

简称SSO。在多个应用系统中,只需要登录一次,就可以访问其他所有的应用系统。

4.24 基于角色的访问控制和基于数据的访问控制

基于角色的访问控制:访问控制实际上是建立用户与权限之间的对应关系
由于水平权限管理是系统缺乏一个数据级的访问控制所造成的

4.25 OAuth 2.0 原理

OAuth引入了一个授权环节来解决上述问题。第三方应用请求访问受保护资源时,资源服务器在获准资源用户授权后,会向第三方应用颁发一个访问令牌(AccessToken)。该访问令牌包含资源用户的授权访问范围、授权有效期等关键属性。第三方应用在后续资源访问过程中需要一直持有该令牌,直到用户主动结束该次授权或者令牌自动过期。

4.26 四种授权方式

  1. 授权码
  2. 隐藏式
  3. 密码式
  4. 客户端凭证

可以说web安全是学习网络必不可少的一部分,不会web渗透的很难学好网络安全。对于从来没有接触过网络安全的同学,我帮你们准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
在这里插入图片描述
如果你找的资料不完整不实用,可以看看我花时间整理的自用的最新资料,从零基础到进阶完全没问题,里面包含了考证所需要学习的所有知识点,看这一套视频足够了!籽料已经上传至CSDN的官网,需要的可以点击链接【282G】网络安全&黑客技术零基础到进阶全套学习大礼包,免费分享!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于篇幅有限,仅展示部分籽料,需要全套的可以扫描下方二维码免费获取,如遇扫码问题也可以点击链接【282G】网络安全&黑客技术零基础到进阶全套学习大礼包,免费分享!
在这里插入图片描述

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

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

相关文章

LVGL_基础控件Button

LVGL_基础控件Button 1、创建按键 /* 创建一个btn部件(对象) */lv_obj_t * btn lv_btn_create(lv_scr_act()); // 创建一个btn部件(对象),他的父对象是活动屏幕对象2、修改样式 // 修改按钮部件&#xff08;对象&#xff09;矩形背景部分的样式&#xff08;按下的时候背…

GICI-LIB源码阅读(一)程序简介、编译调试、配置文件、车载数据集

原始 Markdown文档、Visio流程图、XMind思维导图见&#xff1a;https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、GICI-LIB 简介1、程序概述2、资源获取3、功能简介4、代码分析5、第三方库6、manual7、程序执行流程图8、定位模式1. GNSS2. GNSS INS3. GNSS …

计算机网络 快速了解网络层次、常用协议、常见物理设备。 掌握程序员必备网络基础知识!!!

文章目录 0 引言1 基础知识的定义1.1 计算机网络层次1.2 网络供应商1.3 猫、路由器、交换机1.4 IP协议1.5 TCP、UDP协议1.6 HTTP、HTTPS、FTP协议1.7 Web、Web浏览器、Web服务器 2 总结 0 引言 在学习的过程中总是会对IP、TCP、UDP、HTTP、HTTPS、FTP这些常见的协议不熟悉&…

目前制造企业生产计划现状是什么?有没有自动化排产系统?

大家都知道&#xff0c;人的指挥中心是大脑&#xff0c;大脑对我们的发出各种各样的指令&#xff0c;告诉我们&#xff1a;“手”做什么事情&#xff0c;“眼睛”看什么地方&#xff0c;“耳朵”听什么声音&#xff0c;然后再将摸到的、看到的、听到的信息传递给大脑&#xff0…

DataFrame入门

文章目录 1. 数据集合加载2. 使用常用的属性/方法查看数据情况type()shapecolumnsdtypesinfo() 3. 查看部分数据获取一列数据获取多列数据按行加载数据同时取出行列数据切片语法 4. 简单数据分析5. 数据可视化总结 1. 数据集合加载 pd.read_csv()方法不仅可以加载CSV文件&…

【DFIR】蘇小沐的微信公众号

【DFIR】蘇小沐的微信公众号 最近整理排版微信公众号【DFIR】&#xff0c;欢迎关注哟&#xff01;名称【DFIR】表示【数字取证和事件响应】之意&#xff01;—【蘇小沐】

哈希表(Hash Table)介绍

哈希表&#xff08;Hash Table&#xff09;介绍 哈希表&#xff08;Hash Table&#xff09;&#xff1a;也叫做散列表。是根据键值&#xff08;Key Value、关键码值&#xff09;直接进行访问的数据结构。 哈希表通过“键&#xff08;key&#xff09;”和“映射函数&#xff0…

Hive【Hive(六)窗口函数】

窗口函数&#xff08;window functions&#xff09; 概述 定义 窗口函数能够为每行数据划分 一个窗口&#xff0c;然后对窗口范围内的数据进行计算&#xff0c;最后将计算结果返回给该行数据。 语法 窗口函数的语法主要包括 窗口 和 函数 两个部分。其中窗口用于定义计算范围…

A*算法和Dijkstra

A*算法 A*算法 个人理解FGH&#xff0c;F是总距离&#xff0c;G是已经走过的距离&#xff0c;F是暂未走过的距离&#xff0c;通过不断探索领进路径直至所有路径都到达终点&#xff0c;然后反向去确定最短路&#xff01; A*算法是静态路网中寻找最短路的最有效算法&#xff…

网络安全工程师考证指南,不看就亏了!!

目前网络安全行业&#xff0c;国内都有哪些证书可以考&#xff1f; 一、CISP-PTE &#xff08;国家注册渗透测试工程师&#xff09; CISP-PTE即注册信息安全渗透测试工程师&#xff0c;该证书由中国信息安全测评中心颁发&#xff0c;证书是国内唯一认可的渗透测试认证&#x…

GO 中优雅编码和降低圈复杂度

本次主要是聊聊关于使用接口抽象和降低圈复杂度的方式 工作中&#xff0c;难免会遇到老项目老代码&#xff0c;不仅仅需要我们维护&#xff0c;可能还需要我们在原来的垃圾代码上进行新增功能或者是进行优化调整 例如 现有的老代码中关于用户系统这一块就已经经是摇摇欲坠&a…

新版精仿今日头条新闻网站源码/搭建教程+自动采集接口+采集更新文章【新闻站搭建源码】

精仿今日头条新闻网站源码&#xff0c;这个是新闻站搭建源码&#xff0c;含有搭建教程&#xff0c;也可以自动采集接口采集更新文章。源码亲测可用&#xff0c;mysql5.7、PHP7.3支持页面自适应&#xff0c;里面带有详细安装搭建教程。 功能特点&#xff1a; 1、这个网站可以自…

【C++】多线程的学习笔记(2)——白话文版(bushi

目录 前一篇 本章内容提要 使用mutex锁的原因 mutex锁的概念 mutex的使用教程 锁的声明以及命名 mutex的加锁以及解锁 例子 结果 注意 mutex的其他方式的锁介绍 lock_guard 介绍 例子 运行结果 adopt_lock参数 unique_lock 介绍 try_to_lock defer_lock re…

fic2023(完结,AIRDROP放弃)

AIRDROP 1.请分析苹果手机导出日志,airdrop所使用的扫描模式(Scanning mode)为?? 直接搜索可得Scanning mode Contacts Only 2. AirDrop服务计划监听端口号是多少? 8770 3.AirDrop中接收到图片的识别码(identifier)是多少?(标准格式:12345678-1234-5678-1234-5678…

工厂生产线管理所需的系统介绍

工厂生产线管理对于提高生产效率、优化资源利用和确保产品质量至关重要。在现代化工厂中&#xff0c;采用各种系统来支持生产线的管理和运营。本文将全方位介绍工厂生产线管理所需的系统&#xff0c;包括生产计划系统、设备监控系统、质量管理系统和数据分析系统。 一、生产计划…

Adobe_InDesign_2023_18.4.0.056图文安装教程及下载

Adobe InDesign是Adobe公司的一个桌面出版 (DTP)应用程序&#xff0c;简称“Id”,主要用于各种印刷品的排版编辑。InDesign是一款功能强大的出版物创作、排版和打印软件&#xff0c;可以帮助出版物和广告创作者提高效率&#xff0c;节省时间&#xff0c;改善印刷质量。InDesign…

大模型部署手记(6)通义千问+Jetson AGX Orin

1.简介 组织机构&#xff1a;阿里 代码仓&#xff1a;https://github.com/QwenLM/Qwen 模型&#xff1a;Qwen/Qwen-7B-Chat-Int4 下载&#xff1a;http://huggingface.co/Qwen/Qwen-7B-Chat-Int4 modelscope下载&#xff1a;https://modelscope.cn/models/qwen/Qwen-7B-Ch…

设计模式——Decorator(装饰器模式)

Decorator(装饰器模式) 目的&#xff1a; 动态地给一个对象添加一些额外的职责。 适用性&#xff1a; 在不影响其他对象的情况下&#xff0c;以动态、透明的方式给单个对象添加职责。 简单解释 当有一个已经完成的系统&#xff0c;其中类和对象的关系的错综复杂的&#x…

【MySql】Mysql之备份与恢复

目录 一、mysql日志概述 1、日志类型与作用 2、日志配置文件 3、日志配置文件的查询 二、备份的类型❤ 1、物理备份 1.1 冷备份 1.2 热备份 1.3 温备份 2、逻辑备份❤ 2.1 完全备份 2.2 差异备份 2.3 增量备份 2.5 如何选择逻辑备份策略 3、常见的备份方法 3…

大模型部署手记(3)通义千问+Windows GPU

1.简介 组织机构&#xff1a;阿里 代码仓&#xff1a;GitHub - QwenLM/Qwen: The official repo of Qwen (通义千问) chat & pretrained large language model proposed by Alibaba Cloud. 模型&#xff1a;Qwen/Qwen-7B-Chat-Int4 下载&#xff1a;http://huggingface…