0day挖掘-某路由审计day之文件包含

举报
亿人安全 发表于 2023/05/28 15:32:26 2023/05/28
【摘要】 以下的操作会比较新手,不是那种利用链pop、cc、cc1、或者任意类调用之类的,还请师傅们见谅,如有不妥的地方,请多多包含。工具部分:Seay源代码审计系统、phpstorm64 首先还是自动化审计,可以省下部分时间一、写文件 以上发现了一些文件操作函数可控的,这就有得玩了,进行跟进/guest_auth/cfg/config.php这个文件。发现了有俩个文件操作函数file_put_con...

以下的操作会比较新手,不是那种利用链pop、cc、cc1、或者任意类调用之类的,还请师傅们见谅,如有不妥的地方,请多多包含。

工具部分:

Seay源代码审计系统、phpstorm64 

首先还是自动化审计,可以省下部分时间


图片

一、写文件 

以上发现了一些文件操作函数可控的,这就有得玩了,进行跟进/guest_auth/cfg/config.php这个文件。


图片


发现了有俩个文件操作函数file_put_contents的参数可控,先看第一个函数的文件名,往上翻就会看到定义的文件名。ps:截图不了这么长的图,就分段发了


图片

在18行处进行了一次判断,判断getIsPostRequest方式是否为真之类的,可以跟进看看。文件在/guest_auth/pub.php


图片图片

以上的意思就是判断是否为post还是get请求,可以不用深究,继续往下走。当type=wrCfg时就进入if判断,然后将post获取的请求进行赋值。


图片

看着参数很多,其实上面的都没进行安全过滤就直接file_put_contents进/data/guestauthVar.php文件。

其需要的参数:

type=wrCfg

empIpNum= 

empIpRange= 

pc_disable= 

pcTimeNum=

pcTimeRange=

mb_disable= 

mbTimeNum=

mbTimeRange=

empIdTimes=

empAuthLocal=

empAuthSms= 

empAuthLdap= 

guestIpNum= 

guestIpRange=

guestAllowTime= 

guestAuthPas=

guestAuthAct= 

serIpAddr=

netType=

guestAuthTimes= 

以下的判断可以以字符、字符串来进行绕过。


图片图片

这里empIpNum参数我是赋值为@eval($_POST[‘p’]),而其他都是赋值为false。


图片

图片

二、文件包含


图片

可以全局搜索包含这个文件的文件,然后来进行文件包含并执行漏洞


图片


欢迎关注亿人安全!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。