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

【面试】记一次安恒面试及总结

文章目录

  • SQL 注入
    • sql注入的原理?
    • 如何通过SQL注入判断对方数据库类型?
      • 补充一下其他方法判断数据库类型
    • 时间盲注的函数
    • XPath注入
  • 抓不到http/https包,怎么办?
    • app无自己的ssl证书
    • app有自己的ssl证书-证书绑定(SSL pinning)
  • 逻辑漏洞有哪些
    • 身份验证漏洞
    • 权限类逻辑漏洞
    • 其他类型逻辑漏洞
  • XSS绕过方式
    • 常规插入及其绕过
    • 规则探测及绕过
  • SSRF协议有哪些
  • XXE有了解吗?
  • 域渗透中堡垒机渗透(绕过)
    • 绕过ACL策略
    • 通过堡垒机跳转绕过
    • 其它绕过场景
  • Fastjson
    • fastjson反序列化漏洞
  • Spring 漏洞你知道那些?
  • 黄金票据与白银票据
  • 域前置
  • 总结
  • 参考:

昨天的面试,忘记记录了,趁着还有些记忆特此把自己比较薄弱的知识点整理一下,很多东西答的比较口语化,没来得及背面试题emm,吃一点长一智吧……

SQL 注入

sql注入类型:

Boolean-based blind SQL injection(布尔型注入)
Error-based SQL injection(报错型注入)
UNION query SQL injection(可联合查询注入)
Stacked queries SQL injection(可多语句查询注入)
Time-based blind SQL injection(基于时间延迟注入)

sql注入的原理?

产生sql注入的根本原因在于代码中没有对用户输入项进行验证和处理便直接拼接到查询语句中。利用sql注入漏洞,攻击者可以在应用的查询语句中插入自己的SQL代码并传递给后台SQL服务器时加以解析并执行。

如何通过SQL注入判断对方数据库类型?

这个是真没答上来啊,下面是在网上收集的答案
1、数据库特有连接符判断

id=1 and ‘1’+’1’=’11’ #MySQL或者是MSSQL
id=1 and concat(‘1’,’1’)=’11’ #MySQL或者Oracle
id=1 and ‘1’||’1’=’11’ #Oracle

MySQL和Oracle使用concat函数进行字符串拼接,而MSSQL和Oracle使用‘+’运算符进行字符串拼接。使用这些语句用来判断正在运行的数据库类型。

2、特有数据表判断

id=1 and (select count(*) from sys.user_tables)>0 and 1=1 #Oracle
id=1 and (select count(*) from information_schema.TABLES)>0 and 1=1 #MySQL5.0以上
id=1 and (select count(*) from sysobjects)>0 and 1=1 #MSSQL
id=1 and (select count(*) from msysobjects)>0 and 1=1 #access数据库

不同数据库含有特定的表或对象,并在任何情况下返回true值。Oracle使用sys.user_tables,而MySQL使用information_schema.TABLES,MSSQL使用sysobjects,Access使用msysobjects,这些都是元数据表或对象的名称。通过注入这样的语句并观察其响应,攻击者可以了解目标网站使用哪种类型的数据库系统。
3、特定函数判断
len和length
len():SQL Server 、MySQL以及db2返回长度的函数。
length():Oracle和INFORMIX返回长度的函数。

version和@@version
version():MySQL查询版本信息的函数
@@version:MySQL和SQL Server查询版本信息的函数

substring和substr
MySQL两个函数都可以使用
Oracle只可调用substr
SQL Server只可调用substring
4、特殊符号进行判断
/*是MySQL数据库的注释符
–是Oracle和SQL Server支持的注释符
;是子句查询标识符,Oracle不支持多行查询,若返回错误,则说明可能是Oracle数据库
#是MySQL中的注释符,返回错误则说明可能不是MySQL,另外也支持-- 和/**/

5、根据盲注特别函数判断
MYSQL

