前言
目前Typecho 最新正式版本(1.2)被发现评论区域填写url处存在xss风险,简单来说,恶意用户可以在url中输入js代码,等管理员访问博客后台评论管理的时候就会执行js代码。
危险程度
这个漏洞危险系数很高,可以直接前台拿Shell。
总共需要修复3个文件,可以根据下面所述的路径去修复对应的文件。替换对应的修复代码即可。
文件目录:var/Widget/Base/Comments.php
问题代码位置:第271行
问题代码:
echo '<a href="' . $this->url . '"'
修复代码:
echo '<a href="' . Common::safeUrl($this->url) . '"'
文件目录:var/Widget/Feedback.php
问题代码位置:第209行
问题代码:
$comment['url'] = $this->request->filter('trim')->url;
修复代码:
$comment['url'] = $this->request->filter('trim', 'url')->url;
问题代码位置:第308行
问题代码:
$trackback['url'] = $this->request->filter('trim')->url;
修复代码:
$trackback['url'] = $this->request->filter('trim', 'url')->url;
文件目录:var/Widget/Options.php
问题代码位置:第85行
问题代码:
* @property bool $commentsRequireURL
修复代码:
* @property bool $commentsRequireUrl
温馨提示
如果已经中招千万不要从后台评论管理页面删除,否则会被xss代码拿到cookie