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

业务安全及实战案例

业务安全

关于漏洞:

  • 注入
  • 业务逻辑
  • 信息泄露

A04:2021 – Insecure Design

在线靶场PortSwigger

1. 概述

1.1 业务安全现状

1.1.1 业务逻辑漏洞

​ 近年来,随着信息化技术的迅速发展和全球一体化进程的不断加快,计算机和网络已经成为与所有人都息息相关的工具和媒介,个人的工作、生活和娱乐,企业的管理,乃至国家的发展和改革都无处其外。信息和互联网带来的不仅仅是便利和高效,大量隐私、敏感和高价值的信息数据和资产,成为恶意攻击者攻击和威胁的主要目标,从早期以极客为核心的黑客黄金时代,到现在利益链驱动的庞大黑色产业,网络安全已经成为任何个人、企业、组织和国家所必须面临的重要问题。“网络安全和信息化是事关国家安全和国家发展、事关广大人民群众工作生活的重大战略问题,没有网络安全就没有国家安全,没有信息化就没有现代化。”
​ 随着互联网+的发展,经济形态不断地发生演变。众多传统行业逐步地融入互联网并利用信息通信技术以及互联网平台进行着频繁的商务活动,这些平台(如银行、保险、证券、电商、P2P、O2O、游戏、社交、招聘、航空等)由于涉及大量的金钱、个人信息、交易等重要隐私数据,成为了黑客攻击的首要目标,而因为开发人员安全意识淡薄(只注重实现功能而忽略了在用户使用过程中个人的行为对Wb应用程序的业务逻辑功能的安全性影响)、开发代码频繁迭代导致这些平台业务逻辑层面的安全风险层出不穷。

image-20230906092630967

​ 业务逻辑漏洞主要是开发人员业务流程设计的缺陷,不仅限于网络层、系统层、代码层等。比如登录验证的
绕过、交易中的数据篡改、接口的恶意调用等,都属于业务逻辑漏洞。

1.1.2 黑客攻击的目标

​ 一方面随着社会和科技的发展,购物、社交、P2P、O2O、游戏、招聘等业务纷纷具备了在线支付功能。如电商支付系统保存了用户手机号、姓名、家庭住址,包括支付的银行卡信息、支付密码信息等,这些都是黑客感兴趣的敏感信息。攻击者可以利用程序员的设计缺陷进行交易数据篡改、敏感信息盗取、资产的窃取等操作。现在的黑客不在以炫耀技能为主要攻击目的,而主要以经济利益为目的,攻击的目的逐渐转变为趋利化。
​ 另一方面,如今的业务系统对于传统安全漏洞防护的技术、设备和开发框架越来越成熟,基于传统漏洞入侵
也变得越来越困难,增加了黑客攻击的成本。而业务逻辑漏洞可以逃逸各种安全防护,迄今为止没有很好的解决办法。也是为什么黑客偏好使用业务逻辑漏洞攻击的一个原因。

2. 业务安全测试

2.1 业务安全测试流程

image-20230906094030294

2.1.1 测试准备

准备阶段主要包括对业务系统的前期熟悉工作,以了解被测试业务系统的数量、规模和场景等内容

  • 针对白盒测试,可以结合相关开发文档去熟悉相关系统的业务;
  • 针对黑盒测试,可通过实际操作还原业务流程的方式理解业务。

2.1.2 业务调研

​ 业务调研阶段主要针对业务系统相关负责人进行访谈调研,了解业务系统的整体情况,包括部署情况、功能模块、业务流程、数据流、业务逻辑以及现有的安全措施等内容。根据以往测试实施经验,在业务调研前可先设计访谈问卷,访谈后可能会随着对客户业务系统具体情况了解的深入而不断调整、更新问卷(黑盒测试此步骤可忽略)。

2.1.3 业务建模

​ 针对不同行业、不同平台的业务系统,如电商、银行、金融、证券、保险、游戏、社交、招聘等业务系统,识别出其中的高风险业务场景进行建模。

以电商系统为例:

image-20230906094141417

2.1.4 业务流程梳理

以商城用户登录。

image-20230906105816995

​ 建模完成后需要对重要业务场景的各个业务模块逐一进行业务流程梳理,从前台和后台、业务和⽀撑系统等4 个不同维度进行分析,识别各业务模块的业务逻辑、业务数据流和功能字段(传参点)等。

