Z-Blog后台getshell

时间:2023-01-29 15:13:29

本人所有文章均为技术分享,均用于防御为目的的记录,所有操作均在实验环境下进行,请勿用于其他用途,否则后果自负。

0x00 环境部署

Z-Blog后台getshell

打开phpstudy

Z-Blog后台getshell

安装

Z-Blog后台getshell

Z-Blog后台getshell

Z-Blog后台getshell

搭建成功

0x01下载主题

在博客的主题板块是支持自己上传主题的,然而主题里面又有一些php的代码,这样我们就可以在主题里面加入php的木马联合主题一起上传就可以拿下shell

下载连接

Z-Blog后台getshell

是一个ZBA文件

Z-Blog后台getshell

0x02 主题分析

Z-Blog后台getshell

打开查看

<file><path>aymFreeFive/scripts/cmtv1.6.js</path><stream>emJwLnBsdWdpbi51bmJpbmQoImNvbW1lbnQucmVwbHkuc3RhcnQiLCAic3lzdGVtIikNCnpicC5wbHVnaW4ub24oImNvbW1lbnQucmVwbHkuc3RhcnQiLCAiYXltRnJlZUZpdmUiLCBmdW5jdGlvbihpZCkgew0KICB2YXIgaSA9IGlkDQogICQoIiNpbnBSZXZJRCIpLnZhbChpKQ0KICB2YXIgZnJtID0gJCgnI2NvbW1lbnQnKQ0KICB2YXIgY2FuY2VsID0gJCgiI2NhbmNlbC1yZXBseSIpDQoNCiAgZnJtLmJlZm9yZSgkKCI8ZGl2IGlkPSd0ZW1wLWZybScgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+IikpLmFkZENsYXNzKCJyZXBseS1mcm0iKQ0KICAkKCcjQWpheENvbW1lbnQnICsgaSkuYmVmb3JlKGZybSkNCg0KICBjYW5jZWwuc2hvdygpLmNsaWNrKGZ1bmN0aW9uKCkgew0KICAgIHZhciB0ZW1wID0gJCgnI3RlbXAtZnJtJykNCiAgICAkKCIjaW5wUmV2SUQiKS52YWwoMCkNCiAgICBpZiAoIXRlbXAubGVuZ3RoIHx8ICFmcm0ubGVuZ3RoKSByZXR1cm4NCiAgICB0ZW1wLmJlZm9yZShmcm0pDQogICAgdGVtcC5yZW1vdmUoKQ0KICAgICQodGhpcykuaGlkZSgpDQogICAgZnJtLnJlbW92ZUNsYXNzKCJyZXBseS1mcm0iKQ0KICAgIHJldHVybiBmYWxzZQ0KICB9KQ0KICB0cnkgew0KICAgICQoJyN0eGFBcnRpY2xlJykuZm9jdXMoKQ0KICB9IGNhdGNoIChlKSB7DQoNCiAgfQ0KICByZXR1cm4gZmFsc2UNCn0pDQoNCnpicC5wbHVnaW4ub24oImNvbW1lbnQuZ2V0IiwgImF5bUZyZWVGaXZlIiwgZnVuY3Rpb24gKGxvZ2lkLCBwYWdlKSB7DQogICQoJ3NwYW4uY29tbWVudHNwYWdlJykuaHRtbCgiV2FpdGluZy4uLiIpDQp9KQ0KDQp6YnAucGx1Z2luLm9uKCJjb21tZW50LmdvdCIsICJheW1GcmVlRml2ZSIsIGZ1bmN0aW9uICgpIHsNCiAgJCgiI2NhbmNlbC1yZXBseSIpLmNsaWNrKCkNCn0pDQoNCnpicC5wbHVnaW4ub24oImNvbW1lbnQucG9zdC5zdWNjZXNzIiwgImF5bUZyZWVGaXZlIiwgZnVuY3Rpb24gKCkgew0KICAkKCIjY2FuY2VsLXJlcGx5IikuY2xpY2soKQ0KfSk=</stream></file>

从上面的文件可以看出

<path></path>中的内容是文件的路径
<stream>></stream>中的内容是文件内容 而内容是被编码过后的 看起来像是base64编码

Z-Blog后台getshell

通过解码文件中的内容就可以还原出代码

zbp.plugin.unbind("comment.reply.start", "system")
zbp.plugin.on("comment.reply.start", "aymFreeFive", function(id) {
 var i = id
 $("#inpRevID").val(i)
 var frm = $('#comment')
 var cancel = $("#cancel-reply")

 frm.before($("<div id='temp-frm' style='display:none'>")).addClass("reply-frm")
 $('#AjaxComment' + i).before(frm)

 cancel.show().click(function() {
   var temp = $('#temp-frm')
   $("#inpRevID").val(0)
   if (!temp.length || !frm.length) return
   temp.before(frm)
   temp.remove()
   $(this).hide()
   frm.removeClass("reply-frm")
   return false
})
 try {
   $('#txaArticle').focus()
} catch (e) {

}
 return false
})

zbp.plugin.on("comment.get", "aymFreeFive", function (logid, page) {
 $('span.commentspage').html("Waiting...")
})

zbp.plugin.on("comment.got", "aymFreeFive", function () {
 $("#cancel-reply").click()
})

zbp.plugin.on("comment.post.success", "aymFreeFive", function () {
 $("#cancel-reply").click()
})

0x03 构造shell

Z-Blog后台getshell

Z-Blog后台getshell

上传抓取数据包

Z-Blog后台getshell

成功上传

Z-Blog后台getshell

上传路径在/zb_users/theme/aymFreeFive

Z-Blog后台getshell

访问 :http://192.168.2.101/zb_users/theme/aymFreeFive/shell.php

Z-Blog后台getshell

0x04 连接shell

Z-Blog后台getshell