使用 api hook monitor 直接观察 php 最后是如何打开文件的。。。
我使用的 php 版本
PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
开启 魔法引号的情况 %00 会变成 \0 导致无法截断。。。
http://127.0.0.1/test.php?file=\..\..\..\..\..\..\..\..\..\..\..\..\
直接被过滤了。。
\ 会被转成 /
所谓的长文件名截断,,
http://127.0.0.1/test.php?file=xx000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
测试发现 php 已经解决了截断的问题 。。。超过最大长度后直接出错返回 都不调用 createfileA 打开文件了。。。
桑不起 ~~~还没找到一个利用的办法