业务模块的流程梳理主要遵循以下原则:

  • 区分业务主流程和分支流程,业务梳理工作是围绕主流程进行分析的,而主流程一定是核心业务流程,业务流程重点梳理的对象首先应放在核心主流程上,务必梳理出业务关键环节;

  • 概括归纳业务分支流程,业务分支流程往往存在通用点,可将具有业务相似性的分支流程归纳成某一类型的业务流程,无须单独对其进行测试;

  • 识别业务流程数据信息流,特别是业务数据流在交互方双方之间传输的先后顺序、路径等;

  • 识别业务数据流功能字段,识别数据流中包含的重要程度不等的信息,理解这些字段的含义有助于下阶段风险点分析。

image-20230906110105060

2.1.5 业务风险点识别

​ 在完成前期不同维度的业务流程梳理工作后,针对前台业务应着重关注用户界面操作每一步可能的逻辑风险和技术风险;针对后台业务应着重关注数据安全、数据流转及处理的日志和审计。

业务风险点识别应主要关注以下安全风险内容。

​ 业务环节存在的安全风险,业务环节存在的安全风险指的是业务使用者可见的业务存在的安全风险,如注册、登录和密码找回等身份认证环节,是否存在完善的验证码机制、数据一致性校验机制、Session 和Cookie 校验机制等,是否能规避验证码绕过、暴力破解和SQL 注入等漏洞。

​ 支持系统存在的安全风险,支持系统存在的安全风险,如用户访问控制机制是否完善,是否存在水平越权或垂直越权漏洞。系统内加密存储机制是否完善,业务数据是否明文传输。系统使用的业务接口是否可以未授权访问或调用,是否可以调用重放、遍历,接口调用参数是否可篡改等。

​ 业务环节间存在的安全风险,业务环节间存在的安全风险,如系统业务流程是否存在乱序,导致某个业务环节可绕过、回退,或某个业务请求可以无限重放。业务环节间传输的数据是否有一致性校验机制,是否存在业务数据可被篡改的风险。

​ 支持系统间存在的安全风险,支持系统间存在的安全风险,如系统间数据传输是否加密、系统间传输的参数是否可篡改。系统间输⼊参数的过滤机制是否完善,是否可能导致SQL 注入、XSS 跨站脚本和代码执行漏洞。

​ 业务环节与支持系统间存在的安全风险,业务环节与支持系统间存在的风险,如数据传输是否加密、加密方式是否完善,是否采用前端加密、简单MD5 编码等不安全的加密方式。系统处理多线程并发请求的机制是否完善,服务端逻辑与数据库读写是否存在时序问题,导致竞争条件漏洞。系统间输入参数的过滤机制是否完善。

image-20230906110947711

2.1.6 开展测试

​ 对前期业务流程梳理和识别出的风险点,进行有针对性的测试。

2.1.7 撰写报告

​ 针对业务安全测试过程中发现的风险结果进行评价和建议,综合评价利用场景的风险程度和造成影响的严重程度,最终完成测试报告的编写。

3. 业务安全经典场景

3.1 业务安全数据

3.1.1 商品支付金额篡改

典型案例:

  • 1 毛钱买电冰箱

​ 电商类网站在业务流程整个环节,需要对业务数据的完整性和一致性进行保护,特别是确保在用户客户端与服务端、业务系统接口之间的数据传输的一致性,通常在订购类交易流程中,容易出现服务器端未对用户提交的业务数据进行强制校验,过度信赖客户端提交的业务数据而导致的商品金额篡改漏洞。商品金额篡改测试,通过抓包修改业务流程中的交易页面等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程。

​ 该项测试主要针对订单生成的过程中存在商品支付金额校验不完整而产生业务安全风险点,通常导致攻击者用实际支付远低于订单支付的金额订购商品的业务逻辑漏洞。

3.1.1.1 环境搭建

登录在线靶场PortSwigger搜索Business找到Excessive trust in client-side controls

image-20230906112359253

image-20230906112602487

image-20230906112511770

3.1.1.2 过程

使用bp自带浏览器登录题目给我们的账号,查看登录流量

image-20230906112827116

返回home,点击皮夹克链接,查看流量

image-20230906113301519

将皮夹克添加购物车查看流量

image-20230906113442205

将购物车清空,重新添加皮夹克,然后打开代理拦截流量,查看数据包

image-20230906114300474

将抓到的数据包金额进行修改

