当前位置:主页 > mysql教程 > Mysql数据库使用concat函数执行SQL注入查询

Mysql中用concat函数执行SQL注入查询的方法

发布:2019-08-02 14:42:17 163


本站精选了一篇相关的编程文章,网友蔡幻波根据主题投稿了本篇教程内容,涉及到Mysql、数据库、concat函数、执行SQL注入查询、Mysql数据库使用concat函数执行SQL注入查询相关内容,已被247网友关注,相关难点技巧可以阅读下方的电子资料。

Mysql数据库使用concat函数执行SQL注入查询

SQL注入语句有时候会使用替换查询技术,就是让原有的查询语句查不到结果出错,而让自己构造的查询语句执行,并把执行结果代替原有查询语句查询结果显示出来。

例如:原本查询语句是

select username,email,content from test_table where user_id=uid;

其中uid,是用户输入的。正常显示结果会出现用户名,用户邮箱,用户留言内容。但是如果uid过滤不严,我们可以构造如下SQL语句来获得任意数据表信息。

uid=-1 union select username ,password,content from test_talbe where user_id=管理员id;

实际执行就是

select username,email,content from test_table where user_id=-1 union select username ,password,content from test_talbe where user_id=管理员id;

其中显示正常用户emai的地方,变成了显示管理员的密码了。

但是,往往事情并不是这么简单,首先要找到漏洞,其次构造这种语句时候要考虑各个字段的类型,让int或samllint类型的字段显示varchar显然不合适。最后就是本文要说的。

如果出现问题的SQL语句只有一个或两个字段怎么办,我们想知道很多东西,一两个字段太少了,远远不能满足我们的需要。那么我们可以使用concat函数。

concat函数本来是这样用的SELECT CONCAT('My', 'S', 'QL');执行结果是'MySQL'。也就是连接作用的。我们利用它来为我们服务,

uid=-1 union select username ,concat(password,sex,address,telephone),content from test_talbe where user_id=管理员id;

这个语句实际查询了六个字段,但是显示的时候,把password,sex,address,telephone等字段合在一起,显示在原本应该显示email的地方。

更好的方法:中间用分隔符分开:

uid=-1 union select username ,concat(password,0×3a,sex,0×3a,address,0×3a,telephone) ,content from test_talbe where user_id=管理员id;

其中0×3a是“:”的十六进 制形式。


参考资料

相关文章

  • MySQL截取和拆分字符串函数实例讲解

    发布:2020-07-30

    这篇文章主要介绍了MySQL截取和拆分字符串函数用法,结合实例形式分析了mysql针对字符串的截取与拆分函数SUBSTRING及SUBSTRING_INDEX相关使用方法,需要的朋友可以参考下


  • MySQL中的CONCAT函数使用方法详解

    发布:2019-10-03

    这篇文章主要介绍了MySQL中的CONCAT函数使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下


  • Centos5.5中安装Mysql5.5步骤整理

    发布:2020-07-09

    这篇文章主要介绍了Centos5.5中安装Mysql5.5过程分享,本文使用编译方法安装MySQL,并给出了一些可能遇到的错误和解决方法,需要的朋友可以参考下


  • mysql分表和分区有什么区别

    发布:2020-02-11

    这篇文章主要介绍了mysql分表和分区的区别浅析,并对它们之间的相同做了分析,需要的朋友可以参考下


  • MySQL的Grant命令用法与知识点

    发布:2020-03-30

    mysql中可以通过Grant命令为数据库赋予用户权限,这里简单介绍下Grant的使用方法,需要的朋友可以参考下


  • 实例总结mysql修改表结构方法

    发布:2020-03-10

    这篇文章主要介绍了mysql修改表结构方法,以实例形式较为详细的分析了mysql修改表结构的具体方法与相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下


  • 用命令行进入mysql操作步骤详解

    发布:2021-08-26

    逛论坛时无意发现有个伙计提出这样的问题,如何用命令行进入mysql,搜集整理了一些特意贴出来与大家分享,感兴趣的你可以参考下希望对你有所帮助


  • MySQL创建新用户、增加账户的方法总结

    发布:2019-07-29

    这篇文章主要介绍了MySQL创建新用户、增加账户的2种方法及使用实例,本文同时也介绍了更新和修改密码的方法,需要的朋友可以参考下


网友讨论