收集信息
发现.project
文件 sql 目录遍历 uploads
目录遍历 phpmyadmin
泄露 superadmin
目录(phpmywind)泄露 include
目录遍历
获取到管理员密码
首先看 sql 目录
下载后发现是 sql 的导出文件,有 php 版本 phpstudy 查看一些信息发现
somd5 解出来密码是 rock1980
登陆 phpMyadmin
尝试 admin
rock1980
登陆 phpwind
phpmyadmin
未果,用 root
rock1980
登陆 phpmyadmin
成功登陆
secure_file_priv
设置为 NULL
写日志文件又不知道 web 绝对路径写不了 shell,陷入沉思
登陆 phpMyWind
沉思的时候翻数据库
找了一下发现另一个 admin 表,怀疑是 phpmywind 的管理员表,md5 解不出,自己加了一个用户进去 test/testtesttestaaa
登陆成功
一个任意文件读取
发现是低版本 phpmywind 5.3 可以后台任意文件读取 结合之前的 include 路径遍历,可以读取一些敏感信息
https://www.0dayhack.com/post-764.html
GetShell
看了一下功能,发现后台可以改允许上传文件后缀,修改 php 上传 php 发现貌似被 waf 拦了,改为 phtml 上传成功
连上马
然后发现有 disable_function
无法执行系统命令,但是没有禁用 putenv
和 mail
于是用LD_PRELOAD + putenv
绕过
https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD
phpinfo
发现是centos 64
位
于是上传64 位的 so 文件,配合 php,成功执行系统命令
下面执行了ifconfig
centos 系统内核比较老,可能可以提权,但怕搞坏机器就没继续了,内网也很大,可能可以漫游,不过还是要先提权,就止步于此了
PS: 转载的原因是,我学到了 phtml
本文作者为evoA,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !
不是默认的