image-20230906114518353

放包

image-20230906114654589

点击购买

image-20230906114730028

3.1.2 前端JS 限制绕过

典型案例:

  • 绕过JS 限制,购买多个打折商品

​ 很多商品在限制用户购买数量时,Web 应用仅在页面通过JS 脚本限制,未在服务器端校验用户提交的数量,通过抓取客户端发送的请求包修改JS端生成处理的交易数据,如将请求中的商品数量改为大于最大数限制的值,查看能否以非正常业务交易数据完成业务流程。

​ 该项测试主要针对电商平台由于交易限制机制不严谨、不完善而导致的一些业务逻辑问题。例如,在促销活动中限制商品购买数量,却未对数量进行前、后端严格校验,往往被攻击者所利用,购买多个促销商品,造成商家的损失。

3.1.3 请求重放测试

典型案例:

  • 一次购买,多次收货

​ 请求重放漏洞是电商平台业务逻辑漏洞中一种常见的由设计缺陷所引发的漏洞,通常情况下所引发的安全问题表现在商品首次购买成功后,参照订购商品的正常流程请求,进行完全模拟正常订购业务流程的重放操作,可以实现“一次购买,多次收货” 等违背正常业务逻辑的结果。

​ 该项测试主要针对电商平台订购兑换业务流程中对每笔交易请求的唯一性判断缺乏有效机制的业务逻辑问题,通过该项测试可以验证交易流程中随机数、时间戳等生成机制是否正常。

3.1.4 业务上线测试

典型案例:

  • 无限制查询历史消费记录。

​ 业务上限测试主要是针对一些电商类应用程序在进行业务办理流程中,服务端没有对用户提交的查询范围、订单数量、金额等数据进行严格校验而引发的一些业务逻辑漏洞。通常情况下,在业务流程中通过向服务端提交高于或低于预期的数据以校验服务端是否对所提交的数据做预期强校验。存在此类脆弱性的应用程序,通常表现为查询到超出预期的信息、订购或兑换超出预期范围的商品等。

该项测试主要判断应用程序是否对业务预期范围外的业务请求做出正确回应。

3.1.5 商品订购数量篡改

典型案例:

  • damicms_5.4_网上商城任意商品购买

​ 商品数量篡改测试是通过在业务流程中抓包修改订购商品数量等字段,如将请求中的商品数量修改成任意非预期数额、负数等进行提交,查看业务系统能否以修改后的数量完成业务流程。

​ 该项测试主要针对商品订购的过程中对异常交易数据处理缺乏风控机制而导致相关业务逻辑漏洞,例如针对订购中的数量、价格等缺乏判断而产⽣意外的结果,往往被攻击者利用。

3.1.5.1 环境搭建

将dami_5.4压缩包进行解压并将内容复制到在www目录下,访问dami_5.4

image-20230906115052182

image-20230906115132988

3.1.5.2 过程

使用bp自带浏览器注册登录,注册用户xj密码123456

image-20230906115524656

点击大米测试产品,点击立即购买进行抓包

image-20230906135804021

image-20230906140737725

填写信息选择站内扣款后提交订单,抓包

image-20230906140631420

image-20230906140953129

将数量改为-1,放包

image-20230906141440086

发现我们的余额从0变为6000

image-20230906141504148

3.2 密码找回安全

  • 用户提交修改密码请求,如果攻击者伪造请求,那么就能够尝试修改其他人的密码;
  • 账号认证:服务器发送唯一ID(例如短信验证码)只有账户所有者才能看的地方,完成身份验证;
  • 身份验证:用户提交验证码完成身份验证;
  • 修改密码:用户修改密码。

3.2.1 验证码客户端回显测试

典型场景:

  • 任意用户登录

使用验证码的场景:

  • 人机验证:防止机器操作,爆破表单。
  • 唯一凭据:唯一性判断,任意账户登录。

​ 找回密码测试中要注意验证码是否会回显在响应中,有些网站程序会选择将验证码回显在响应中,来判断用户输入的验证码是否和响应中的验证码一致,如果一致就会通过校验。

image-20230906135008082

3.2.2 验证码暴力破解

典型案例:

  • 验证码无使用次数限制

​ 找回密码功能模块中通常会将用户凭证(一般为验证码)发送到用户自己才可以看到的收集号或者邮箱中,只要用户不泄露自己的验证码就不会被攻击者利用,但是有些应用程序在验证码发送功能模块中验证码位数及复杂性较弱,也没有对验证码使用次数做限制而导致验证码可被暴力枚举并修改任意用户密码。

