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

前端之家收集整理的这篇文章主要介绍了你能解释一下这个SQL注入吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我工作的网站最近试图被以下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表名.这是由该网站上的错误报告系统报告的,我们设法修复了该部分但是我无法理解上述注入意味着什么?

有人可以解释一下吗?

努伊勒

解决方法

根据 thisMysqL 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就在那里,以便列匹配他们正在执行联盟的男孩表.

猜你在找的MsSQL相关文章