sally
副版主
帖子
1188
精华
2
无忧币 7832
积分 2945
阅读权限 140
|
发表于:2007-12-14 09:38
标题:Discuz!/phpwind flash标签的xss
<上一帖 |
下一帖>
Discuz!/phpwind flash标签的xss
author: superhei
date: 2007-12-2
team:http://www.ph4nt0m.org
blog:http://superhei.blogbus.com
flash标签的xss在以前的是很流行的,以前只要随便一个调用外面的一个swf就ok了,现在的则都不可以直接使用调用外码的swf了,这个是因为一般都设置了allowScriptAccess[1][2].比如dz的codz:
dz60904\upload\forumdata\cache\cache_bbcodes.php [同样出现在cache_viewthread.php cache_post.php cache_blog.php里]
00017: 0 => '\\1',
00018: 1 => '',
00019: 2 => '',
代码: allowScriptAccess设置为sameDomain,也就是说同一个域下的swf,如果我们可以upload一个swf就可以了 。不过dz默认是不容许swf后缀上传的,这里我们可以利用swf的一个特性,在html调用flash时,flash可以用任意后缀,哈哈我们可以用gif等上传[而且dz在图片上传是直接可以看到文件名的,但是其他的文件不性]。假如我们上传的flash文件为:attachments/month_0712/20071201_3565df327b79cfbb4b8eSeGHJthq7ZBB.jpg
另:在dz里upload的图片都用了getimagesize(),在手册了:
getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 标记中的 height/width 文本字符串
包括了swf。
然后我们用flash标签:
[flash]http://sameDomain.com/dz60904/upload/attachments/month_0712/20071201_3565df327b79cfbb4b8eSeGHJthq7ZBB.jpg[/flash]
swf我用的as2代码:
getURL("javascript:alert(document.domain)", "_self", "GET");
ok,我们的js运行了。
phpwind和Discuz!差不多一样,只是Discuz!默认不开[flash],phpwind默认开了。
如果dz没有开[flash],我们有没有办法利用呢?因为html代码我们可以远程自己写来调用,比如在a.com上写test.htm调用b.com[也就是目标上的flash:http://b.com/dz60904/upload/attachments/month_0712/20071201_3565df327b79cfbb4b8eSeGHJthq7ZBB.jpg]代码如下:
xss
不过经常测试得到的document.domain为a.com,而不是flash所在的b.com 。
参考:
[1]:http://www.adobe.com/devnet/flashplayer/articles/flash_player_8_security.pdf
[2]:http://www.wisec.it/sectou.php?id=464dd35c8c5ad
|
 【一个网络工程师在英国的面试经历】 |
|