​ 在测试验证码是否可以被暴力枚举时,可以先将验证码多次发送给自己的账号,观察验证码是否有规律,如每次接收到的验证码为纯数字并且是4位数。

image-20230906135209718

3.2.3 Response 状态值修改测试

​ Response 状态值修改测试,即修改请求的响应结果来达到密码重置的目的,存在这种漏洞的网站或者手机App 往往因为校验不严格而导致了非常危险的重置密码操作。

​ 这种漏洞的利用方式通常是在服务端发送某个密码重置的凭证请求后,出现特定的响应值,比如:

  • true
  • 1
  • ok
  • success
  • 200

​ 网站看到回显内容为特定值后即修改密码或者登陆,通常这种漏洞的回显值校验是在客户端进行的,所以只需要修改服务器的响应数据包即可。

image-20230906135317446

3.2.4 Session 覆盖

​ Session ID 也叫会话ID,服务器对浏览器客户端用户身份进行唯一性标志。

​ 找回密码逻辑漏洞测试中也会遇到参数不可控的情况,比如要修改的用户名或者绑定的手机号无法在提交参数时修改,服务端通过读取当前session 会话来判断要修改密码的账号,这种情况下能否对session 中的内容做修改以达到任意密码重置的目的呢?

​ 在某网站中的找回密码功能中,业务逻辑是:由用户使用手机进行密码重置,然后服务端向手机发送验证码短信,用户输入验证码提交后,进入密码重置页面。

对网站中Session 覆盖的测试如下:

  • 打开浏览器,访问重置密码页面,并提交自己的手机号(133),同时浏览器接收Session ID;
  • 用自己的账号(手机号,133)接收凭证(短信验证码);
  • 获得凭证校验成功后,进入密码重置页面;
  • 在浏览器新标签重新打开找回密码页面,输入目标手机号(177),此时服务器就会重新下发Session ID;
  • 此时当前SessionID 已经从原来133的SessionID被177的SessionID覆盖,重新回到第三步中打开的重置密码页面即可重置目标手机号密码。

漏洞原因:

在验证码校验之后,没有及时更新Session ID,或者没有及时更新服务器端SESSION 信息。SessionID 不仅要与手机号绑定,还要与验证码绑定。

3.2.5 弱Token 设计缺陷测试

​ 在找回密码功能中,很多网站会向用户邮箱发送找回密码页面链接。用户只需要进入邮箱,打开找回密码邮件中的链接,就可以进⼊密码重置页面了。找回密码的链接通常会加入校验参数来确认链接的有效性,通过校验参数的值与数据库生成的值是否一致来判断当前找回密码的链接是否有效。

http://www.xxx.com/findpwd?uid=ajest&token=ajest-2021-1026-1324

3.2.6 密码找回流程绕过测试

很多网站的密码找回功能一般有以下几个步骤:

  • 用户输入找回密码的账号;
  • 校验凭证:向用户发送短信验证码或者找回密码链接,用户回填验证码或单击链接进入密码重置页面,以此方式证明当前操作用户是账号主人;
  • 校验成功进入重置密码页面(接口)。

​ 在找回密码逻辑中,第二步校验凭证最为重要。不是账号主人是无法收到校验凭证的,试想有没有办法可以绕过第二步凭证校验,直接进⼊第三步重置密码呢?

​ 用户修改密码需要向服务器发送修改密码请求,服务器通过后再修改数据库中相应的密码,所以在测试中我们首先要收集三个步骤的请求接口,重点是收集到最后一步重置密码的接口,这样我们可以直接跳过凭证校验的接口去尝试直接重置密码。

3.2.7 接口参数账号修改

典型案例:

  • metinfo_4.0 任意账号密码重置

​ 找回密码功能逻辑中常常会在用户修改密码的接口提交的参数中存在传递用户账号的参数,而用户账号参数作为一个可控变量是可以被篡改的,从而导致修改账号密码的凭证或修改的目标账号出现偏差,最终造成任意账号密码修改的漏洞。