BENCHMARK(1000000,ENCODE('QWE','ASD'))
SLEEP(5)

PostgreSQL

PG_SLEEP(5)
GENERATE_SERIES(1,1000000)

SQL Server

WAITFOR DELAY '0:0:5'

6、通过报错提示内容判断
在注入点后直接加上单引号,根据服务器的报错信息来判断数据库。
错误提示Microsoft JET Database Engine 错误 ‘80040e14’,说明是通过JET引擎连接数据库,则表明数据库为ACCESS数据库,如果是ODBC的话则说明是MSSQL数据库。

补充一下其他方法判断数据库类型

1、根据开发语言判断数据库类型

asp:SQL Server,Access
.net:SQL Server
php:MySQL,PostgreSQL
java:Oracle,MySQL

2、端口判断
关系型数据库:
Oracle数据库默认端口号为,1521;
MySQL数据库默认端口号为,3306;
SQLServer数据库默认端口号为,1433;
postgreSQL数据库默认端口号为,5432;

NOSQL数据库:
MongoDB默认端口号为:27017;
Redis默认端口号为:6379;
memcached默认端口号为:11211;

时间盲注的函数

我好像就说了一个sleep() emmm
1、原理
由于服务器端拼接了SQL语句,且正确和错误存在同样的回显,即是错误信息被过滤,可以通过页面响应时间进行按位判断数据。由于时间盲注中的函数是在数据库中执行的,但是sleep函数或者benchmark函数的过多执行会让服务器负载过高
2、还有一个benchmark函数
在这里插入图片描述

XPath注入

1、原理
XPath注入是一种Web应用程序攻击方式,类似于SQL注入。攻击者可以利用XPath语言的强大功能,向Web应用程序发送恶意负载,以获取未经授权的信息或执行未经授权的操作。
攻击者可以在表单字段、URL参数和HTTP头中注入恶意XPath表达式。这些表达式可以被解释为查询XML文档中的节点或属性。如果Web应用程序没有正确地过滤输入数据,攻击者就可以将XPath注入负载嵌入到查询中,并从XML文档中检索敏感
2、利用
以一个普通实例来说,//users/user[username/text()= ’ ’ or ‘1’ or ‘1’ and password/text()=‘’],
这个字符串会在逻辑上使查询一直返回 true 并将一直允许攻击者访问系统。攻击者可以利用 XPath 在应用程序中动态地操作 XML 文档。攻击完成登录可以再通过XPath盲入技术获取最高权限账号和其它重要文档信息。延展开来,xpath的注入还有很多花样,像是通过updataxml()函数实现xpath报错注入,还有xpath的盲注。

抓不到http/https包,怎么办?

还能怎么办,平时这种带防护的小程序或app直接放弃了啊!,提问的目的应该是让我说出绕过的方法

不会是导出ssl证书这么简单吧?这点我还忘了说了
以下是找到的相关抓包方法

app无自己的ssl证书

有的app由于资金有限,所以不会去申请自己的ssl证书,就直接使用和浏览器一样的ssl证书,这个我们直接在安卓模拟器安装burp的ssl证书就能绕过

app有自己的ssl证书-证书绑定(SSL pinning)

SSL Pinning是一种安全机制,用于确保移动应用程序与特定服务器建立的SSL连接始终是安全的。它通过比较服务器的公钥指纹是否与预定义的指纹匹配来实现这一目的。在SSL Pinning中,应用程序会存储预先定义的服务器证书或公钥指纹,并在建立SSL连接时强制要求服务器提供匹配的证书或公钥指纹,以确保通信的安全性。这样可以有效地防止基于中间人攻击(Man-in-the-middle attack)的安全威胁。

证书绑定又叫单向认证,app不使用公开的ssl证书了,花钱去找证书颁发机构,去买一个属于自己的证书,并且自己设置了一个通信的密钥(密码)

