加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

你能解释一下这个SQL注入吗?

发布时间:2020-12-12 06:31:36 所属栏目:MsSql教程 来源:网络整理
导读:我工作的网站最近试图被以下SQL注入脚本攻击 boys' and 3=8 union select 1,concat(0x232425,ifnull(`table_name`,0x30),char(9),ifnull(`table_rows`,0x252423),3,4,5,6,7,8,9 from `information_schema`.`tables` where table_schema=0x62646B3032 limit 44
我工作的网站最近试图被以下SQL注入脚本攻击
boys' and 3=8 union 
select 1,concat(0x232425,ifnull(`table_name`,0x30),char(9),ifnull(`table_rows`,0x252423),3,4,5,6,7,8,9 

from `information_schema`.`tables` 

where table_schema=0x62646B3032 limit 44,1 -- And '8'='8

这个注入返回了mysql表名.这是由该网站上的错误报告系统报告的,我们设法修复了该部分但是我无法理解上述注入意味着什么?

有人可以解释一下吗?

努伊勒

解决方法

根据 this的MySQL concat()

Returns the string that results from
concatenating the arguments. May have
one or more arguments. If all
arguments are nonbinary strings,the
result is a nonbinary string. If the
arguments include any binary strings,
the result is a binary string. A
numeric argument is converted to its
equivalent binary string form

所以0x232425转换??为#$%,它只是添加到table_name字段的开头和结尾.也许只是为了让他们更容易在以后使用Regex提取表名.

稍后在char(9)上相当于一个标签,你可以看到here,就在那里格式化输出更好.

3,9就在那里,以便列匹配他们正在执行联盟的男孩表.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读