php黑魔法之解析问题

code如下:

<?php 
$a=$_GET[a];
$b=is_file($a);
var_dump($b);
?>

可以看到1.ph< 返回了true 这样不就可以绕过这个的过滤了?

因为我看英文看不怎么懂。。 那些什么翻译 翻译来又太蛋疼了 一大堆翻译错误的。

以下是我的理解 可能有错 也请大牛来指导指导了。

因为当PHP解析器解析这些函数的时候 会调用winapi

调用了Winapi的函数Findfirstfile

然后<字符被转换成了* 成了通配符。

所以导致1.ph< 找到了1.php。

 所以导致了QiboCMS V7 /do/job.php 任意文件下载漏洞

本来好奇这个漏洞为什么这样,看代码网上看这个漏洞的时候看代码风格看着像雨的,结果问果然是他。又学到到一招。

局限在于windows.

原文地址:https://www.cnblogs.com/sevck/p/5737535.html