墨者学院—SQL注入漏洞测试(宽字节)
靶场地址:SQL注入漏洞测试(宽字节)_SQL注入_在线靶场_墨者学院_专注于网络安全人才培养

我们打开靶场

有了经验了,我们直接打开下方导航条看注入点

根据题目提示是宽字节注入,我也不做其他无用功了,直接在'前加%cf来判断是否存在注入点
(此处php是开启了'转义。如果用户输入了 ' , 那么服务器将会在这个单引号前面加一个\进行转义。)
然后通过url编码 我们输入的' 就会被URL转变成 %5c%27
然后如果我们在前面输入一个%cf,整个句子就会被变成%cf%5c%27
%cf%5c会首先被GBK编码。然后剩下一个%27。
然后发送到数据库的时候也能完成闭合。
此处涉及到编码,用纯文字我也比较难以描述..如果不太了解可以自行百度编码

我们在'号前添加了个%cf后,网页提示我们语句错误,说明我们闭合成功了,接下来就在后面加上注释就可以了。
然后判断列数,在第六列的时候显示查询错误,所以判断数据库只有5列数据

判断回显点,在第3段和第5段都可以进行回显

查询表

%cf' union select 1,2,group_concat(table_name),4,5 from information_schema.tables where table_schema=database() --+
到这我们要查列,原本语句为
union select 1,2,group_concat(column_name),4,5 from information_schema.columns where table_name='stormgroup_member'
但是由于单引号被过滤,且不能通过编码来绕过,那我们可以百度下如何绕过单引号注入。
搜索结果有修改为16进制
ascii16进制转换器:ASCII字符串到16进制在线转换工具 - Coding.Tools

%cf' union select 1,2,group_concat(column_name),4,5 from information_schema.columns where table_name=0x73746f726d67726f75705f6d656d626572--+
得到列名,我们要求的是name和password的数据。直接两个一起查

得到的结果是加密的,通过解密即可获得密码


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
