• 【原创】风讯DotNetCMS V1.0~V2.0 SQL注入漏洞


     

      文章作者:rebeyond
      注:文章首发I.S.T.O信息安全团队,后由原创作者友情提交到乌云-漏洞报告平台。I.S.T.O版权所有,转载需注明作者。
      受影响版本:貌似都受影响。
      漏洞文件:user/City_ajax.aspx
      漏洞分析:这个页面里的getCityList函数,通过用户传入的CityId参数来进行省份和城市查询。请求,都没有进行权限的验证,游客权限就可以调用其中的所有方法,很危险的写法,于是有了下面的漏洞。

      

      getCityList函数继续调用Foosun.CMS.News类的GetProvinceOrCityList函数:

      

      最终调用数据库操作类中的函数,参数在各个环节都没有进行过滤,直接带进数据库查询,从而导致SQL注射漏洞。

      

      通过如下方式可以触发漏洞:
      http://xxx.com:8009/user/City_ajax.aspx?CityId=3%27;create%20table%20rebeyond(int%20a);--
      通过MSSQL企业管理器可以看到rebeyond表已经成功添加,如下图:


      实例演示:
      1.通过google搜索powered by dotnetcms,试了下前5个,100%存在,没再继续试了(-__-)b。

    V1.0版本

      2.通过官网成功案列页面随便找一个站http://www.ccfa.com.cn。

    V2.0版本

     

      3.但是官网却神奇的不存在该漏洞,参数被过滤掉了,在官网下载的源代码中没发现过滤的过程,可能官网用了第三方防注入( ╯□╰ )。

  • 相关阅读:
    ubuntu 16.04 启用root用户方法
    多线程编程理论基础
    return ,throw Exception final 在流程控制中的应用
    .NET之特性(Attribute)
    C#事件与委托机制分析
    程序设计中的异常处理(Exception)
    浅谈.net 内存泄露和内存溢出
    C#高级特性之 泛型 扩展方法 Lamda表达式
    packages.config
    C#多线程中的异常处理
  • 原文地址:https://www.cnblogs.com/rebeyond/p/4951418.html
Copyright © 2020-2023  润新知