Burp是抓应用层的包,不会抓其他层的包,由于burp没安装专属于这个app的ssl证书,burp抓到的是乱码的数据无法识别出是http的请求,burp会默认他为其他层的数据包,就不去抓这个包,导致无法抓包

绕过方法:
1、把App里面的证书揪出来,app和抓包软件的通信用那个证书。
2、删除掉App里面,单向认证的代码,让他能使用系统证书,然后他和抓包软件就能通信了。
揪证书需要逆向,很难,第二种可以使用工具进行hook,类似于断点处理
在已经安装好证书和ypn的情况下操作

使用工具hook有两种方法
1、 Xposed框架中的JustTrustMe
JustTrustMe在测试的时候会自动对app所有具有单向认证的地方进行hook
2、 objection绕过单向认证

逻辑漏洞有哪些

身份验证漏洞

暴力破解漏洞
可以针对用户名进行错误次数计算,高于一定阈值账号锁定一段时间,或者添加验证码
但是不能永久锁定,可能被用来进行账户恶意锁定
Session固定攻击
Cookie欺骗漏洞
漏洞介绍:通过伪造cookie信息能够伪造其他用户进行登录。
漏洞原理:开发者为了方便将身份信息/登录信息明文或者只是简单编码、哈希之后存放在cookies中,网站通过获取得到的cookies进行授权或者身份验证
漏洞点:cookie中有明显或者只是简单编码、哈希的字段时候 修改lsLogin值为1可以判定为用户已经登录
漏洞修复: Cookie不应该存储可理解的身份信息和登录信息,cookie对身份信息和登录信息的存储只能通过存储足够长度的随机字符串进行,避免篡改

权限类逻辑漏洞

平行权限跨越
垂直权限跨越
未经授权访问

图形验证码漏洞
找回密码逻辑漏洞
业务数据篡改漏洞
执行顺序逻辑漏洞

其他类型逻辑漏洞

条件竞争漏洞
数据包重放漏洞

XSS绕过方式

常规插入及其绕过

Script 标签
绕过进行一次移除操作:

<scr<script>ipt>alert("XSS")</scr<script>ipt>

Script 标签可以用于定义一个行内的脚本或者从其他地方加载脚本:
JavaScript 事件
我们可以像如下这样在元素中定义 JavaScript 事件:

<div οnclick="alert('xss')">

绝大部分的事件都被过滤器所移除了,但是依旧还有少量事件没有被过滤,

<divοnmοuseenter="alert('xss')">当用户鼠标移动到 div 上时就会触发我们的代码。

另一个绕过的办法就是在属性和= 之间插入一个空格:

<div onclick ="alert('xss')">

行内样式(Inlinestyle)
利用字符编码

%c1;alert(/xss/);//

绕过长度限制

"οnclick=alert(1)//
"><!--
--><script>alert(xss);<script>

过滤空格
策略:/**/,注释符号绕过;/符号绕过;

例:<img/src/onerror=alert(1)>

规则探测及绕过

WAF规则探测
使用无害的payload,类似,,观察响应,判断应用程序是否被HTML编码,是否标签被过滤,是否过滤<>等等;
如果过滤闭合标签,尝试无闭合标签的payload(<b,<i,<marquee)观察响应;
尝试以下的payload

<script>alert(1);</script>
<script>prompt(1);</script>
<script>confirm      (1);</script>
<scriptsrc="http://rhainfosec.com/evil.js">

大小写混合字符

SSRF协议有哪些

http://:探测内网主机存活、端口开放情况
gopher://:发送GET或POST请求;攻击内网应用,如FastCGI、Redis
dict://:泄露安装软件版本信息,查看端口,操作内网redis访问等
file://:读取本地文件

XXE有了解吗?

原理: 解析用户传入的xml
作用: 内网端口扫描、利用file协议等读取文件、攻击内网web应用使用get(struts2等)

危害:
1.导致可以加载恶意外部文件
2.造成文件读取
3.内网端口扫描
4.攻击内网网站
5.发起dos攻击等危害

