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

时间:2023-03-08 17:26:34
【原创】风讯DotNetCMS V1.0~V2.0 SQL注入漏洞

 

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

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

  

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

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

  

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

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

  

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

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

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

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

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

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

V2.0版本

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