Web 安全基础理论

news2024/12/25 11:02:41

Web 安全基础理论

培训、环境、资料、考证
公众号:Geek极安云科
网络安全群:624032112
网络系统管理群:223627079 
网络建设与运维群:870959784 
移动应用开发群:548238632
短视频制作群: 744125867

极安云科专注于技能提升,赋能
2024年广东省高校的技能提升,受赋能的客户院校均获奖!
2024年江苏省赛一二等奖前13名中,我们赋能客户占五支队伍!
2024年湖南省赛赋能三所院校均获奖!
2024年山东省赛赋能两所院校均获奖!
2024年湖北省赛赋能参赛院校九支队伍,共计斩获一等奖2项、三等奖7项!

Web 基础理论 mind

0x01 HTTP

HTTP(HyperText Transfer Protocol,超文本传输协议),是访问万维网使用的核心通信协议,也是今天所有Web应用程序使用的通信协议

HTTP使用一种基于消息的模型:客户端送出一条请求消息,而后由服务器返回一条响应消息。该协议基本上不需要连接,虽然HTTP使用有状态的TCP协议作为它的传输机制,但每次请求与响应交换都自动完成,并且可能使用不同的TCP连接。

0x02 URL

URL(Uniform Resource Locator,统一资源定位符)是标识Web资源的唯一标识符,通过它即可获取其标识的资源。最常用的URL格式如下:

Web 安全基础 URL

这个结构中有几个部分是可选的。如果端口号与相关协议使用的默认值不同,则只包含端口号即可。用于生成前面的HTTP请求的URL为:

Web 安全基础 URL 统一资源定位符

Web页面常常使用这些相对形式描述Web站点或应用程序中的导航。

实际上 URL 因该称作 URI 统一资源标识符,但这一术语仅用于正式规范中,我们参考即可

0x03 REST 🔺

表述性状态转移(REST)是分布式系统的一种体系架构,在这类体系架构中,请求和响应包含系统资源当前状态的表述。万维网,包括HTTP协议和URL格式中使用的核心技术,均符合REST体系架构风格。

虽然在查询字符串中包含参数的URL本身遵循REST约束,但“REST风格的URL”一词通常指在URL文件路径而非查询字符串中包含参数的URL。例如,下面这个包含查询字符串的URL:

Web 安全 REST-1

与以下包含“REST风格”参数的URL相对应:

Web 安全 REST-2

0x04 HTTP 状态码 🔺

关于响应码,我们这里列出常见且有用的,以表格呈现,方便清晰和保存