防御: 过滤用户提交的XML数据、如果你当前使用的程序为PHP,则可以将
libxml_disable_entity_loader设置为TRUE来禁用外部实体,从而起到防御的目的

域渗透中堡垒机渗透(绕过)

关于堡垒机我之前就复现过一个JumpServer RCE
https://blog.csdn.net/weixin_53009585/article/details/129001750
堡垒机:运维审计系统

绕过ACL策略

服务器区防火墙或者交换机上没有做ACL,以及当ACL策略做的细粒度不够,导致用户区PC可以直接绕过堡垒机,直接远程服务器
在这里插入图片描述

通过堡垒机跳转绕过

另外一种场景就是,先通过堡垒机访问A服务器,然后再在A服务器上去访问B服务器,这样就绕过了堡垒机间接访问了B服务器
在这里插入图片描述

其它绕过场景

1、目标服务器远程端口受到ACL限制,但其他端口没有限制,那么最简单的解决方式就可以通过端口转发来绕过
2、甚至如果服务器可以访问外网,可以直接通过向日葵,todesk,Teamviewer进行远程,这样就完全绕开了堡垒机审计
需要对服务器网段封禁向日葵 Teamviewer等远程工具, 这种方式就不详细展开描述了

Fastjson

这里也是没怎么学

fastjson反序列化漏洞

正常请求是get请求并且没有请求体,可以通过构造错误的post请求,即可查看在返回包中是否有fastjson该字符串来判断
漏洞利用原理:
在请求包里面中发送恶意的json格式payload,漏洞在处理json对象的时候,没有对@type字段进行过滤,从而导致可以传入恶意的TemplatesImpl类,二这个类有一个字段就是_bytecodes,有部分函数会根据_byteencodes生成java实例,这就达到fastjson通过字段传入一个类,再通过这个类被生成时执行构造函数
无回显怎么办?
1、一种是直接将命令执行结果写入到静态资源文件中,如html、js等,然后通过http访问就可以直接看到结果
2、通过dnslog进行数据外带,但如果无法执行dns就无法验证了
3、直接将命令执行结果回显到请求POC的http响应中

Spring 漏洞你知道那些?

这里还是了解的不多,问到了才尴尬啊
CVE-2010-1622 Spring Framework class.classLoader 类远程代码执行
CVE-2013-4152 Spring Framework 中的 XML 外部实体(XXE)注入
CVE-2014-3527 Spring Security 验证绕过漏洞
CVE-2014-3578 Spring Framework 目录遍历漏洞
CVE-2016-6652 Spring Data JPA SQL 盲注
CVE-2018-1271 Spring MVC 目录穿越漏洞
CVE-2020-5405 Spring Cloud Config路径穿越导致的信息泄露
……
这么多我就回答一个敏感信息泄露

黄金票据与白银票据

这是刚学到啊,今天就学ing

域前置

还没学到啊emmm

总结

面试整体围绕简历上内容来提问,因为实习岗所以问的难度比较浅,但是范围还是蛮广的,通过面试来检测自己当前学习的状况还是挺不错的

参考:

https://www.cnblogs.com/Fluorescence-tjy/p/10400588.html
https://www.freebuf.com/articles/endpoint/359208.html
https://cloud.tencent.com/developer/article/1906218
https://blog.csdn.net/m0_38103658/article/details/105481323

相关文章:

【面试】记一次安恒面试及总结

文章目录SQL 注入sql注入的原理&#xff1f;如何通过SQL注入判断对方数据库类型&#xff1f;补充一下其他方法判断数据库类型时间盲注的函数XPath注入抓不到http/https包&#xff0c;怎么办&#xff1f;app无自己的ssl证书app有自己的ssl证书-证书绑定(SSL pinning)逻辑漏洞有哪…...

刹车制动(卡钳)TOP3供应商份额超50%,哪些本土供应商突围

