MySQL注入绕开过滤的技巧总结
首先来看GIF操作:
情况一:空格被过滤
使用括号()代替空格,任何可以计算出结果的语句,都可以用括号包围起来;
select * from(users)where id=1;
使用注释/**/绕过空格;
select * from/**/users/**/where id=1;
情况二:限制from与某种字符组合
在from后加个点.即使用from.来代替from;
select * from. users where id=1;
再直接看GIF:
说白了,就是将‘字段名 '替换成hex;
这里会联想到开始学SQL注入的时候,利用load_file
或者into outfile
,常用hex把一句话编码一下再导入;
这里确实省去了'单/双引号',万无一失(magic_quotes_gpc()
咱不提);
但当时只顾着看结果了,今天在整理以前的资料时发现了这个问题,脑子却晕的不知道为啥这么编码,实际操作一下:
可以很清楚看到报错,select
后面的第一个'单引号,和一句话木马里cmd
前那个单引号闭合导致后面语句报错;
然后转成hex
,去掉引号,发现可以写入;
这里我的机子没给他权限,会提示不能写,实际还得看情况;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关文章
mysql error 1130 hy000:Host''localhost''解决方案
本文将详细提供mysql error 1130 hy000:Host'localhost'解决方案,需要的朋友可以参考下2012-11-11Linux下安装mysql的方式(yum和源码编译两种方式)
这里介绍Linux下两种安装mysql的方式:yum安装和源码编译安装。需要的朋友可以参考下2018-02-02MySQL出现"Lock wait timeout exceeded"错误的原因是什么详解
这篇文章主要给大家介绍了关于MySQL出现"Lock wait timeout exceeded"错误的原因是什么的相关资料,工作中同事遇到此异常,查找解决问题时,收集整理形成此篇文章,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2023-05-05
最新评论