渗透实战:dedeCMS任意用户密码重置到内网getshell

渗透实战:dedeCMS任意用户密码重置到内网getshell


一、简介

DedeCMS 是一个基于 PHP 和 MySQL 的开源 CMS 系统,它是国内很多网站使用的 CMS 系统之一。在使用 DedeCMS
的过程中,我们需要重视其安全性,因为安全问题可能会导致网站数据泄露、网站被黑、系统被入侵等严重后果。本文将介绍如何进行 DedeCMS 安全测试。

1、环境准备

为了进行 DedeCMS 安全测试,我们需要准备以下环境:

  • 一台安装了 PHP 和 MySQL 的服务器;
  • DedeCMS V5.7 SP2正式版 安装包;
  • 一些常用的安全测试工具,如:Burp Suite、Nmap、御剑 等。
2、安装 DedeCMS

首先,我们需要安装
DedeCMS,用于本地复现。这可以参考官方文档或者其他教程来完成。在HOSTS文件将虚拟机IP映射到dede.com域名写以便于进行安全测试。

二、安全测试

1、信息收集

在拿到一个站点的第一步肯定是进行一个信息收集,它是整个渗透测试的基础。信息收集的目的是为了获取目标网络或系统的相关信息,包括IP地址、域名、操作系统、开放端口、应用程序、网络拓扑、用户信息、源码泄露等,以便于渗透测试人员对目标进行深入分析和攻击,如确定目标,定位漏洞,分析目标网络,确定攻击方式等等。

由于是本地搭建环境复现,此处就不进行常规的CDN绕过、WAF、蜜罐识别、子域名收集等操作。

端口扫描

在这里插入图片描述

目录扫描

在这里插入图片描述

2、漏洞确定

通过泄露的robots.txt文件得到前台登录的账户名test1

在这里插入图片描述

通过泄露的web.zip文件得出相关线索

通过泄露的得出dedeCMS版本信息

3、漏洞利用
3.1重置用户密码

通过web.zip中mysql_config.txt中的提示和ver.txt泄露的版本信息寻找相关Nday

得出该版本为DedeCMS V5.7 SP2正式版,存在任意用户密码重置漏洞

利用点在后台的用户重置密码,再通过web.zip泄露的源码中得到其中一个已存在的用户名为test1来重置该用户密码

注:这里要选择-通过安全问题取回,其中没有设置安全问题的用户会利用失败
在这里插入图片描述

使用BP抓包,点击-下一步,蒋截获的请求包发送到重发器模块以便于查看响应包,原来的包DROP掉,不然会触发二次请求导致利用失败

使用此payload,将原来的POST请求内容替换,其中的&vdcode=xxx&type=xxx不用替换

dopost=safequestion&id=1&userid=test1&safequestion=00&safeanswer=0&vdcode=embh&type=2

在这里插入图片描述

访问响应包中得到的地址即可进入密码重置页面,注:其中的amp;实体编码要去掉

http://www.dede.com/member/resetpassword.php?dopost=getpasswd&id=1&key=7csIufED

在这里插入图片描述

密码重置为123,重置成功

这个漏洞能利用任意用户重置管理员密码,毕竟id=1嘛😂😂😂

然后利用hejun这个账户去登录前台发现登录不上,原来是管理员账户,此CMS的管理员账户只能后台登录

将上面payload的id更改为2,尝试利用其他用户登录

http://www.dede.com/member/resetpassword.php?dopost=getpasswd&id=2&key=4nDfzPyZ

原来是test1的用户,重置密码为123,前台用户中心登录,这里可以用BP爆破其他可利用的用户名,id= 1 1 1

进入前台用户中心,发现没有其他利用点,评论啥的都不能用,只有右下角欢迎新朋友这里可以进入其他用户空间

这里test2,test3都访问不了,只有test4能访问

3.2未授权访问

发现URL中uid=test4很可以,尝试一下未授权访问,换个管理员的账户试试

http://www.dede.com/member/index.php?uid=test4&action=guestbook

啪的一下,也没啥利用点,留言板提示后台登录管理员账户

3.3爆破后台

正常DEDECMS后台路径为/dede/login.php,这里的后台被修改了,尝试一下能不能爆破一下后台路径

百度无果,在github上看看有无可利用的工具,还挺多的,关键词dede 后台,找到了一个,地址放参考了(python2)

[]

得出后台管理路径

http://www.dede.com/hejunwebxxe/login.php

进入后台登录界面,发现用户中心的管理员密码跟管理员在后台登录的密码不同,直接爆破,这里要配合BP识别验证码。这里用到名为xiapao工具地址j及其使用方式放参考了(这里的脚本需要python低于3.7版本)

3.4安装xiapao

这款工具的安装有点麻烦,稍微介绍一下,这里建议都把工具都放同个文件夹再打开cmd

py -3.6 -m pip install --upgrade pip
py -3.6 -m pip install -i https://pypi.douban.com/simple/ pip install opencv-python==4.3.0.38
py -3.6 -m pip install muggle-ocr-1.0.3.tar.gz -i https://pypi.douban.com/simple
py -3.6 -m pip install opencv_python_headless-3.4.18.65-cp36-abi3-win_amd64.whl
py -3.6 -m pip install ddddocr -i https://pypi.tuna.tsinghua.edu.cn/simple

启动脚本

BP中导入xiapao插件

接下来就是xiapao配合BP自动化识别证码来爆破用户密码

填入后台登录验证码地址,接口使用他接码地址(默认),选择验证码识别一,记得点击保存配置

3.5爆破管理员密码

后台登录界面填入管理员账户名抓包发送到intruder模块,同时密码设置载荷,验证码处填入xiapao工具的识别特征码@xiapao@1@,线程设置为1,防止请求过快验证码识别不了

得到密码admin888

3.6getshell

进入后台,左边菜单栏中文件式管理器有个上传文件,这就上传个一句话木马😊

使用蚁剑连接,getshell,拿到flag(编了俩次码)

总结

DedeCMS是一款国产的开源CMS系统,具有使用简单、功能强大、可扩展性好等特点。然而,像其他CMS系统一样,DedeCMS也存在一些安全问题,其中任意密码重置漏洞是其中一个比较严重的漏洞。

通过信息泄露,攻击者可以获取到网站的用户的用户名和一些敏感信息,然后通过利用任意密码重置漏洞,在不知道原密码的情况下,重置管理员账号的密码,从而获取管理员权限。接着,攻击者可以通过后台getshell,获取网站的控制权,进而进行各种恶意操作,如上传恶意文件、篡改网站内容、窃取用户信息等。

为了避免这种安全问题的发生,在使用DedeCMS时,建议管理员及时升级DedeCMS版本,修复已知的漏洞。同时,建议管理员设置强密码、不要使用相同的密码、启用两步验证等措施,验证密码时添加一个token等手段,以提升管理员账户的安全性。此外,还需要加强对网站的监控,及时发现异常情况,并采取相应的措施,以保障网站的安全。

参考

https://xz.aliyun.com/t/9705#toc-0
https://github.com/AAHOne/dedecms
https://www.cnblogs.com/punished/p/14746970.html

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份完整版的网络安全(客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接也可扫描下方微信二v码获取网络工程师全套资料【保证100%免费】

在这里插入图片描述

如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值