特殊的变量和奇怪的绕过 作者: ynnddddd 时间: 2024-11-09 分类: 网络安全,RCE 1.$_SERVER[‘PHP_SELF’] :正在执行脚本的文件名 例子: 127.0.0.1/pikachu/index.php 显示:/pikachu/index.php preg_match('/utils\.php\/*$/i', $_SERVER['PHP_SELF']) preg_match('/utils\.php\/*$/i', $_SERVER['PHP_SELF']) 匹配的是 $_SERVER['PHP_SELF'] 末尾包含 utils.php 的路径字段.........../path/to/utils.php?message=1 不会匹配成功,因为正则表达式 '/utils\.php\/*$/i' 要求 utils.php 后只能跟斜杠 / 或空字符,不能有 ?message=1 这样的查询参数。 **basename():返回路径中的文件名部分** 例子: 127.0.0.1/pikachu/index.php?file=1.php 显示:1.php 127.0.0.1/pikachu/index.php?file=flag.php/1.php 显示:1.php 利用的点:如果传入的参数中出现了非ascii字符则会把它给丢弃。 通过两个返回的内容不同 标签: none
结论部分可提出实际应用建议,提升价值。