作为中国本土底盘系统供应商最早切入的细分市场之一&#xff0c;乘用车&#xff08;液压&#xff09;刹车制动器&#xff08;含卡钳&#xff09;由连接到车轮的制动盘和位于制动盘边缘的卡钳组成。制动时&#xff0c;高压刹车油推动刹车片夹紧刹车盘&#xff0c;从而产生制动效…...

Go分布式爬虫笔记(二十二)

文章目录22 辅助任务管理&#xff1a;任务优先级、去重与失败处理设置爬虫最大深度避免请求重复设置优先队列设置随机User-Agent失败处理22 辅助任务管理&#xff1a;任务优先级、去重与失败处理 设置爬虫最大深度 目的: 防止访问陷入到死循环控制爬取的有效链接的数量 最大…...

跨线程修改主界面

winform 方式&#xff1a; public delegate void MyInvoke(string str1); private void check_Click(object sender, RoutedEventArgs e) { //跨现场调度1 delete委托 WIMFORM Task.Run(() > { …...

国内ChatGPt研发-中国chatGPT

人工智能软件chatGPT Chat GPT是一种自然语言处理算法&#xff0c;采用了深度学习技术&#xff0c;用于实现文本生成和自然语言处理任务。它可以实现自然而然的人机交互&#xff0c;在自然语言生成和问答领域应用广泛。 值得注意的是&#xff0c;Chat GPT本身并不是一款具体的…...

springboot的rest服务配置服务的根路径

如果不配置默认为空&#xff0c;如下是application.yml文件只配置了端口号 server:port: 6868 那么访问时直接访问服务即可 如果配置了rest服务 RestController RequestMapping("/netLicense") public class NetLicenseController {RequestMapping("/getLice…...

MySQL B+Tree 索引优化技巧

文章目录前言一、BTree索引的基本原理二、BTree索引的性能优化技巧1.索引列的选择2.索引列的顺序3.索引长度4.索引的覆盖性5. 索引的唯一性总结前言 MySQL是一种开源关系型数据库管理系统&#xff0c;被广泛应用于各种应用程序中。作为一种关系型数据库&#xff0c;MySQL使用B…...

100种思维模型之逆向思维模型-46

芒格思考问题总是从逆向开始&#xff01;正如他经常提到的一句谚语&#xff1a;如果我能够知道我将死在哪里&#xff0c;那么我将永远不去那个地方。 马云有句口头禅&#xff1a;倒立看世界&#xff0c;一切皆有可能&#xff01; 遇到难题时&#xff0c;不妨回头看看&#xff0…...

C/C++每日一练(20230413)

目录 1. 与浮点数A最接近的分数B/C &#x1f31f; 2. 比较版本号 &#x1f31f;&#x1f31f; 3. 无重复字符的最长子串 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每…...

volatile和synchronized的区别

volatile和synchronized的区别并发编程三个特性&#xff1a;原子性有序性可见性ViolatedSynchronized区别对比并发编程三个特性&#xff1a; 原子性、有序性、可见性 原子性 volatile无法保证原子性。 synchronized是排它锁&#xff0c;被synchronzied修饰的代码不能被打断…...

Cadence Allegro 导出Unplaced Component Report报告详解

⏪《上一篇》   🏡《上级目录》   ⏩《下一篇》 目录 1,概述2,Unplaced Component Report作用3,Unplaced Component Report示例4,Unplaced Component Report导出方法4.1,方法14.2,方法2B站关注“硬小二”浏览更多演示视频...

面试了上百位性能测试后,我发现了一个令人不安的事实...

在企业中负责技术招聘的同学&#xff0c;肯定都有一个苦恼&#xff0c;那就是招一个合适的测试太难了&#xff01;若要问起招哪种类型的测试最难时&#xff0c;相信很多人都会说出“性能测试”这个答案。 每当发布一个性能测试岗位&#xff0c;不一会就能收到上百份简历&#…...

