c语言中concat函数,SQL注入中用到的Concat函数详解-菜鸟白帽扫盲C语言中文网

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

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

1.Concat函数:

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

语法:SELECT CONCATstr1,str2,…)

执行结果:

c307cb23e9a2c307cb23e9a2

2.实战演示:

查看users表下的数据

SELECT * FROM users

c307cb23e9a2c307cb23e9a2

那么当一条语句为

SELECT username,email FROM users

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

c307cb23e9a2c307cb23e9a2

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

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

SELECT CONCATusername,password),email FROM users

c307cb23e9a2c307cb23e9a2

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

SELECT CONCATusername,0x7e,password),email FROM users

c307cb23e9a2c307cb23e9a2

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

SELECT CONCATusername,0x7e,VERSION)),email FROM users

c307cb23e9a2c307cb23e9a2

3.Concat_ws)函数:

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

SELECT CONCAT_WS0x7e,username,password,VERSION)),email FROM users

c307cb23e9a2c307cb23e9a2

这样用着稍微方便一些~

4.Group_concat)函数

SQL语句:

SELECT GROUP_CONCATusername),email FROM users

c307cb23e9a2c307cb23e9a2

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

5.总结:

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注