一种”奇怪”的mysql报错注入类型

释放双眼,带上耳机,听听看~!

一、起因

在src漏洞挖掘的时候,发现了这种head头注入

注入点是在X-Forwarded-Host中

一种"奇怪"的mysql报错注入类型

直接报出了用户id为11用户的密码

程序报错。

一种"奇怪"的mysql报错注入类型

二、疑问

为什么这样就会报错?

floor(rand(0)*2))x from information_schema.tables group by x)a)and’

这里,是什么导致了报错?

floor是表示浮点型,rand(0)*2作为转为浮点的参数

这句话会报错,这是为什么,有文章进行了解释。我通篇看下来,发现解释这是mysql的一种意外情况。

惊不惊喜?意不意外?这就是一种意外,而这个意外会导致什么后果?

三、利用

使用concat,内部包含floor(rand(0)*2),select count( * ), concat(想查询的内容,floor(rand(0)*2)) x group by 2,就可以了。

四、检测

对sql进行闭合之后,加入poc:

select count(*),floor(rand(0)*2)x from information_schema.character_sets group by x;

有类似

Duplicate entry xxx for key ‘group_key’的就是可利用的。

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新消息 消息中心
有新私信 私信列表
搜索