​ 通常在找回密码逻辑中,服务端会要求用户提供要修改的账号,然后给这个账号发送只有账号主人才能看到的凭证。比如给这个账号主⼈绑定的邮箱或者手机号发送验证码,或者找回密码链接,这样可以保证只有账号主人才可以看到这些凭证。但是如果服务器对账号的控制逻辑不当,就会导致原有账号被篡改为其他账号,服务器端把凭证发送给篡改后的账号的邮箱或手机,最终造成可利用凭证重置任意账号密码的漏洞。

​ 接口参数账号修改流程测试为拦截前端请求,通过修改请求内的账号ID 、名称或者邮箱、手机号等参数,将修改后的数据发送给服务器进行欺骗达到密码重置的目的。

浏览器A(管理员)访问metInfo4.0,浏览器B(攻击者)访问metInfo4.0。

image-20230906164050956

浏览器A访问metInfo4.0后台,使用管理员身份登录,浏览器B访问metInfo4.0,注册登录普通用户。

image-20230906164321807

image-20230906164614313

攻击者点击修改基本信息将密码改为654321,使用bp抓包查看流量

image-20230906165056844

image-20230906165515909

攻击者将修改密码的数据包(POST包)发送重发器,将用户名改为admin点击发送

image-20230906165920943

使用浏览器A重新登录admin,654321

登陆成功

image-20230906170139633

相关文章:

业务安全及实战案例

业务安全 关于漏洞: 注入业务逻辑信息泄露 A04:2021 – Insecure Design 在线靶场PortSwigger 1. 概述 1.1 业务安全现状 1.1.1 业务逻辑漏洞 ​ 近年来,随着信息化技术的迅速发展和全球一体化进程的不断加快,计算机和网络已经成为与…...

十一)Stable Diffussion使用教程:人物三视图

现在我们通过一个个具体的案例,去进阶SD的使用。 本篇案例:绘制Q版人物三视图 1)我们先选择一个偏3D的模型,选择文生图,输入魔法; 2)然后选择触发三视图的Lora:<lora:charturnerbetaLora_charturnbetalora:0.6>,注意这里的名称都是本地重新命名的,非原来C站下…...

超级等级福利礼包

文章目录 一、 介绍二、 设计等级礼包的目的1. 提升游戏玩家活跃度2. 提升游戏用户吸引力3. 提高游戏用户留存率4. 实现间接收入5. 持续营收 三、 玩家心理总结四、总结该模式的赢利点五、 该模式的应用场景举例 一、 介绍 超级等级福利礼包&#xff0c;玩家每升级5级即可获得…...

如何用Jmeter提取和引用Token

1.执行获取token接口 在结果树这里&#xff0c;使用$符号提取token值。 $根节点&#xff0c;$.data.token表示提取根节点下的data节点下的token节点的值。 2.使用json提取器&#xff0c;提取token 变量路径就是把在结果树提取的路径写上。 3.使用BeanShell取样器或者BeanShell后…...

C#文件拷贝工具

目录 工具介绍 工具背景 4个文件介绍 CopyTheSpecifiedSuffixFiles.exe.config DataSave.txt 拷贝的存储方式 文件夹介绍 源文件夹 目标文件夹 结果 使用 *.mp4 使用 *.* 重名时坚持拷贝 可能的报错 C#代码如下 Form1.cs Form1.cs设计 APP.config Program.c…...

Redis——Java中的客户端和API

Java客户端 在大多数的业务实现中&#xff0c;我们还是使用编码去操作Redis&#xff0c;对于命令的学习只是知道这些数据库可以做什么操作&#xff0c;以及在后面学习到了Java的API之后知道什么方法对应什么命令即可。 官方推荐的Java的客户端网页链接如下&#xff1a; 爪哇…...

Brief. Bioinformatics2021 | sAMP-PFPDeep+:利用三种不同的序列编码和深度神经网络预测短抗菌肽

文章标题&#xff1a;sAMP-PFPDeep: Improving accuracy of short antimicrobial peptides prediction using three different sequence encodings and deep neural networks 代码&#xff1a;https://github.com/WaqarHusain/sAMP-PFPDeep 一、问题 短抗菌肽(sAMPs)&#x…...

问道管理:华为产业链股再度拉升,捷荣技术6连板,华力创通3日大涨近70%

华为产业链股6日盘中再度拉升&#xff0c;到发稿&#xff0c;捷荣技能涨停斩获6连板&#xff0c;华映科技亦涨停收成3连板&#xff0c;华力创通大涨超19%&#xff0c;蓝箭电子涨约11%&#xff0c;力源信息涨超4%。 捷荣技能盘中再度涨停&#xff0c;近7日已累计大涨超90%。公司…...