responseCodeexplanation
100-200
1xx(表示请求已被接受,并需要处理)
100(初始的请求已经接受),客户应当继续发送请求的其余部分
101服务器将遵从客户的请求转换到另外一种协议
200-300
2xx**(请求成功)**表示成功处理了请求的状态代码
200**(成功)**服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
201**(已创建)**请求成功并且服务器创建了新的资源
202**(已接受)**服务器已接受请求,但尚未处理
203**(非授权信息)**服务器已成功处理了请求,但返回的信息可能来自另一资源。
204**(无内容)**服务器成功处理了请求,但没有返回任何内容
205**(重置内容)**服务器成功处理了请求,但没有返回任何内容
206**(部分内容)**服务器成功处理了部分 GET 请求
300-400
3开头**(请求被重定向)**表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向
300**(多种选择)**针对请求,服务器可执行多种操作。服务器可根据请求者(user agent)选择一项操作,或提供操作列表供请求者选择
301**(永久移动)**请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新的位置
302**(临时移动)**服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
303**(查看其他位置)**请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码
304**(未修改)**自从上次请求后,请求的网页未修改过。服务器返回此响应,不会返回网页内容
305**(使用代理)**请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理
307**(临时重定向)**服务器目前从不同位置的网页响应请求,但请求者继续使用原有位置来进行以后的请求
400-500
4开头**(请求错误)**这些状态码表示请求可能出错,妨碍了服务器的处理
400**(错误请求)**服务器不理解请求的语法
401**(未授权)**请求要求身份验证。对于需要登录的网页,服务器可能返回此响应
403**(禁止)**服务器拒绝请求
404**(未找到)**服务器找不到请求的网页
405**(方法禁用)**禁用请求中指定的方法
406**(不接受)**无法使用请求的内容特性响应请求的网页
407**(需要代理授权)**此状态代码与 401 (未授权)类似,但指定请求者应当授权使用代理
408**(请求超时)**服务器等候请求时发生超时
409**(冲突)**服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息
410**(已删除)**如果请求的资源已永久删除,服务器就会返回此响应
411**(需要有效长度)**服务器不接受不含有效内容长度标头字段的请求
412**(未满足前提条件)**服务器未满足请求者在请求中设置的其中一个前提条件
413**(请求实体过大)**服务器无法处理请求,因为请求实体过大,超出服务器的处理能力
414**(请求的 URI 过长)**请求的URI(通常为网址)过长,服务器无法处理
415**(不支持的媒体类型)**请求的格式不受请求页面的支持
416**(请求范围不符合)**如果页面无法提供请求的范围,则服务器返回此状态代码
417**(未满足期望值)**服务器未满足“期望”请求标头字段要求
500
5开头:**(服务器错误)**这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
500:**(服务器内部错误)**服务器遇到错误,无法完成请求
501:**(尚未实施)**服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码
502:**(错误网关)**服务器作为网关或代理,从上游服务器收到无效响应
503:**(服务不可用)**服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态
504:**(网关超时)**服务器作为网关或代理,但是没有及时从上游服务器收到请求
505:**(HTTP 版本不受支持)**服务器不支持请求中所用的 HTTP 协议版本

0x05 HTTP 请求

所有HTTP消息(请求与响应)中都包含一个或几个单行显示的消息头(header),然后是一个强制空白行,最后是消息主体(可选)。以下是一个典型的HTTP请求:

这需要我们具备捕获数据包的基本操作,后面我们会讲解,我们先了解即可

HTTP GET 简单请求过程

其中包含一些其他参数,比如我们常见的 cookie,host,User-Agent 等,我们在后面会讲解

0x06 HTTP 响应

下面是一个简单是 HTTP 响应过程以及响应数据,其中包含了 HTTP 协议号,以及响应码,其中发送了 Set-Cookie,以及 HTML 代码以响应页面。

HTTP 响应

其中也包含了一些常见参数,我们会在后面讲述

0x07 HTTP 方法

HTTP 方法主要分类如下,我们一个一个讲解:

  • Get
  • Post
  • HEAD
  • TRACE
  • OPTIONS
  • PUT
1.Get 🔺

==GET方法的作用在于获取资源。==它可以用于URL查询字符串的形式向所请求的资源发送参数。这使用户可将一个包含动态资源的URL标注为书签,用户自己或其他用户随后可重复利用该书签来获取等价的资源(作用与标注为书签的搜索查询相似)。URL显示在屏幕上,并被记录在许多地方,如浏览器的历史记录和Web服务器的访问日志中。如果单击外部链接,还可以用Referer消息头将它们传送到其他站点。因此,请勿使用查询字符串传送任何敏感信息。

2.Post 🔺

==POST方法的主要作用是执行操作。使用这个方法可以在URL查询字符串与消息主体中发送请求参数。==尽管仍然可以将URL标注为书签,但书签中并不包含消息主体发送的任何参数。许多维护URL日志的位置及Referer消息头也将这些参数排除在外。因为POST方法旨在执行操作,如果用户单击浏览器上的“后退”按钮,返回一个使用这种方法访问的页面,那么浏览器不会自动重新发送请求,而是就即将发生的操作向用户发出警告,如图3-1所示。这样做可防止用户无意中多次执行同一个操作。因此,在执行某一操作时必须使用POST请求。

