ofstar php+txt 论坛严重漏洞

ofstar php+txt 论坛严重漏洞 - 网络安全 - 电脑教程网

ofstar php+txt 论坛严重漏洞

日期:2007-10-12   荐:
ofstar论坛的read.PHP存在极大的安全隐患!
我们先来看一下read.php中的两行代码
$articlearray=openfile("$dbpath/$fid/$tid.php");
$topic_detail=eXPlode("",$articlearray[0]);

可以看出该句直接打开forumdir/版块名/帖子数.php,以为分隔符号读出内容。
而其中帖子数我们是可以构造的,但是有的东西我们是读不出来的,因为必须以为分隔读内容,而ofstar恰巧很多东西都是这样保存的,比如说是用户资料的保存
开始,提交地址http://localhost/read.php?fid=1&tid=../../userdir/saiy
那么便读出了saiy的密码散列,在用户名的位置显示出来了!
可以利用伪造cookies登陆论坛!
格式为:
lastPP=1; ofstaradminid=管理用户名; ofstaradminpwd=管理散列口令; ol_offset=202; ofstarid=用户名; ofstarpwd=散列口令; lastvisit=1105276862

漏洞二,利用message.php制造垃圾短消息
我们先来看发送短消息的那部分代码!
elseif(!file_exists("$userpath/$msg_ruser.php")){
$mes_info="用户不存在.";
}
这段代码的意思就是说看在userdir($userpath这个等于userdir这个值)这个文件夹下是否存在用户名.php,它是利用检查userdir\你输入的用户名.php存在与否来觉得此用户是否存在的,那我们怎么利用这个函数呢?假设我们输入的用户是../index的话,程序在代码里运行的情况就是
file_exists("userdir/../index.php")
再换个样子,变成
file_exists("./index.php")
懂了吧`程序变成去检查首页是否存在,存在就当作用户存在发出短消息。
短消息本来是保存在userdata/msgbox目录下,以用户名1.php格式保存的,那这样子,我们这条消息就被移到了userdata/目录下,名字为index1.php,我们可以写个程序调用检查其他文件是不是存在然后发出短消息。达到垃圾短消息的目的,有的人会说论坛限制了重复的发短消息,对,没错,但是你发现没有,当他提示“发送失败:请不要在 10 秒内连续性的发送短消息. ”时候你刷新页面,消息还是发送出去了的!!
漏洞三 恶意删除文件内容
删除论坛的短消息的url为http://www.某某站.com/message.php?action=del&msg=0&filename=saiy1.php
大家注意后面的saiy1.php,我们查看message.php,看看关于删除短消息是怎么写的?
if (file_exists("userdata/$msgpath/$filename")){
$receivearray=openfile("userdata/$msgpath/$filename");
$count=count($receivearray);
for ($i=0; $i<$count; $i++)
{if ($i==$msg)unset($receivearray[$msg]);}
$newmsgdb=implode("",$receivearray);
writeover("userdata/$msgpath/$filename",$newmsgdb);
}
$mes_info='成功删除一条信息';

居然没有过滤$filename提交的内容!假设我们把filename修改为../../userdir/saiy.php我们就清空了saiy这个用户的所有注册资料了~而当我们把后面的文件名改为../../bbsdata/manager.php那我们就清空了所有管理员!其他的操作大家也可以想得到了!
3 论坛注册过滤不全!
论坛里注册时候没有过滤掉一些特殊字符,导致黑客可以在论坛进行恶意破坏,假设黑客注册名为saiy#happy,那么当对此黑客进行编辑或是发送消息的时候将会对saiy进行操作了,除非手动把#替换成#才可以进行正常的操作!
4 搜索功能有可能被拿到管理权限的黑客利用
其实Ofstar2.0的安全性质总体来说还是很好的,假设被黑客拿到了管理权限你也入侵不了服务器,只能在论坛打住,因为你无法饶过论坛的上传限制,但是,不小心的是论坛的搜索功能有可能被黑客利用进行入侵,
首先,拿到管理权限的黑客可以到后台添加一个版块为然后到这个版块发帖子,他发完帖子进行搜索(搜索所发的帖子)便可以得到一个webshell,调用方式为,http://站点地址.com/userdata/cache/关键词ALLCor0.php?a=dir
当然,你也可以运行其他的命令!!


漏洞演示动画下载地址:
http://evan52.51.net/star.exe

(出处:http://www.sheup.com)




标签: