<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Wolves Security Team / 关于PHP的本地包含]]></title>
		<link>http://bbs.wolvez.org/viewtopic.php?id=22</link>
		<description><![CDATA[The most recent posts in 关于PHP的本地包含.]]></description>
		<lastBuildDate>Mon, 03 Nov 2008 11:32:37 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[关于PHP的本地包含]]></title>
			<link>http://bbs.wolvez.org/viewtopic.php?pid=46#p46</link>
			<description><![CDATA[<p>by Ryat<br /><a href="http://www.wolvez.org">http://www.wolvez.org</a><br />2007-12-17</p><p>利用本地包含时常常需要用%00来截断后面的字符串，但在GPC为ON时%00是会被转义的，那么还有其他方法么？</p><p>其实以前就有人提到过用一定数量的/突破操作系统对文件名的长度限制来截断后面的字符串，详见：<a href="http://cloie.it580.com/?p=51">http://cloie.it580.com/?p=51</a></p><p>文里提到只可以在WIN下利用，其实部分Linux主机下也可以，只是/的数量要更多些[要使文件路径名长度大于4096字节]，看看下面的代码片断：</p><div class="codebox"><pre><code>&lt;?php
$a=&#039;&#039;;
for($i=0;$i&lt;=4071;$i++) {
    $a .= &#039;/&#039;;
}
$a = &#039;test.txt&#039;.$a;                   //完整的路径为/var/www/test/test.txt
require_once($a.&#039;.php&#039;);
?&gt;</code></pre></div><p>在Linux环境下测试，你会发现&#039;.php&#039;被截断了，成功的包含了test.txt:)</p>]]></description>
			<author><![CDATA[dummy@example.com (puret_t)]]></author>
			<pubDate>Mon, 03 Nov 2008 11:32:37 +0000</pubDate>
			<guid>http://bbs.wolvez.org/viewtopic.php?pid=46#p46</guid>
		</item>
	</channel>
</rss>