3.HEAD

这个方法的功能与GET方法相似,不同之处在于==服务器不会在其响应中返回消息主体。==服务器返回的消息头应与对应GET请求返回的消息头相同。因此,这种方法可用于检查某一资源在向其提交GET请求前是否存在。

4.TRACE

这种方法主要用于诊断。服务器应在响应主体中返回其收到的请求消息的具体内容。这种方法可用于检测客户端与服务器之间是否存在任何操纵请求的代理服务器。

5.OPTIONS 🔺

这种方法要求服务器报告对某一特殊资源有效的HTTP方法。服务器通常返回一个包含Allow消息头的响应,并在其中列出所有有效的方法。

6.PUT 🔺

这个方法试图使用包含在请求主体中的内容,向服务器上传指定的资源。如果激活这个方法,渗透测试员就可以利用它来攻击应用程序。例如,通过上传任意一段脚本并在服务器上执行该脚本来攻击应用程序。

前提是对方服务器未开启文件锁,允许新文件诞生。

0x08 HTTP 消息头讲解 🔺

该知识点是重点

我们将消息头分为如下二种:

  • 请求消息头
  • 响应消息头

有一些消息头对我们没多大用处,所以我们记住重点即可,其他作为参考就行。

常用消息头
  • Connection:这个消息头用于告诉通信的另一端,在完成HTTP传输后是关闭TCP连接,还是保持连接开放以接收其他消息。

  • Content-Encoding:这个消息头为消息主体中的内容指定编码形式(如gzip),一些应用程序使用它来压缩响应以加快传输速度。

  • Content-Length:这个消息头用于规定消息主体的字节长度。(HEAD语法的响应例外,它在对应的GET请求的响应中指出主体的长度。)

  • Content-Type:这个消息头用于规定消息主体的内容类型。例如,HTML文档的内容类型为 text/html。

  • Transfer-Encoding:这个消息头指定为方便其通过HTTP传输而对消息主体使用的任何编码。如果使用这个消息头,通常用它指定块编码。

请求消息头
  • Accept:这个消息头用于告诉服务器客户端愿意接受哪些内容,如图像类型、办公文档格式等。

  • Accept-Encoding:这个消息头用于告诉服务器,客户端愿意接受哪些内容编码。

  • ==Authorization:==这个消息头用于为一种内置HTTP身份验证向服务器提交证书。

  • ==Cookie:==这个消息头用于向服务器提交它以前发布的cookie。

  • ==Host:==这个消息头用于指定出现在所请求的完整URL中的主机名称。

  • if-Modified-Since:这个消息头用于说明浏览器最后一次收到所请求的资源的时间。

如果自那以后资源没有发生变化,服务器就会发出一个带状态码304的响应,指示客户端使用资源的缓存副本。

  • If-None-Match:这个消息头用于指定一个实体标签。实体标签是一个说明消息主体内容的标识符。当最后一次收到所请求的资源时,浏览器提交服务器发布的实体标签。服务器可以使用实体标签确定浏览器是否使用资源的缓存副本。

  • ==Origin:==这个消息头用在跨域Ajax请求中,用于指示提出请求的域

  • ==Referer:==这个消息头用于指示提出当前请求的原始URL。

  • ==User-Agent:==这个消息头提供与浏览器或生成请求的其他客户端软件有关的信息。

