技战法:重构PHP涉网犯罪后台登录绕过

admin 2024年11月21日11:17:54评论10 views字数 1591阅读5分18秒阅读模式

实验背景:

前段时间,XX 市 XX 局网安部门就涉网犯罪网站后台绕过问题向我进行技术咨询。针对调证回来的服务器镜像,主要有两项任务:其一,进行网站重构;其二,获取网站后台地址以及绕过账号和密码。

本文从取证的角度详细阐述了获取 PHP 网站后台地址的方法以及多种绕过后台密码的方式。

实验环境

实验网站用前文的微交所fastadmin框架的源码

主机名 IP 软件
Cenots7 内网 BT
win10 内网 谷歌浏览器

技战法:重构PHP涉网犯罪后台登录绕过

实验要求

1. 理解代码中的登录逻辑,进而对其进行修改。

2. 采用相同的加密方式对明文密码进行加密,将加密后的哈希值替换数据库中的原有哈希值。随后,使用自己设置的明文密码进行加密操作即可。

对服务器进行仿真

备份站点以及数据库,打上Hash,有仿真厂商软件无脑连接就行了。

技战法:重构PHP涉网犯罪后台登录绕过

技战法:重构PHP涉网犯罪后台登录绕过

宝塔正向搭建网站:可将 “XXXX.zip” 网站源码以压缩包形式通过宝塔面板上传至 “/www/wwwroot” 并解压,然后编辑站点基本信息、添加数据库、编辑数据库配置文件、绑定 hosts 域名(内网可以diy域名),最后进行访问。

技战法:重构PHP涉网犯罪后台登录绕过

添加数据库信息需注意:数据库名应与网站源码数据库配置文件的数据库名一致;只能用非 “root” 普通用户,MySQL 安装有默认 “root” 用户具超级权限,网站数据库配置文件显示非 “root” 用户,此时用户和密码可自定义。

技战法:重构PHP涉网犯罪后台登录绕过

配置数据库链接

技战法:重构PHP涉网犯罪后台登录绕过

配置完成

技战法:重构PHP涉网犯罪后台登录绕过

查看配置文件

在一般的PHP网站开发过程中,代码主要写在 “application” 文件夹中,通常会分为前台和后台两个部分。其中,前台一般放置在 “index” 模块中,而后台则一般放在 “admin” 模块中,注意本文是二开cms。

技战法:重构PHP涉网犯罪后台登录绕过

定位前台和后台

技战法:重构PHP涉网犯罪后台登录绕过

后台存在验证码相关特征,这对于寻找源码可能会有一定的帮助,不过在本文的内容中没有发挥作用。

技战法:重构PHP涉网犯罪后台登录绕过

在查看过程中发现,admin.php 文件通常会因较高版本 PHP 的安全考量而被隐藏。如今较新的网站在 PHP 版本较高的情况下,为提升安全性,往往会将后台页面文件 admin.php 重命名为不规则的文件名,以此达到隐藏后台文件的效果。

技战法:重构PHP涉网犯罪后台登录绕过

查看 SQL 相关语句,以寻找与源码相关的语句内容。

技战法:重构PHP涉网犯罪后台登录绕过

查看加盐方式

技战法:重构PHP涉网犯罪后台登录绕过

找了半天以为是后台,去验证的时候发现这玩意是前台登录!

技战法:重构PHP涉网犯罪后台登录绕过

一、修改源码登录逻辑

通过php修改登录逻辑,前台任意用户可以登录

    case 'login':                    // 直接设置登录成功,不进行账号密码验证                    $result['status'] = 1;                    $result['msg'] = '登录成功';                    $result['url'] = url('index/index');                    break;            }

技战法:重构PHP涉网犯罪后台登录绕过

经过长时间的查找,最终找到了管理员登录页面。主要依靠使用 IDA 编辑器对整个源码内容进行关键词 “salt” 的搜索。

技战法:重构PHP涉网犯罪后台登录绕过

    public function login($username, $password, $keeptime = 0){    // 直接设置登录成功状态,跳过原有验证     $admin = new Admin();     $admin->id = 1; // 假设一个默认的管理员 ID     $admin->username = 'anyuser';     $admin->token = Random::uuid();    Session::set("admin", $admin->toArray());     $this->keeplogin($keeptime);     return true;}

修改后台逻辑,随便用户名、密码输入即可登录。

技战法:重构PHP涉网犯罪后台登录绕过

查看用户名与源码一致

技战法:重构PHP涉网犯罪后台登录绕过

二、替换加盐

看看后台管理员的表

技战法:重构PHP涉网犯罪后台登录绕过

对后台用户进行 cmd 解密,运气好直接出来。

如果解密失败,用以下方法

密码(password):3d66ce6a208d89bf833dd8e7ccf46fa2
密码盐(salt):02a3eb

技战法:重构PHP涉网犯罪后台登录绕过

技战法:重构PHP涉网犯罪后台登录绕过

这里我已经更改过了,再进一下后台。

此方法只适合PHP FastAdmin框架,理论上同框架的密码可以通用!

技战法:重构PHP涉网犯罪后台登录绕过

 

原文始发于微信公众号(网络安全与取证研究):技战法:重构PHP涉网犯罪后台登录绕过

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月21日11:17:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   技战法:重构PHP涉网犯罪后台登录绕过https://cn-sec.com/archives/3404358.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息