惠尔顿上网行为管理系统命令执行七处(无需登录)

漏洞概要

缺陷编号:WooYun-2015-0103774

漏洞标题:惠尔顿上网行为管理系统命令执行七处(无需登录)

相关厂商:惠尔顿

漏洞作者:xfkxfk

提交时间:2015-03-28 18:12

公开时间:2015-06-29 11:08

漏洞类型:命令执行

危害等级:高

自评Rank:20

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

Tags标签:

漏洞详情

披露状态:

2015-03-28: 细节已通知厂商并且等待厂商处理中
2015-03-31: 厂商已经确认,细节仅向厂商公开
2015-04-03: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2015-05-25: 细节向核心白帽子及相关领域专家公开
2015-06-04: 细节向普通白帽子公开
2015-06-14: 细节向实习白帽子公开
2015-06-29: 细节向公众公开

简要描述:

惠尔顿上网行为管理系统命令执行七处,都是无需登录的,直接GetShell。
附上同一类漏洞快速定位的小技巧,再也不用一个一个审计了。

详细说明:

官网经典案例:http://**.**.**.**/Anli.php外网部分实际案例:

首先代码审计估计大家都有自己的辅助工具这里介绍一下自己的方法吧。首先拿到源码,使用seay牛的审计工具,从系统入口进入,看看全局有什么设置比如全局过滤,伪全局机制,全局判断登录验证等等知道了系统的全局过滤处理及参数值传输过程之后就好办下面以查找全局越权+命令执行=无需登陆命令执行漏洞为例首先惠尔顿上网行为管理系统是需要登录才能操作的通过度系统源码知道了每个文件的开头:

这一句就是验证登录状态的如果没有这一句就导致越权操作了,那么我们先来找出越权的文件以下我们在/base目录下进行:

这样可以找出/base目录下全部的越权操作文件了然后我们在从no_gblinclude.txt中找出命令执行的文件:

这个时候就把范围缩得很小了,剩下的自己写个脚本跑一下,或者自己手工一个一个看一下,也很快就能搞定那些无需登录的命令执行漏洞了我们从上面那些里面找出能直接利用的如下(除去前面已发的):

加上之前已经提交的这里准确率已经达到40%左右了,当然还可以仔细过滤第一处base/user/offLine.php

参数user直接进入了exec中了第二处base/vpn/uf.php,这里存在三处漏洞

这里当参数cmd为add,del,mod时均存在命令执行漏洞第三处base/vpn/netgatedel.php

这里参数siteid直接进入system中第四处base/vpn/rdpdel.php

这里参数appName 直接进入system函数中第五处base/vpn/userdel.php

这里参数userName直接进入system中第六处base/networking/ipbindmac_gateway.php

参数gateway通过处理后直接进入exec中第七处base/message/ajaxGoAuth.php

这里参数ip进入exec中,虽然过滤了分号,但是不影响漏洞利用嘛

漏洞证明:

这里以第一处和第七处进行演示,其他的原来都一样,直接拼接命令,即可执行了第一处证明:

这时会在根目录下生成111111.php文件

第二处证明:由于这里过滤的;,分号,不能直接写php代码到文件,当然方法很多了

这时会在根目录下生成222222.php文件

修复方案:

重写吧。。。

漏洞回应

厂商回应:

危害等级:高

漏洞Rank:16

确认时间:2015-03-3111:07

厂商回复:

CNVD确认并复现所述情况,已经由CNVD通过网站公开联系方式(或以往建立的处置渠道)向软件生产厂商通报。

最新状态:

暂无

评价

  1. 2010-01-01 00:00 an0nym0u5 白帽子 | Rank:167 漏洞数:15)

    坐等小技巧~

  2. 2010-01-01 00:00 Hckmaple 白帽子 | Rank:0 漏洞数:0)

    学习了

  3. 2010-01-01 00:00 Th1nk 白帽子 | Rank:35 漏洞数:3)

    收藏~

  4. 2010-01-01 00:00 明月影 白帽子 | Rank:0 漏洞数:1)

    直接就要重写了……