SQL注入中用到的Concat函数详解-菜鸟白帽扫盲

在我们WEB安全测试的时候,会经常使用到这一语法,因此应该透彻理解这一函数,

今天好好实践了一下,整理如下。

1.Concat函数:

concat()是一个函数,用于用于将两个字符串连接起来,形成一个单一的字符串,类似于字符串拼接;

语法:SELECT CONCAT(str1,str2,...)

执行结果:

执行结果


2.实战演示:

查看users表下的数据

 SELECT * FROM users

那么当一条语句为 

SELECT username,email FROM users

就只有如下结果(仅包含username,email):

在渗透测试SQL注入时,如果想要password等敏感字段时,我们又该如何查询呐?

这里Concat函数就大显神威了,我们将username字段修改如下SQL语句:

SELECT CONCAT(username,password),email FROM users

在之前username字段的结果中,就同时得到了usernamepassword的字段信息,为了阅读,清晰我们加上一个十六进制的分隔符~,其十六进制为0x7e,SQL语句改为:

SELECT CONCAT(username,0x7e,password),email FROM users

这样子就清晰多了!同时也可以查询多个字段了!

SELECT CONCAT(username,0x7e,VERSION()),email FROM users


3.Concat_ws()函数:

    刚才有讲到分隔符便于我们的查看,concat_ws()函数就是方便我们的,避免在每一个字段前加上分隔符,SQL语句如下:

SELECT CONCAT_WS(0x7e,username,password,VERSION()),email FROM users

这样用着稍微方便一些~


4.Group_concat()函数

SQL语句:

SELECT GROUP_CONCAT(username),email FROM users

作用是将对应字段的所有结果都查找并组合返回到一条记录中

5.总结:

OK,就讲这么多了,希望对大家有所帮助!

*原文地址:《SQL注入中用到的Concat函数详解-菜鸟白帽扫盲》

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值