中航证券某系统漏洞引发oa系统代码执行

admin 2017年5月6日00:22:46评论597 views字数 210阅读0分42秒阅读模式
摘要

2016-03-13: 细节已通知厂商并且等待厂商处理中
2016-03-15: 厂商已经确认,细节仅向厂商公开
2016-03-25: 细节向核心白帽子及相关领域专家公开
2016-04-04: 细节向普通白帽子公开
2016-04-14: 细节向实习白帽子公开
2016-04-29: 细节向公众公开

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

缺陷编号: WooYun-2016-184230

漏洞标题: 中航证券某系统漏洞引发oa系统代码执行

相关厂商: 中航证券有限公司

漏洞作者: 白非白中航证券某系统漏洞引发oa系统代码执行

提交时间: 2016-03-13 16:36

公开时间: 2016-04-29 15:05

漏洞类型: 文件上传导致任意代码执行

危害等级: 高

自评Rank: 15

漏洞状态: 厂商已经确认

漏洞来源:www.wooyun.org ,如有疑问或需要帮助请联系

Tags标签: 无

2人收藏


漏洞详情

披露状态:

2016-03-13: 细节已通知厂商并且等待厂商处理中
2016-03-15: 厂商已经确认,细节仅向厂商公开
2016-03-25: 细节向核心白帽子及相关领域专家公开
2016-04-04: 细节向普通白帽子公开
2016-04-14: 细节向实习白帽子公开
2016-04-29: 细节向公众公开

简要描述:

一个小漏洞引发的连锁。
由于存在防御,只能绕来绕去,最终执行jsp代码。

详细说明:

1.此系统会提示用户名是否正确,可以用于用户枚举,猜密码。

code 区域
http://sj.avicsec.com/m1/login.do

中航证券某系统漏洞引发oa系统代码执行

2.通过猜解,得到一部分弱口令用户,密码为1

中航证券某系统漏洞引发oa系统代码执行

登录此系统,泄漏内部信息,可以获取内部通讯录

中航证券某系统漏洞引发oa系统代码执行

3.浩天说只是登录暴力猜解是上不了首页的。于是继续深入测试,尝试使用此系统用户去登录中航证券的oa系统。

code 区域
http://oa1.avicsec.com

登录成功。

由于是泛微oa,根据 WooYun: 泛微某系统漏洞集合(不拿shell不是合格的白帽子) 的描述,登录后可以获取webshell,据说过程是这样的:

code 区域
登录状态下的文件上传导致任意代码执行漏洞

漏洞模块为:我的邮件 -- 联系人 -- 导入 -- 以逗号为分隔符的CVS文件

漏洞描述:对于用户上传的文件格式未进行限制且并未重命名文件名,可导入jsp文件。通过查看数据包,得到存储的路径为:webroot/email/csv/ 。最终得到的文件路径为:http://**.**.**.**/email/csv/上传的文件名.jsp

然而测试时发现,jsp文件并不能直接上传,会直接被服务器丢弃(有防火墙之类的防护)

中航证券某系统漏洞引发oa系统代码执行

中航证券某系统漏洞引发oa系统代码执行

4.继续测试绕过上传检测,通过尝试发现,txt,js,jsp,jSp等后缀均不能上传,cvs,csv,c等等后缀可以上传。继续尝试发现,可以将1.cvs.jsp.这个文件中最后一个"."在hex模式下修改为“00”.即可突破后缀名的限制。

中航证券某系统漏洞引发oa系统代码执行

浏览器访问看到上传成功了

中航证券某系统漏洞引发oa系统代码执行

5.文件名限制突破了,那么开心的丢个jsp一句话上去,不就shell了么?

然而,现实又一次打击了我,看来防护手段还对上传内容进行了过滤

中航证券某系统漏洞引发oa系统代码执行

继续开脑洞,通过测试发现,防护手段检测到import,exec等关键字就直接丢包了。

然而没有放弃的小白又一次通过在关键字后面加00字符的方式,绕过了内容检测。开心撒花(*^__^*)

中航证券某系统漏洞引发oa系统代码执行

6.但是还没高潮到1秒中,就又一次被现实给打击了。。。

访问webshell时,防火墙又出来捣乱了。猜测webshell的jsp代码在执行之前被拦截了。

中航证券某系统漏洞引发oa系统代码执行

7.于是开始寻找一款能绕过此防火墙的webshell。

在尝试了园长大大的各种shell中http://javaweb.org/?p=1627,发现了一款,可以通过jsp写任意文件(泛微oa的系统用户权限貌似都是root)。

中航证券某系统漏洞引发oa系统代码执行

写个文件看看

中航证券某系统漏洞引发oa系统代码执行

写入成功

中航证券某系统漏洞引发oa系统代码执行

但是还是没法获取webshell,只能证明jsp代码成功执行了。

继续开脑洞获取系统shell的话,我只能联想redis getsehll的方法,覆盖/root/.ssh/authorized_keys的方式来获取了。

扫了一下端口,遗憾的发现22号端口没开。

止步于此了。

漏洞证明:

成功写入任意文件

http://oa1.avicsec.com/1.txt

修复方案:

1.修复暴力猜解密码的漏洞

2.修复上传逻辑漏洞

版权声明:转载请注明来源 白非白@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2016-03-15 15:05

厂商回复:

已修复该漏洞,谢谢提供

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):

登陆后才能进行评分


评价

  1. 2016-03-15 15:24 | Aasron ( 普通白帽子 | Rank:905 漏洞数:163 | raw_input("你知道我要输入什么?"))

    1

    花非花,雾非雾

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin