Ricardo.Li

Typecho 友情链接插件 Links 越权漏洞
2017/09/09: 最新发现 Links 新增友链表单项目未做过滤,可以配合此漏洞实施跨站攻击,请受影响用户立...
扫描右侧二维码阅读全文
09
2017/09

Typecho 友情链接插件 Links 越权漏洞

2017/09/09: 最新发现 Links 新增友链表单项目未做过滤,可以配合此漏洞实施跨站攻击,请受影响用户立即检查并修补。

这几天在各个大佬的博客转悠,发现有个大佬记录并修正了这个插件的BUG,我便转载了这篇文章,原文地址:
https://wischu.com/archives/791.html

趁着这几天学校刚开学能有稍微有多一点空余时间,便对博客的插件进行了一次检查维护。当维护到友链插件 Links 时,留意到一个比较奇怪的问题,在插件目录下负责处理后台管理友链请求的 Action.php 之中的全部方法没有做任何权限验证,一开始我以为 Typecho 本身会对这些请求作相应认证工作,但是经过一些测试之后证实这是一个允许越权以及表单欺骗的漏洞。

所有 Links 插件版本为 1.1.1 或之前的用户都可能受到本漏洞影响。

漏洞测试

我找了一个博客使用 Typecho 并且安装了 Links 插件的好友测试了一下,首先打开自己博客后台的友链管理面板,用开发者工具把编辑链接表单 action 属性中的域名改成好友网站的域名,再点击提交。

links.png

执行提交后,虽然会因为未登录而跳转回到对方的博客后台登录页面,但可见页面上方仍然出现了操作成功的提示:“链接 XXX 已经被增加”,证明添加友链的操作已经绕过了权限验证被顺利执行。

修补方法

为了配合 Links 插件原生设定为仅管理员可进入友链管理页面的这一设置,则现在需要把 Action.php 中的 action() 方法也限制为仅管理员可用,具体操作很简单,只需在 action() 方法内的开头位置插入下列代码即可。

$user = Typecho_Widget::widget('Widget_User');
$user->pass('administrator');

最后

因为插件的 action 扩展部分为作任何权限验证,所以本漏洞不仅可被用作增加友链,对于删除、修改链接的操作很可能也有效,所以再次请可能受到该漏洞影响的用户尽快进行检查修复以避免不必要的损失。

为了便于各位博主修复此BUG,我将修改后的插件打包供大家下载!
下载链接 提取密码:ayxd

最后修改:2018 年 03 月 01 日 12 : 52 PM
如果觉得我的文章对你有用,请随意赞赏

13 条评论

  1. 单调

    突然看到,换上换上,虽然友链还没开始用

  2. 云武

    链接错误?里面是:CommentToMail.zip???

    1. Uniartisan
      @云武

      已经修复,感谢

  3. owen

    吓一跳,好多插件都没有验证

  4. 24zixuan

    我昨天弄好了这个 真的有意思

    1. Uniartisan
      @24zixuan

      嗯哼,bug什么的最讨厌啦qwq

  5. xema

    喜欢独立页面的表示不畏惧插件的漏洞

    1. Uniartisan
      @xema

      插件还是方便些,关键是好多主题内置了这个插件

  6. suning

    厉害了

  7. 诸葛村夫

    ヾ(≧∇≦*)ゝ

    1. uniartisan
      @诸葛村夫

      啊哈!这位看官好面熟!OωO

  8. 初夏阳光

    巧了…今天下午就看到这个博文了

    1. uniartisan
      @初夏阳光

      哈哈!那可真是巧|´・ω・)ノ

发表评论