响应消息头
  • Access-Control-Allow-Origin:这个消息头用于指示可否通过跨域Ajax请求获取资源。

  • Cache-Control:这个消息头用于向浏览器传送缓存指令(如M-cache)。

  • ETag:这个消息头用于指定一个实体标签。客户端可在将来的请求中提交这个标识符,获得和If-None-Match消息头中相同的资源,通知服务器浏览器当前缓存中保存的是哪个版本的资源。

  • Expires:这个消息头用于向浏览器说明消息主体内容的有效时间。在这个时间之前,浏览器可以使用这个资源的缓存副本。

  • Location:这个消息头用于在重定向响应(那些状态码以3开头的响应)中说明重定向的目标。

  • Pragma:这个消息头用于向浏览器传送缓存指令(如no-cache)。

  • ==Server:==这个消息头提供所使用的Web服务器软件的相关信息。

  • ==Set-Cookie:==这个消息头用于向浏览器发布cookie,浏览器会在随后的请求中将其返回给服务器。

  • WWW-Authenticate:这个消息头用在带401状态码的响应中,提供与服务器所支持的身份验证类型有关的信息。

  • X-Frame-Options:这个消息头指示浏览器框架是否及如何加载当前响应

0x09 HTTPS

HTTP 使用普通的非加密TCP作为其传输机制,因此,处在网络适当位置的攻击者能够截取这个机制。HTTPS本质上与HTTP一样,都属于应用层协议,但HTTPS通过安全传输机制——安全套接层(Secure Socket Layer,SSL)——传送数据。这种机制可保护通过网络传送的所有数据的隐密性与完整性,显著降低非入侵性拦截攻击的可能性。不管是否使用SSL进行传输,HTTP请求与响应都以完全相同的方式工作。

有意思的是:如今的SSL实际上已经由 TLS(Transport Layer Security,传输层安全)代替,但后者通常还是使用SSL这个名称

0x10 代理

202206191633931

HTTP 代理服务器是一个协调客户端浏览器与目标 Web 服务器之间访问的服务器。当配置浏览器使用代理服务器时,它会将所有请求提交到代理服务器,代理服务器再将请求转送给相关 Web 服务器,并将响应返回给浏览器。

我们可以将代理服务器或者代理理解为一个拦路的强盗

不管是谁来,只要我们起了代理,那么就必须走我这个代理的路,我们可以起到拦截流量,或者不拦截流量的操作

通常不拦截流量,会将流量转发给代理服务区,然后再通过代理服务器转发给目标,这就形成了一个隐藏自身 IP 的方法。

常见代理服务器:快代理

常见抓包工具:BurpSuite,Fiddle,Charles,Wireshark,TCPdump(Linux),科来网络分析系统,WPE 封包技术等等

0x11 Bugku CTF 演练

Bugku 网址:https://ctf.bugku.com/

演练总共分以下;

  • GET
  • POST

完成以上两种 HTTP 请求方法 CTF 入门赛题,增强我们对 GET POST 请求方法的记忆增强与理解

题目分布在 Web 分类中

关于 CTF 平台无限金币刷题注册

有些 CTF 平台如果可以使用邮箱注册,我们可以使用网上的临时邮箱;

这里给一个参考链接:https://tempmail.cn/

用临时邮箱注册,以达到无限金币刷题练习。

GET 演练

分析给出的 PHP 代码

