某服务器网站重构实战

发布时间 2023-05-10 11:39:40作者: WXjzc

这是一次网站重构实战,脱敏后发一下水水


部署服务分析

通过分析数据盘的目录结构,发现与宝塔面板的目录结构高度相似

分析数据盘上次的挂载位置,发现挂载系统盘的/www目录下

进入数据盘的/server/panel目录下,发现BT-PanelBT-Taskdefault.pl等关键特征文件,以此确定此服务器上部署了宝塔面板

网站重构

后台入口

将系统进行仿真并设置网络连接为主机模式,防止服务器访问互联网,开机后发现数据盘已经通过开机任务自动挂载到/www

使用命令bt default查看宝塔面板的入口地址及用户密码

通过查看文件/www/server/panel/data/userInfo.json,得到绑定手机号为136********,服务器公网地址为39.103.179.202

 在宝塔面板中可以看到有一个网站处于运行状态

为网站添加一个域名,使得我们可以访问

访问成功

接下来分析网站结构,在网站的app目录下,发现两个可疑目录,分别为okadminyouadmin,通过这两个入口均能访问到相应的后台页面

实现登陆

查看youadmin登陆页面信息,发现需要提供用户名和密码并进行验证

获取管理员账号

利用宝塔中提供的mysql数据库的用户名密码登陆到数据库当中

root用户的Host改为%,去除ip限制,方便利用Navicat软件登陆

关闭防火墙,使用Navicat成功连接到数据库,看到管理员的用户名是admin,密码是一串未知方式的哈希值

去除验证码

点击验证按钮,发现长时间处于智能检测中的状态

分析其网络请求发现,网站调用了外部的api来进行验证

查看登录页源码,经过分析,发现控制登录逻辑的文件为/www/wwwroot/app.eayous1.com/app/youadmin/controller/Login.php,分析该文件,发现登录页为index3,在服务器中对应的文件为/www/wwwroot/app.eayous1.com/app/youadmin/view/login/index3.html

分析index3.html文件,在第21行开始发现调用了外部的js脚本,将这段代码去除

随后通过关键字v5verify等将所有涉及的代码全部去除

将相关代码全部去除后,已经成功去除验证码

破坏登陆逻辑

我们已经得到用户名admin,接下来在Login.php中使其接收请求的时候不接收验证码

将验证密码的判断全部改为false

这样一来,使用用户名admin并搭配任意6位以上的密码均可以成功访问到网站后台

在网站后台的门店账号列表中,发现每个门店都有一个登陆按钮,点击之后发现跳转到okadmin

youadmin是网站后台,okadmin是门店后台

充值页面

通过代理列表中给出的推广链接进行访问

分离出后缀url

拼接到设置的地址192.168.143.132后面,就可以访问到充值平台

数据库查询三国杀相关的信息

通过结合网站前端、代码及数据库进行分析,最终使用如下的sql语句得到三国杀相关的信息

SELECT
t_order.order_sn AS 订单编号,
t_order.contact AS 联系方式,
t_order.payMoney AS 充值金额,
t_order.fwf AS 服务费,
IF
( t_order.pay_status = 1, "已支付", "未支付" ) AS 支付状态,
IF
(
  t_order.payList NOT IN ( SELECT t_game_tc.k FROM t_game_tc WHERE t_game_tc.game_id = 25 ),
  "未知类型",(
    SELECT
    t_game_tc.v 
    FROM
    t_game_tc 
    WHERE
    t_game_tc.game_id = 25 
    AND t_game_tc.k = t_order.payList 
  )) AS 支付类型,
t_order.pay_type AS 支付方式,
FROM_UNIXTIME( t_order.add_time ) AS 订单时间,
FROM_UNIXTIME( t_order.pay_time ) AS 支付时间,
t_order.servername AS 大区,
t_order.account AS 充值账号,
t_order.charname AS 账号昵称,
t_merchant.mer_name AS 店铺名称,
t_user.username AS 代理商 
FROM
t_order,
t_merchant,
t_user 
WHERE
t_order.shopid = t_merchant.id 
AND t_order.user_id = t_user.id 
AND t_order.game_id = 25

查询结果共计16256条数据