[b]首先来看GIF操作:[/b]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090143_0_42574.jpg[/img]
[b]情况一:空格被过滤[/b]
使用括号()代替空格,任何可以计算出结果的语句,都可以用括号包围起来;
select * from(users)where id=1;
使用注释/**/绕过空格;
select * from/**/users/**/where id=1;
[b]情况二:限制from与某种字符组合[/b]
在from后加个点.即使用from.来代替from;
select * from. users where id=1;
[b]再直接看GIF:[/b]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090143_1_14993.jpg[/img]
说白了,就是将‘[b]字段名[/b] '替换成[b]hex[/b];
这里会联想到开始学SQL注入的时候,利用[code]load_file[/code]或者[code]into outfile[/code],常用hex把一句话编码一下再导入;
这里确实省去了'单/双引号',万无一失([code]magic_quotes_gpc()[/code]咱不提);
但当时只顾着看结果了,今天在整理以前的资料时发现了这个问题,脑子却晕的不知道为啥这么编码,实际操作一下:
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090143_2_26847.jpg[/img]
可以很清楚看到报错,[code]select[/code]后面的第一个'单引号,和一句话木马里[code]cmd[/code]前那个单引号闭合导致后面语句报错;
然后转成[code]hex[/code],去掉引号,发现可以写入;
这里我的机子没给他权限,会提示不能写,实际还得看情况;
[b]总结[/b]
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。