西安恩科电子政务系统登录过滤不当进后台得shell

漏洞概要

缺陷编号:WooYun-2012-06250

漏洞标题:西安恩科电子政务系统登录过滤不当进后台得shell

相关厂商:西安恩科

漏洞作者:possible

提交时间:2012-04-23 18:25

公开时间:2012-06-05 18:25

漏洞类型:SQL注射漏洞

危害等级:低

自评Rank:1

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

Tags标签:

漏洞详情

披露状态:

2012-04-23: 细节已通知厂商并且等待厂商处理中
2012-04-24: 厂商已经确认,细节仅向厂商公开
2012-05-04: 细节向核心白帽子及相关领域专家公开
2012-05-14: 细节向普通白帽子公开
2012-05-24: 细节向实习白帽子公开
2012-06-05: 细节向公众公开

简要描述:

西安恩科电子政务系统登录过滤不当进后台得shell

详细说明:

西安恩科电子政务jsp系统,由于对后台登录功能过滤不当,导致存在sql注入,直接可以进入后台。后台上传功能,使用本地白名单验证,直接得jspshell。获得系统权限。客户端验证代码function IsValid( oField ){re= /select|insert|chr|mid|master|truncate|char|update|or|delete|exec|count|'|"|=|;|>|<|%/i;$sMsg = "请您不要在参数中输入特殊字符和SQL关键字!"if ( re.test(oField.value) ){alert( $sMsg );oField.value = '';oField.focus();return false;}}可以说防范的很好,可以防止sql注入。但是客户端所做的都是浮云...后台验证代码checklogin.jspif(request.getParameter("userName")!=null){if(userName.startsWith("<")||(userName.startsWith("<")&&userName.endsWith(">"))||userName.startsWith("'")||userName.startsWith(" ")||userName.contains(" or ")){out.print("alert('不是有效的帐号,请重新输入!');");out.print("history.back();");}else{在checkuser.class中验证代码:if ((this.loginName == null) |(this.loginName == "") ||this.userPsd == null) |(this.userPsd == "")) return false;boolean turnvalue = false;String sqlString = "select * from tb_sys_userinfo where loginName=" + this.sql.checkNull(this.loginName) +" and password=" + this.sql.checkNull(this.userPsd);int i = sqlString.indexOf(" or ");ifi > 0) {sqlString = sqlString.replace(" or ", " and ");}ResultSet rs = this.sql.getQuery(sqlString);可以看出整个验证过程,存在sql注入,可以通过简单构造用户名和密码就可以,绕过验证代码,直接登录后台.

漏洞证明:

直接将登录页面,保存到本地,构造登录任意恩科电子政务系统jsp系统代码:使用用户名test'/**/or/**/ID=1-- 即可登录系统后台(使用ID=1 一般可以保证伪造系统管理员)如下图所示:

进后台,利用上传得shell.http://**.**.**.**/back/possible.jsp简单搜索一下 该套系统http://**.**.**.**/back/http://**.**.**.**/backhttp://**.**.**.**/back/http://**.**.**.**/back/http://**.**.**.**/back/

修复方案:

前台程序员与后台程序员互换

漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2012-04-24 08:59

厂商回复:

CNVD确认漏洞通用性。将分两步进行处置:一是尝试联系厂商提供漏洞修复方案;二是根据测试情况转由各分中心通知政府部门用户处置。对漏洞评分如下(以所述利用方式评分):
CVSS:(AV:R/AC:L/Au:NR/C:P/A:N/I:P/B:N) score:6.42(最高10分,中危)
即:远程攻击、攻击难度低、不需要用户认证,对机密性、完整性、可用性造成部分影响。技术难度系数:1.0(一般,求问源代码哪来的?)
影响危害系数:1.2(一般,主要涉及陕西省西安地区)
CNVD综合评分:6.42*1.0*1.2=7.704

最新状态:

暂无

评价

  1. 2010-01-01 00:00 Z-0ne 白帽子 | Rank:499 漏洞数:39)

    这种问题不在少数

  2. 2010-01-01 00:00 Valo洛洛 白帽子 | Rank:428 漏洞数:50)

    @Z-0ne 政府安全太差了,哎

  3. 2010-01-01 00:00 刺刺 白帽子 | Rank:516 漏洞数:42)

    一个只有10几个人的小公司,濒临倒闭。

  4. 2010-01-01 00:00 possible 白帽子 | Rank:296 漏洞数:31)

    没啥技术含量,主要是想骗点 rank 呵呵

  5. 2010-01-01 00:00 possible 白帽子 | Rank:296 漏洞数:31)

    @cncert国家互联网应急中心 这套系统很多bug,其中有一个是任意文件下载,相当于直接看源码。

  6. 2010-01-01 00:00 _Evil 白帽子 | Rank:376 漏洞数:52)

    技术含量高