1.远程文件
PHP是一门具有丰富特性的语言,它提供了大量函数,使程序员能够方便地实现各种功能,远程文件就是一个很好的例子:
代码
$fp=@Fopen($url,"r") or die ("cannot open $url");
while($line=@fgets($fp,1024)) {
$contents.=$line;
}
echo $contents; //显示文件内容
fclose($fp); //关闭文件
?>
以上是一段利用Fopen函数打开文件的代码,由于Fopen函数支持远程文件,使得它应用起来相当有趣,将以上代码保存为Proxy.php,然后后提交:
代码
/proxy.php?url=http://www.hacker.com.cn/bbs
这时候你会发现论坛下方显示的IP地址变成了PHP脚本所处服务器的IP地址。Fopen函数可以从任何其Web或FTP站点读取文件,事实上PHP的大多数文件处理函数对远程文件都是透明的,比如请求:
代码
/proxy.php?url=http://target/script/..%c1%1c../winnt/system32/cmd.exe?/c+dir
这样实际上是利用了Target主机上的Unicode漏洞,执行了DIR命令。但并不是所有的服务器都支持远程文件的功能,如果你使用的是商业的服务器,很可能会发现远程文件使用不了(如51的虚拟主机),这是因为在商业主机上限制远程文件的功能,往往能够更好的保护服务器的正常运行。你可以通过PHPinfo()查看服务器是否支持这种功能。当然,在PHPinfo()被禁用的情况下,也可以使用Get_cfg_var():
代码
echo "是否允许使用远程文件(allow_url_Fopen)";
?php
if (get_cfg_var("allow_url_Fopen")=="1")
{
echo("是");
}
else echo("否");
?>
当Allow_url_Fopen一项参数为ON时,即支持远程文件的功能。充分发挥远程文件的特性,我们可以实现许多特殊的功能:如果你是用过PHP Flame的最新版本,你会发现它在集文件夹复制、文本搜索等功能的基础上,又增加了Web间文件传输的功能,依靠这种功能,你可以随意将其他服务器上的文件传送到你的Web目录下。而且,在两台服务器间传送文件有着飞快的传输速度。我们看看实现这个功能的代码:
代码
$fp = Fopen($_GET['filename'], 'rb'); //打开文件
$data = $tmp = '';
while ( true ) {
$tmp = fgets($fp, 1024);
if ( 0 === strlen($tmp) ) {
break; //跳出while循环
}
$data .= $tmp;
}
fclose($fp); //关闭文件
$file=preg_replace("/^.+//","",$filename);//转换文件名
//write
$fp = Fopen("$file", 'wb'); //生成文件
fwrite($fp, $data); //写入数据
fclose($fp);
?>
在调用Fopen和Fwrite函数时加入"b"标记,可以使这两个函数安全运用于二进制文件而不损坏数据。在以上脚本提交:
/down.php?filename=http://www.chinaz.com/winrar.zip
这时便会在Down.php的所处目录下生成相应的Winrar.zip文件。如果再配合遍历目录的功能,你将可以实现多个文件夹服务器间的传输。但是,远程文件应该还有更大的发挥空间,比如写SQL Injection攻击的自动脚本,甚至是HTTP的 *** 服务:
互联网黑客窃取本人信息早已并不是新闻报道,但新闻媒体近日曝光黑客盗取本人信息早已做到“防不胜防”的程度,乃至连被告方的部位都能够随时随地精准定位。 记者搜索发现,现阶段不但私人信息信息的售卖...
很多宝宝肠胃不好,特别是在夏天容易拉肚子,下面友谊长存的小编就来说说:夏天宝宝肠胃不好怎么调理 夏天小孩调理肠胃方法2018。 宝宝肠胃不好影响 几乎每位宝宝都遇到过肠胃不好的情况,表现为呕吐、腹...
朋友们大家了解3dmx如何绘图海王星呢?今日我很愿意与大伙儿共享3dmx如何绘图海王星步骤共享,很感兴趣的能够来掌握掌握哦。 朋友们大家了解3dmx如何绘图海王星呢?今日我很愿意与大伙儿共...
据报道,危地马拉总统贾马太与灾后重建专项内阁21日在总统府召开第3次会议。会议决议,2021年灾后重建总预算为13亿格查尔,范围包括基础设施的修复或重建,以及受灾群众的人道主义援助。 首个重...
《我的天下》Minecraft是当今最火爆的冒险采集类游戏, 2011年上市以来,多次获得创意大奖,据统计天下玩家已跨越1亿。 微软破费25亿米收购了mojang公司开发的《我的天下》,并为微软带...
现在互联网上做什么生意的人最多,毫无疑问那是微商,那么做微商最缺什么,毫无疑问那是微信号和微信粉丝,其实很多人都是通过购买微信有粉丝的号来进行营销的,那么这些购买来的号粉丝哪来的呢? 小编在咨询...