天气预报查询 API + AI 等于王炸(一大波你未曾设想的天气预报查询 API 应用场景更新了)

前言 近年来&#xff0c;随着信息化进程的不断深入&#xff0c;人们对于信息的获取和处理需求越来越高。而其中&#xff0c;天气查询API是一个非常重要的服务&#xff0c;它能够帮助人们快速获取所在位置的天气情况&#xff0c;同时也为各类应用提供了必要的气象数据支持。 本…...

跨境电商的行业现状与发展趋势分析

随着互联网的不断发展&#xff0c;跨境电商作为一种全新的商业模式已经逐渐崭露头角。跨境电商的出现&#xff0c;让越来越多的商家看到了扩大市场的机会&#xff0c;也为消费者提供了更加便利、更加优质的购物体验。本文将从跨境电商的定义、行业现状、发展趋势等方面进行探讨…...

适配器设计模式

目录 前言&#xff1a; 适配器原理与实现 适配器模式的应用场景 1.封装有缺陷的接口 2.统一多个类的接口设计 3.替换依赖的外部系统 4.兼容老版本接口 5.适配不同格式的数据 代理、桥接、装饰器、适配器 4 种设计模式的区别 参考资料 前言&#xff1a; 适配器模式这个模…...

代码随想录算法训练营第三十五天-贪心算法4| ● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球

860.柠檬水找零 参考视频&#xff1a;贪心算法&#xff0c;看上去复杂&#xff0c;其实逻辑都是固定的&#xff01;LeetCode&#xff1a;860.柠檬水找零_哔哩哔哩_bilibili 解题思路&#xff1a; 只需要维护三种金额的数量&#xff0c;5&#xff0c;10和20。 有如下三种情…...

2023MathorcupC题电商物流网络包裹应急调运与结构优化问题建模详解+模型代码(一)

电商物流网络包裹应急调运与结构优化问题 第三次继续写数模文章和思路代码了&#xff0c;不知道上次美赛和国赛大家有没有认识我&#xff0c;没关系今年只要有数模比赛艾特我私信我&#xff0c;要是我有时间我一定免费出文章代码好吧&#xff01;博主参与过十余次数学建模大赛…...

软件测试技术之跨平台的移动端UI自动化测试(上)

摘要&#xff1a;本文提出一种跨平台的UI自动化测试方案&#xff0c;一方面使用像素级的截图对比技术&#xff0c;解决传统UI自动化测试难以验证页面样式的问题&#xff1b;另一方面用统一部署在服务器端的JavaScript测试代码代替Android和iOS测试代码&#xff0c;大大提高编写…...

【MySQL--02】库的操作

文章目录1.库的操作1.1创建数据库1.2创建数据库的案例1.3字符集和校验规则1.3.1查看系统默认字符集以及校验规则1.3.2查看数据库支持的字符集1.3.3查看数据库支持的字符集校验规则1.3.4 校验规则对数据库的影响1.4操纵数据库1.4.1查看数据库1.4.2 删除数据库1.4.3显示创建语句1…...

人民链Baas服务平台上线,中创助力人民数据共建数据服务应用场景

人民链2.0是数据要素大发展时代下的可信联盟链 作为区块链分布式存储领域行业先驱与让人民放心的国家级数据云平台&#xff0c;中创算力与人民数据的合作从未间断。为了推动人民链2.0高质量发展&#xff0c;中创算力与人民数据开展了多方面合作&#xff0c;助力人民数据共建数据…...

el-tabs 切换时数据不更新的问题

最近业务需求&#xff0c;需要在页面中使用tabs&#xff0c;使用过程中出现tabs切换&#xff0c;数据不更新的问题&#xff0c;以下是思路和解决办法。 Vue 会追踪你在模板中绑定的数据&#xff0c;并在数据发生变化时重新渲染相应的部分。但在使用 el-tabs 时&#xff0c;有时…...

