php留言板源码_dedecms留言板CSRFgetshell

本文详细分析了DEDECMS 17年时出现的一个留言板CSRF漏洞,该漏洞可能导致getshell。通过跟踪代码,揭示了参数传递过程中的问题,以及如何利用该漏洞写入任意代码。利用此CSRF漏洞,攻击者可以在管理员审核链接时,诱导其以管理员权限执行恶意代码,生成webshell。
摘要由CSDN通过智能技术生成

DEDECMS在17年时,曾被曝光一个留言板导致CSRFgetshell的漏洞,如果站长审核到你发的链接并且点击的时候会生成一个木马。路径为include/taglib/shell.lib.php

该漏洞成因:

在tpl.php中

/*---------------------------

function savetagfile() { }

保存标签碎片修改

--------------------------*/else if($action=='savetagfile')

{

    if(!preg_match("#^[a-z0-9_-]{1,}\.lib\.php$#i", $filename))

    {

        ShowMsg('文件名不合法,不允许进行操作!', '-1');

        exit();

    }

    require_once(DEDEINC.'/oxwindow.class.php');

    $tagname = preg_replace("#\.lib\.php$#i", "", $filename);

    $content = stripslashes($content);

    $truefile = DEDEINC.'/taglib/'.$filename;

    $fp = fopen($truefile, 'w');

    fwrite($fp, $content);

    fclose($fp);

    $msg = "

        测试标签:(需要使用环境变量的不能在此测试)

        {dede:{$tagname} }{/dede:{$tagname}}

    ";

    $wintitle = "成功修改/创建文件!";

    $wecome_info = "标签源码碎片管理 << 修改/新建标签";

    $win = new OxWindow();

    $win->AddTitle("修改/新建标签:");

    $win->AddMsgItem($msg);

    $winform = $win->GetWindow("hand"," ",false);

    $win->Display();

    exit();

}

这里是漏洞利用写入文件的地方,但是我们知道,基本所有的不安全情况,是在数据输入输出时发生的,这里的参数是怎么传递过来的呢?还有$filename和$content是怎么传递参数的呢ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值