初步测试目的站点
翻开进去是一个相似购物商城的中央,没有什么特殊的点,想要操作根本都要停止登录,中间件是nginx
再看看插件,惊喜来了,是dedecms
先直接盲打一波后台地址/dede 直接404……
再看看好歹有前台,先注册个用户
再查看最后更新时间
http://www.xxxxx.com/data/admin/ver.txt
能够晓得是dedecms v5.7 sp2的版本
这个版本之后有前台管理员密码重置破绽和恣意密码重置破绽,能够试一下组合拳
1.先注册个00001账户,由于00001经过intval()后值为1 (用来登录admin)
2.再访问/member/index.php?uid=00001的用户界面,获取响应包的last_vid__ckMd5值
3.访问/member/,交换DedeUserID为0001,DedeUserID__ckMd5的值为方才的last_vid__ckMd5的值
这时分就发现曾经登录了admin的账户
再将这个修正操作放到阅读器上,修正阅读器的cookie,胜利在网页上登录
这时分再配合dedecms最新版恣意用户密码重置破绽修正管理员密码
先点击下面衔接恳求key
http://X.X.X.X/member/resetpassword.php?dopost=safequestion&safequestion=0.0&safeanswer=&id=1
点击之后,一闪而过的稍后跳转到修正页
马上就变成非法提交。。。
再用开端的链接去访问
但开端有恳求胜利的跳转衔接,应该还是胜利生成了key,再看看阅读记载,返回第一次的页面,再用我的黄金右手快速点击立刻跳转,胜利进入重置界面
这里略微提一下,这里重置完密码之后还要在前台的账户设置里再次修正密码,由于这个前台修正恣意用户密码的洞只能改dede_member表里的用户信息,而管理员信息存在另一个表dede_admin中,所以要从前台登录管理员账户并修正dede_admin表里的密码,才是真正修正了管理员密码。
如今管理员账户密码都有了,就差老大难问题,找后台
网上有些5.7 sp2的前台getshell,但都是伪前台,在sp1之后还是需求后台地址才干getshell
网上有大佬写的爆后台脚本,但只在windwos上能用,如今目的是Linux的系统
旁站数据库报错文件找出后台
经过一番查询,发现dedecms的data下有个mysqli_error_trace.inc文件,此文件记载mysql查询错误,假如有后台查询呈现错误则会暴露后台途径。但是主站的报错都是plus目录下的
经过前期的信息搜集找到该网站的真实ip,发现是华为云
普通这种站只需有旁站大约率可能也有运用了dedecms的站
经过ip反查域名,发现其旁站大多都是同类型的公司站点
当时我用的云悉,结果只查出来一个…….这个站还不是dede(打脸打脸)
又在fofa上查,结果有一堆旁站,随意挑了一个域名直接把数据库报错文件的途径拼接上去,果真呈现了一个没见过的途径
拼接这个途径到主站域名访问,胜利找到后台
然后用之前拿到的管理员登陆后台->上传一句话->衔接一挥而就
bypass disable_function
准备执行命令考证,发现函数都被禁用了
disable_functions : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
而且还有open_basedir限制了目录访问
为了便当绕过disable_function,先bypass open_basedir
能够运用代码
<?php
echo 'open_basedir: '.ini_get('open_basedir').'<br>';
echo 'GET: '.$_GET['c'].'<br>';
($_GET['c']);
echo 'open_basedir: '.ini_get('open_basedir');
?>
但是哥斯拉内置了bypass open_basedir的插件,就直接上哥斯拉了。连上之后发现还是有挺多网站的。
再把哥斯拉内置的bypassdisable_functions模块都试了一遍,都失败了。
再看看当前搜集到的信息,效劳器是Linux的,效劳器中的PHP是用FPM/FastCGI的衔接形式启动,当前目录可写
想到应该能够用PHP-FPM绕过disable_functions,在蚁剑中曾经添加了这个bypass插件
先去插件市场下载装置绕过disable_functions插件,然后加载进来,选择PHP-FPM/FastCGI形式停止,FPM地址就用哥斯拉一顿乱找,Linux下能够看看/tmp目录。
留意这里的tmp前一定要加/
操作胜利后,会显现胜利上传代理脚本和一个so文件,在webshell目录下会多了个.antproxy.php文件,我们直接右键创立副本改地址为该代理PHP文件,再衔接即可胜利Bypass disable_functions:
提权
在阅读文件时发现存在phpmyadmin目录,前期信息搜集得知该站点运用了宝塔,宝塔普通默许把phpmyadmin搭建在888端口上面,但是该网站并没有开启888端口,而且bypass后的shell总是两分钟就掉,有宝塔,又是hvv惧怕把效劳器提崩….所以就暂时浸透到这里吧。
总结
在浸透过程中假如主站和旁站是一个类型的站点,那他们的目录构造也很可能类似,很多破绽点也可能通用。
本文学问点:
1.经过dedecms最新版破绽组合拳拿到管理员密码。
2.旁站信息搜集
2.绕过disable_functions禁用函数。
3.绕过open_basedir目录限制。
感谢您的来访,获取更多精彩文章请收藏本站。
![](https://www.gyzsq.com/wp-content/uploads/2022/07/9259adea4619.gif)
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
![头像](/wp-content/themes/zibll/img/avatar-default.png)