当输入数字时返回array结构,且任意非0数字都是返回1。当输入字符串时无任何回显。那么我们可以猜测sql语句中存在逻辑或符号||
,因为任意非0在mysql中相当于true且返回值为1,而字符及字符串会被当作变量处理,或运算时会报错。
那么绕过的方法是将mysql
的sql_mode
参数设置为PIPES_AS_CONCAT
,这时管道符会被当作字符串连接符。我们再构造payload,1;set sql_mode=PIPES_AS_CONCAT;select 1
当输入数字时返回array结构,且任意非0数字都是返回1。当输入字符串时无任何回显。那么我们可以猜测sql语句中存在逻辑或符号||
,因为任意非0在mysql中相当于true且返回值为1,而字符及字符串会被当作变量处理,或运算时会报错。
那么绕过的方法是将mysql
的sql_mode
参数设置为PIPES_AS_CONCAT
,这时管道符会被当作字符串连接符。我们再构造payload,1;set sql_mode=PIPES_AS_CONCAT;select 1