小迪笔记45课之-PHP应用&SQL二次注入&堆叠执行&DNS带外&功能点&黑白盒条件

文章目录

SQL 注入高级形态【思路精简版】

本版本为思路 / 属性 / 判断逻辑提炼版,用于实战与复盘快速定位,不追求 Payload 细节与代码展开。


一、SQL 二次注入(Second-Order Injection)

核心属性

  • 注入不在输入点触发
  • 恶意数据先被存入数据库
  • 在后续功能中被再次拼接进 SQL 才触发

一句话本质:

程序错误地信任了"数据库里的数据"。


触发链路(最重要)

复制代码
用户可控输入
   ↓
INSERT(插入时被转义 / 看似安全)
   ↓
程序取出数据
   ↓
SELECT / UPDATE 中字符串拼接
   ↓
注入触发

必要条件判断

  • 插入阶段:
    • ❌ 不能直接注入(否则是一阶注入)
    • ✅ 恶意数据可以"作为字符串"成功入库
  • 使用阶段:
    • 存储的数据被直接拼接进 SQL
    • 没有再次使用预编译 / 绑定参数

黑盒 / 白盒快速判断

  • 黑盒
    • 是否存在"添加 / 修改 → 查看 / 再编辑"的功能闭环
  • 白盒
    • 是否存在 insert 后进入 select / update
    • 是否使用字符串拼接 SQL

二、堆叠注入(Stacked Queries)

核心属性

  • 一次请求执行多条 SQL
  • 利用 ; 结束当前语句并继续执行

一句话本质:

程序允许数据库执行"多语句查询"。


必要条件(缺一不可)

  1. 存在 SQL 注入
  2. 未过滤 ;
  3. 中间层支持多语句执行

第 3 条是核心门槛。


快速判断点(PHP 场景)

  • mysqli_query() → 基本不可堆叠
  • mysqli_multi_query() → 高危

实战定位思路

  • CMS / 框架中:
    • 搜索 multi / batch / exec 类数据库接口
  • CTF 中:
    • 尝试 ;show databases 判断是否成立

三、DNSLog 带外注入(OOB Injection)

解决的问题

  • 无回显
  • 无报错
  • 盲注效率极低

一句话定位:

看不到结果时,把数据"送出去"。


核心思路公式

复制代码
敏感数据
 + 攻击者可控域名
 → 目标服务器发起 DNS 解析
 → 攻击者日志中得到数据

注入成立的关键前提(MySQL)

  • 高权限用户(常见 root)
  • 支持 load_file()
  • secure_file_priv 不为 NULL

记忆判断:

NULL 禁止,空最好,有路径则受限。


技术本质

  • 利用 Windows UNC 路径
  • 借助 DNS 解析的"被动外带"特性
  • 一次请求通常只能带回一个字段

适用场景判断

  • 页面完全无回显
  • 但可以确定 SQL 被执行
  • 比时间盲注更稳定时优先考虑

四、三类注入的"思路级对比"

类型 核心信任错误 关键判断点 更偏向
二次注入 信任数据库数据 insert → 再使用 白盒
堆叠注入 信任分号 是否多语句执行 CTF / 白盒
DNSLog 信任无回显即安全 是否可外带 黑盒

五、实战总口诀(记住这个即可)

  • 二次注入:数据什么时候被用第二次?
  • 堆叠注入:数据库能不能一次跑多句?
  • DNSLog:现在有没有任何"东西"能被带出去?

不要急着写 Payload,先判断"注入形态是否成立"。

相关推荐
XDHCOM14 分钟前
PostgreSQL 25001: active_sql_transaction 报错原因分析,故障修复步骤详解,远程处理解决方案
数据库·sql·postgresql
周周不一样1 小时前
Andorid基础笔记2-jar&反射
笔记·pycharm·jar
智者知已应修善业2 小时前
【51单片机单按键切换广告屏】2023-5-17
c++·经验分享·笔记·算法·51单片机
凉、介3 小时前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
祖传F874 小时前
quickbi数据集数据查询时间字段显示正确,仪表板不显示
数据库·sql·阿里云
悟道子HD5 小时前
SRC漏洞挖掘——2.SQL注入漏洞实战详解
sql·web安全·网络安全·渗透测试·sql注入·sqlmap·暴力破解
雷工笔记5 小时前
MES / WMS / AGV 交互时序图及生产管理模块界面设计清单
人工智能·笔记
大邳草民5 小时前
Python 中 global 与 nonlocal 的语义与机制
开发语言·笔记·python
landuochong2006 小时前
claude-obsidian 再升级
人工智能·笔记·claudecode
CheerWWW6 小时前
C++学习笔记——线程、计时器、多维数组、排序
c++·笔记·学习