StringRedisTemplete使用

StringRedisTemplate是Spring Data Redis提供的一个模板类&#xff0c;用于简化对Redis的操作。它特别适合处理字符串类型的数据&#xff0c;并且封装了一系列常用的Redis命令&#xff0c;使开发者能够以更简洁的方式进行Redis操作。本文将详细介绍 StringRedisTemplate的使用方…...

【反无人机检测】C2FDrone:基于视觉Transformer网络的无人机间由粗到细检测

C2FDrone&#xff1a;基于视觉Transformer网络的无人机间由粗到细检测 C2FDrone: Coarse-to-Fine Drone-to-Drone Detection using Vision Transformer Networks 论文链接 摘要 摘要——基于视觉的无人机间检测系统在碰撞规避、反制敌对无人机和搜救行动等应用中至关重要。然…...

使用 Python 自动化 Word 文档样式复制与内容生成

在办公自动化领域&#xff0c;如何高效地处理 Word 文档的样式和内容复制是一个常见需求。本文将通过一个完整的代码示例&#xff0c;展示如何利用 Python 的 python-docx 库实现 Word 文档样式的深度复制 和 动态内容生成&#xff0c;并结合知识库中的最佳实践优化文档处理流程…...

在 Spring Boot 中使用 WebFilter:实现请求拦截、日志记录、跨域处理等通用逻辑!

&#x1f4a1; 前言 在开发 Web 应用时&#xff0c;我们经常需要对所有请求进行统一处理&#xff0c;例如&#xff1a; 记录请求日志实现跨域&#xff08;CORS&#xff09;接口权限控制请求参数预处理防止 XSS 攻击 这些功能如果都写在每个 Controller 或 Service 里&#x…...

【iSAQB软件架构】软件架构中构建块的视图:黑箱、灰箱和白箱及其交互机制

在软件架构描述中&#xff0c;黑箱视图&#xff08;Black-box&#xff09;、灰箱视图&#xff08;Gray-box&#xff09;和白箱视图&#xff08;White-box&#xff09; 是不同抽象层级的构建模块表示方式&#xff0c;用于满足不同受众和设计阶段的需求。以下是基于ISAQB标准的清…...

代码训练LeetCode(23)随机访问元素

代码训练(23)LeetCode之随机访问元素 Author: Once Day Date: 2025年6月5日 漫漫长路&#xff0c;才刚刚开始… 全系列文章可参考专栏: 十年代码训练_Once-Day的博客-CSDN博客 参考文章: 380. O(1) 时间插入、删除和获取随机元素 - 力扣&#xff08;LeetCode&#xff09;力…...

Devops自动化运维---py基础篇一

python基础篇 1、基本数据类型 2、算术运算符 3、变量 变量&#xff1a;编程语言中能储存结果或能表示值的抽象概念 用途&#xff1a;用一段数据赋予一个简短、易于记忆的名字&#xff0c;方便重复使用3.1 格式转化变量 操作符号描述%s字符串%d整数%f浮点数 实例&#xff1…...

移动网页调试的多元路径:WebDebugX 与其他调试工具的组合使用策略

在移动端网页开发中&#xff0c;仅靠一款工具很难覆盖所有调试场景。不同问题类型需要不同的调试维度——有时是网络请求&#xff0c;有时是 DOM 样式&#xff0c;有时是 JS 状态&#xff0c;有时是性能瓶颈。 本文以“多工具协作”为核心思想&#xff0c;结合多个项目经验&am…...

RDMA简介3之四种子协议对比

RDMA协议共有四种子协议&#xff0c;分别为InfiniBand、iWARP、RoCE v1和RoCE v2协议。这四种协议使用统一的RDMA API&#xff0c;但在具体的网络层级实现上有所不同&#xff0c;如图1所示&#xff0c;接下来将分别介绍这四种子协议。 图1 RDMA四种子协议网络层级关系图 Infin…...