我不知道如果这个命令的一部分会发生什么。
FROM table
WHERE id = 1
AND IF(( Ascii(Lower(Substring((SELECT User()), $i, 1))) ) != $s, 1,
Benchmark(200000, Md5(Now()))) ```
any one can help me?发布于 2019-09-26 22:55:14
正如其他人所提到的,更多地了解代码的上下文是很好的。但是这看起来像SQL,其中附加了一个盲SQL有效负载(大概是通过SQL注入)。在这种情况下,SQL +负载使用的是一种定时攻击,在字符匹配的情况下,这种攻击的目的是暂停很长时间,否则很快就会暂停。
它可能在循环中使用,循环遍历字符以确定DB中的值--在本例中是User()。$i是正在确定的字符串中的字符位置-- $s是正在测试的当前字母。
有关这种定时攻击的更多信息,请参见OWASP盲SQL注入页面的基于时间的部分。
https://security.stackexchange.com/questions/218713
复制相似问题