首页 > 数据库 > MySQL > 正文

MySQL注入绕开过滤的技巧总结

2024-07-24 12:52:30
字体:
来源:转载
供稿:网友

首先来看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,去掉引号,发现可以写入;

这里我的机子没给他权限,会提示不能写,实际还得看情况;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

您可能感兴趣的文章:

防止xss和sql注入:JS特殊字符过滤正则一个过滤重复数据的 SQL 语句SQL注入中绕过 单引号 限制继续注入SQL注入绕过的技巧总结多列复合索引的使用 绕过微软sql server的一个缺陷关于SQL注入绕过的一些知识点SQL Server简单模式下误删除堆表记录恢复方法(绕过页眉校验)Mysql如何巧妙的绕过未知字段名详解SQL注入技巧之显注与盲注中过滤逗号绕过详析
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表