面试设计模式-责任链模式

一 责任链模式 1.1 概述 在进行请假申请&#xff0c;财务报销申请&#xff0c;需要走部门领导审批&#xff0c;技术总监审批&#xff0c;大领导审批等判断环节。存在请求方和接收方耦合性太强&#xff0c;代码会比较臃肿&#xff0c;不利于扩展和维护。 1.2 责任链模式 针对…...

Qt 开发 CMake工程

Qt 入门实战教程&#xff08;目录&#xff09; 为何要写这篇文章 目前CMake作为C/C工程的构建方式在开源社区已经成为主流。 企业中也是能用CMake的尽量在用。 Windows 环境下的VC工程都是能不用就不用。 但是&#xff0c;这个过程是非常缓慢的&#xff0c;所以&#xff0…...

2.k8s账号密码登录设置

文章目录 前言一、启动脚本二、配置账号密码登录2.1.在hadoop1&#xff0c;也就是集群主节点2.2.在master的apiserver启动文件添加一行配置2.3 绑定admin2.4 修改recommended.yaml2.5 重启dashboard2.6 登录dashboard 总结 前言 前面已经搭建好了k8s集群&#xff0c;现在设置下…...

【代表团坐车】Python 实现-附ChatGPT解析

1.题目 某组织举行会议,来了多个代表团同时到达,接待处只有一辆汽车,可以同时接待多个代表团,为了提高车辆利用率,请帮接待员计算可以坐满车的接待方案,输出方案数量。 约束: 1.一个团只能上一辆车,并且代表团人数(代表团数量小于30,每人代表团人数小于30)小于汽车容量…...

【Java】x-easypdf: 一种简单易用的PDF处理库

引言 在处理和生成PDF文档时&#xff0c;有许多库可供选择。其中&#xff0c;x-easypdf是一种简单易用的PDF处理库&#xff0c;可以帮助开发人员轻松地创建、编辑和操作PDF文档。本文将介绍x-easypdf的基本概念、安装方法、主要功能以及使用示例。 安装x-easypdf 要使用x-ea…...

1 Linux输入子系统

1 Linux输入子系统 https://www.cnblogs.com/beijiqie1104/p/11418082.html Linux input 子系统详解 https://www.cnblogs.com/yikoulinux/p/15208238.html...

Zabbix 利用 Grafana 进行图形展示

安装grafana和插件 配置zabbix数据源 导入模版 查看数据 1.安装grafana wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/Packages/grafana-10.0.0-1.x86_64.rpm [rootrocky8 apps]# yum install grafana-10.0.0-1.x86_64.rpm [rootrocky8 apps]# systemctl sta…...

【LeetCode周赛】LeetCode第362场周赛

LeetCode第362场周赛 与车相交的点判断能否在给定时间到达单元格将石头分散到网格图的最少移动次数 与车相交的点 给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i&#xff0c;nums[i] [starti, endi] &#xff0c;其中 starti 是第 i…...

Leetcode128. 最长连续序列

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 题解&#…...

K8S:kubeadm搭建K8S+Harbor 私有仓库

文章目录 一.部署规划1.主机规划2.部署流程 二.kubeadm搭建K8S1.环境准备2.安装docker3. 安装kubeadm&#xff0c;kubelet和kubectl4.部署K8S集群&#xff08;1&#xff09;初始化&#xff08;2&#xff09;部署网络插件flannel&#xff08;3&#xff09;创建 pod 资源 5.部署 …...

MaskVO: Self-Supervised Visual Odometry with a Learnable Dynamic Mask 论文阅读

论文信息 题目&#xff1a;MaskVO: Self-Supervised Visual Odometry with a Learnable Dynamic Mask 作者&#xff1a;Weihao Xuan, Ruijie Ren, Siyuan Wu, Changhao Chen 时间&#xff1a;2022 来源&#xff1a; IEEE/SICE International Symposium on System Integration …...

面试求职-面试注意事项

面试技巧和注意事项有哪些&#xff1f; 面试是找工作过程中最重要的一个环节&#xff0c;因为面试成功&#xff0c;你才有可能得到一份工作。求职面试技巧有哪些呢?首先&#xff0c;我们来看看面试注意事项。 企业了解 1、面试前有没有仔细了解过对应企业的情况&#xff0c…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...