$what=$_GET['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';
  • 可以看到,有一个 what 变量,使用 GET HTTP 方法接收数据,指定 what 字符串为接收

  • 然后是一个判断 <如果 GET 传输给 what 接收的字符串中全等于 ‘flag’ 字符串,那么输出 flag>

payload

http://114.67.175.224:17979/?what=flag

最终输出 flag

flag{783c1d6b0fd59da9efd54220ac4ae6b5}
POST 演练

分析给出的 PHP 代码

$what=$_POST['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';

可以看到,代码跟 GET 那道题目一样,只是请求的方法变了,我们只需要发送 POST 请求,使 what==flag 即可

能够操作的工具和方法这里给出:

  • Hackbar 浏览器插件
  • 其他类似 hackbar 的插件
  • BurpSuite 代理拦截发送 POST 数据

除了 BurpSuite 的方法之外,其他拿到 flag 的方式都差不多,但是不能增加我们对 POST 方法的理解

所以我这里操作 BurpSuite 解题

先使用 SwitchyOmega 挂起代理

CTF-POST-1

给个名称然后确认

CTF-POST-2

操作之后应用

CTF-POST-3

BurpSuite 操作 POST 数据

挂起代理,拦截数据,发送到 Repeater,修改数据包以发送 POST 方法数据,拿到 flag

  • 其中的关键点就在于,如果发送 POST 数据,需要我们给定一个 Content-type

  • 这样目标服务器才能够解析我们发送的 POST 数据,否则服务器不解析。

拿到数据包

CTF-POST-4

修改数据包

CTF-POST-5

这也就是 POST 与 GET 的区别,我们要掌握这种基础知识

0x12 Tomcat CVE-2017-12615 PUT 方法任意文件上传漏洞演练

关于这个 PUT 上传是最为基础的漏洞,也是安全入门必须理解的一个 HTTP 方法

漏洞环境搭建

先把测试环境搭建起来:

  • 安装 Centos 7 Linux 虚拟机

  • 配置国内在线 Yum源

    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    yum makecache
    
  • 配置国内 docker 源

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  • 配置 Python3 环境

    yum install python3 –y
    
  • 升级 pip

    python3 -m pip install --upgrade pip
    
  • 配置 pip 国内源

    打开(若没有自行创建 mkdir ~/.pip 然后 touch pip.conf)配置文件 ~/.pip/pip.conf

    修改如下:

    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    [install]
    trusted-host = https://pypi.tuna.tsinghua.edu.cn
    

    配置完后,查看镜像地址,确认

    $ pip3 config list   
    global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'
    install.trusted-host='https://pypi.tuna.tsinghua.edu.cn'
    
  • 搭建 Docker 环境

1:安装 docker yum install docker-ce

2:启动 Docker systemctl start docker

3:将 Docker 加入开机自启动 systemctl enable docker

4:pip 安装 Docker-compose pip install docker-compose

5:安装文件传输工具:yum install lrzsz -y

6:进入相关漏洞目录下载环境 docker-compose build

7:启动环境 docker-compose up -d <-d 表示后台运行>

8:查看操作路径 docker-compose ps

9:关闭环境 docker-compose down

以下我将操作步骤列出;

  • 点击网站可转自身文件夹站点
  • 使用代理拦截数据包
  • 修改数据包请求方法为 OPTIONS,查看是否支持 PUT 方法
  • 若支持 PUT 方法,则以网站支持语言上传 WebShell [^ Apache Tomcat JSP]
  • 连接 WebShell 拿下权限,JSP 默认以 root 权限运行

其中在这些步骤中,有我们需要操作,注意的地方如下:

PUT /shell.jsp/ HTTP\1.1

指定上传的 WebShell name 路径表达必须完整

不能 PUT /shell.jsp HTTP\1.1 这样会上传失败

6:进入相关漏洞目录下载环境 docker-compose build

7:启动环境 docker-compose up -d <-d 表示后台运行>

8:查看操作路径 docker-compose ps

9:关闭环境 docker-compose down

以下我将操作步骤列出;

  • 点击网站可转自身文件夹站点
  • 使用代理拦截数据包
  • 修改数据包请求方法为 OPTIONS,查看是否支持 PUT 方法
  • 若支持 PUT 方法,则以网站支持语言上传 WebShell [^ Apache Tomcat JSP]
  • 连接 WebShell 拿下权限,JSP 默认以 root 权限运行

其中在这些步骤中,有我们需要操作,注意的地方如下:

PUT /shell.jsp/ HTTP\1.1

指定上传的 WebShell name 路径表达必须完整

不能 PUT /shell.jsp HTTP\1.1 这样会上传失败

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

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

相关文章

python编程“常识”【pip安装路径、计算、pycharm中的terminal运行前面的PS修改成自己环境】

一、默认的pip install包路径&#xff1a; pip show pip 二、计算 打开cmd&#xff0c;输入&#xff1a; ipython 例如你要计算2的13次方&#xff1a; ok. 三、pycharm中的terminal运行前面的PS修改成自己环境 未修改前&#xff1a; 修改过程&#xff1a; 打开设置找到too…

安卓模拟器访问主机局域网

误打误撞能够访问主机局域网了 但是不太懂是因为哪一部分成功的 先记录一下 PC&#xff1a;mac系统 安卓编译器&#xff1a;Android Studio 步骤 只需要在PC上进行设置 1. 在【设置】中&#xff0c;打开已连接的Wi-Fi的【详细信息】 2. TCP/IP --> 配置IPv6&#xff0c;修…

STM32--4G DTU 及 阿里云

模块概述 ATK-IDM750C/IDM751C 是正点原子(ALIENTEK)团队开发的一款高性能 4G Cat1 DTU 产品&#xff0c; 支持移动 4G、联通 4G 和电信 4G 手机卡。它以高速率、低延迟和无线数传作为核心功能&#xff0c; 可快速解决应用场景下的无线数传方案。 它支持 TCP/UDP/HTTP/MQTT/DN…

电脑windows系统压缩解压软件-Bandizip

一、软件功能 Bandizip是一款功能强大的压缩和解压缩软件&#xff0c;具有快速拖放、高速压缩、多核心支持以及广泛的文件格式支持等特点。 Bandizip软件的功能主要包括&#xff1a; 1. 支持多种文件格式 Bandizip可以处理多种压缩文件格式&#xff0c;包括ZIP, 7Z, RAR, A…

2024-05-09 Ubuntu上面用ffmpeg把jpeg图像转成yuv、rgb格式文件,通过ffplay命令显示这些文件成图像

一、安装 FFmpeg: 如果你的Ubuntu系统中没有安装 FFmpeg,可以通过以下命令来安装: sudo apt update sudo apt install ffmpeg 二、测试原图,cowboy_girl_1024X1280.jpeg,分辨率是1024X1280. 三、使用 ffmpeg -pix_fmts 命令查看ffmpeg支持的格式 ffmpeg -pix_fmts 四、使…

如何预防最新的Mallox变种rmallox勒索病毒感染您的计算机?

导言&#xff1a; 在数字化浪潮中&#xff0c;网络安全如履薄冰。新兴的.rmallox勒索病毒&#xff0c;以其独特的攻击方式和狡猾的战术&#xff0c;给全球网络安全带来了前所未有的挑战。本文将深入剖析.rmallox勒索病毒的战术&#xff0c;并提出一系列创新的防御策略&#xf…

[uniapp 地图组件] 小坑:translateMarker的回调函数,会调用2次

大概率是因为旋转和移动是两个动画&#xff0c;动画结束后都会分别调用此函数 即使你配置了 【不旋转】它还是会调用两次&#xff0c; 所以此处应该是官方的bug

【Python】什么是皮尔森系数

我不完美的梦 你陪着我想 不完美的勇气 你说更勇敢 不完美的泪 你笑着擦干 不完美的歌 你都会唱 我不完美心事 你全放在心上 这不完美的我 你总当做宝贝 你给我的爱也许不完美 但却最美 &#x1f3b5; 周冬雨《不完美女孩》 皮尔森相关系数&#xff08;Pe…

2024面试自动化测试面试题【含答案】

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

《ESP8266通信指南》14-连接WIFI(基于Lua)

往期 《ESP8266通信指南》13-Lua 简单入门&#xff08;打印数据&#xff09;-CSDN博客 《ESP8266通信指南》12-Lua 固件烧录-CSDN博客 《ESP8266通信指南》11-Lua开发环境配置-CSDN博客 《ESP8266通信指南》10-MQTT通信&#xff08;Arduino开发&#xff09;-CSDN博客 《ES…

20232937文兆宇 2023-2024-2 《网络攻防实践》实践九报告

20232937文兆宇 2023-2024-2 《网络攻防实践》实践九报告 1.实践内容 1.实践目标 本次实践的对象是一个名为pwn1的linux可执行文件。 该程序正常执行流程是&#xff1a;main调用foo函数,foo函数会简单回显任何用户输入的字符串。 该程序同时包含另一个代码片段&#xff0c;…

数字化转型浪潮下,信创如何破浪前行,六招助你稳中求胜

信创改造落地过程中的六个难点及应对经验 技术生态迅猛发展&#xff0c;尚未成熟且多元化&#xff0c;信创技术栈应用经验匮乏&#xff0c;导致改造落地工作面临重重挑战。在此背景下&#xff0c;如何克服技术难题&#xff0c;推动信创改造顺利实施&#xff0c;成为业界亟待解决…

论文阅读:Real-Time 3D Model Acquisition

前言&#xff1a; 本文为记录自己在NeRF学习道路的一些笔记&#xff0c;包括对论文以及其代码的思考内容。 小编目前在探索3DAIGC和3D打印交叉研究&#xff0c;在这方面有想法、经验的朋友都可以在b站留言交流下&#xff01;欢迎&#xff01; 公众号&#xff1a; AI知识物语…

vue3+ts--实际开发之--table表格打印或者保存

vue3实现指定区域打印&#xff08;导出&#xff09;功能-主要是解决分页内容分割问题 一、 问题页面效果二、 Print.js相关属性 和使用1. 介绍2. 安装引入3. PrintJS参数配置表 三 、解决关于分页文字或者表格被分割问题&#xff0c;解决后如下&#xff1a;1. 设置一个自定义ta…

手机端如何生成gif?一个方法在线转换gif

当我们看到网络上好看个性的gif动画表情包的时候是不是也很想自己制作呢&#xff1f;很多小伙伴都不知道要怎么在手机上制作gif动图吧&#xff01;下面&#xff0c;给大家分享一款操作简单无需下载的动态图片在线制作&#xff08;https://www.gif.cn/&#xff09;的操作工具&am…

巨资回流,量子投资热潮再起

一股新的信心和资金浪潮正在席卷量子计算产业。 2023年4月30日&#xff0c;澳大利亚联邦政府和昆士兰州政府宣布共同出资9.4亿澳元&#xff08;约合6.2亿美元&#xff09;&#xff0c;支持美国初创企业PsiQuantum在布里斯班附近建设一台大型量子计算机。这项投资是最新的迹象之…

【OceanBase诊断调优】—— 磁盘性能问题导致卡合并和磁盘写入拒绝排查

适用版本 OceanBase 数据库 V3.x、V4.x 版本。 问题现象 OceanBase 集群合并一直未完成&#xff0c;同时 tsar 和 iostat 显示从凌晨 2:30 开始磁盘使用率一直是 100%。怀疑合并导致 IO 上升&#xff0c;IO 可能存在问题&#xff0c;observer.log 的确有大量报错 disk is hu…

哪里有高清视频素材网站?有没有视频素材网站?

在这个数字内容不断演化的时代&#xff0c;寻找优质的视频素材是每个创作者的必经之路。尤其是可商用和高清素材&#xff0c;它们对提升作品的视觉效果和吸引力至关重要。以下介绍几个国际知名的视频素材网站&#xff0c;旨在帮助您找到理想的视频资源。 1. 蛙学府 为订阅者提…

AOF持久化是怎么实现的?

AOF持久化是怎么实现的&#xff1f; AOF 日志三种写回策略AOF 重写机制AOF 后台重写总结参考资料 AOF 日志 试想一下&#xff0c;如果 Redis 每执行一条写操作命令&#xff0c;就把该命令以追加的方式写入到一个文件里&#xff0c;然后重启 Redis 的时候&#xff0c;先去读取这…

MySQL——变量的浮点数问题处理

新建链接&#xff0c;自带world数据库&#xff0c;里面自带city表格。 DQL #MySQL变量的浮点数问题处理 set dx3.14,dy3.25; select dxdy;#计算显示异常&#xff0c;会有很多00000的提示set resultdxdy; select result; 查询结果