SQL注入没有空格

时间:2018-04-05 21:56:34

标签: mysql sql sql-injection code-injection sqlmap

我试图在网站上利用SQL注入(当然是以Science的名义)。经过一些测试,我发现后端是如何工作的。 SQL查询形成如下:

%.2f

其中$query = 'SELECT * FROM TABLE WHERE ID ='.$segment 是来自URL的第二个路径段。如果$segment等于10.符号http://vict.im/menu/10/及其后的所有内容都会被忽略,因此前一个链接#http://vict.im/menu/10/blah-blah会给出相同的内容结果

这里的问题是段解析器不会http://vict.im/menu/10#blah-blah该段。如果我发送URLdecode(),它将被编码为.../menu/30 ;,并且MySQL会将其解释为除法的余数,返回ID = 10的结果。同样的原因.../menu/30%20;未被替换为+空白,它作为一个运算符。

因此,需要进行不包含通常由Web浏览器编码的任何符号的注入。例如,.../menu/(10)or(1=1),基于布尔的注入.../menu/9+(USER()='Smith').../menu/CONCAT('1','0')可以正常工作。

如何向Sqlmap解释这种情况?这有篡改脚本吗?还有其他方法可以绕过这个"保护"?

P.S。似乎可以使用以下符号:! $ & ' ( ) * + , : ; = ? @ [ ]加mixalpha-numeric。

0 个答案:

没有答案