2024年平航杯——服务器部分

文摘   2024-12-11 13:12   北京  

本文主要是针对比赛题目进行分析和解题思路分享,只进行知识分享,不具一定的实战能力,后台不解答涉及可能侵害他人权利的问题,切勿用于违法犯罪活动。如果有工作方面的解答需求,请后台联系添加微信私聊。

该比赛的服务器主要是LMNJ环境,即Linux+Mysql+Nginx+Java在,着重考查Linux和Nginx基础,考验选手还原并连接数据库以及本地重构网站的能力。以下分析仅代表个人观点,如果发现错误,恳请各位师傅指正。
服务器配置要点

1.用firewall-cmd打开数据库和ssh对应防火墙端口,设置为permanent

比如对于数据库的是:

   45  sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent   46  sudo firewall-cmd --reload

然后要重启mysqld和sshd服务;

2.对于sql数据库而言还需要设置一下允许root登录的ip

mysql> use mysql;Database changedmysql> select 'host' from user where user='root'    -> ;+------+| host |+------+| host |+------+1 row in set (0.00 sec)
mysql> update user set host = '%' where user ='root';Query OK, 1 row affected (0.00 sec)Rows matched: 1  Changed: 1  Warnings: 0
mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)
mysql> select 'host'   from user where user='root';+------+| host |+------+| host |+------+1 row in set (0.00 sec)
mysql> select 'host'  from user where user='root';+------+| host |+------+| host |+------+1 row in set (0.00 sec)

这样才能连接上;

3.另外还要启动缓存用的redis,这个在/www/server/redis/src那里找到redis-server脚本,不指定配置文件直接运行脚本启动redis

关于网站的配置

宝塔登上去之后一看有三个项目,但实际上同属一个web应用,一个是用户网页的前端,一个是后台网页的前端;java项目就是jar包是后端,根据前端的域名修改自己的hosts文件即可;

至于网站的加密方式,当时做的时候猜测是md5,试了一个,发现是123456,当然这是为了节约时间;最好看看源码,索性就把后台对应的admin_user_v3和用户网页对应的user_profile两个表的所有哈希全改成123456的哈希;

其实当时我想直接拿备份挂到本地来看数据库的,后来比较了一下,现在在线的数据库和备份相比,后者少了很多东西;可能是因为备份时间还没有到,这确实是一个需要注意的问题

46、分析检材6,服务器使用的SSH服务的端口号为?(答题格式:1234)

47、分析检材6,在2024年7月16日下午3点34分14秒,远程登录到服务器的IP地址为?(答题格式:192.168.1.1)

192.168.3.3

last --fulltime显示完整的时间,包括秒和年

48、分析检材6,服务器用户“liuming”的登录密码为?

这题的密码在其他检材,略过。。

49、分析检材6,服务器宝塔面板绑定的手机号为?(答题格式:18212341234)

17395716023

这个在/www/server/panel/data/userInfo.json的username字段,刚好和宝塔页面的糊掉一半的手机号印证

50、分析检材6,服务器中首次登录宝塔面板的IP地址及端口号为?(答题格式:192.168.1.1:12345)

192.168.3.3:54234;这个在/www/server/panel/logs/request看宝塔面板收到的请求;

最早的是10-16,如果涉及到登录(无论成功或者失败),最早是这个post请求,ip和端口记录如下:

51、分析检材6,服务器计划任务中数据库备份日期为每周的星期几?(答题格式:星期一)

查看当前用户的计划任务:crontab -l,发现有个备份脚本

0 1 * * 1 /usr/backup_script.sh

前面这串数字的意义如下:(from 菜鸟教程)

*    *    *    *    *-    -    -    -    -|    |    |    |    ||    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)|    |    |    +---------- 月份 (1 - 12) |    |    +--------------- 一个月中的第几天 (1 - 31)|    +-------------------- 小时 (0 - 23)+------------------------- 分钟 (0 - 59)

显然是每周一凌晨1点(星期一)

52、分析检材6,接上题,10月17日备份的文件的解压密码为?(答题格式:abc_123)

这个看脚本内有个aes_pass

#!/bin/bashDB_HOST="127.0.0.1"DB_PORT="3306"DB_USER="root"DB_PASSWORD="jcOgIKZm"DB_NAME="taikongrenIM"BACKUP_PATH="/usr/backup"cd $BACKUP_PATHDATE=$(date +%Y%m%d%H%M%S)AES_PASS="${DB_NAME}_${DATE}"BACKUP_FILE_NAME="${DB_NAME}_${DATE}.sql"mysqldump -h $DB_HOST -P $DB_PORT -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE_NAMEgzip -c $BACKUP_FILE_NAME | openssl enc -aes-256-cbc -salt -k $AES_PASS -out "${BACKUP_FILE_NAME}.gz.enc"rm -rf $BACKUP_FILE_NAME

其密码规则给了,而且其密码恰好就是备份文件名去掉后缀的部分,根据他给的备份地址找到文件,密码就有了:taikongrenIM_20241017154953

53、分析检材6,服务器搭建的网站使用的数据库版本号为?(答题格式:1.1.11)

上题的脚本文件给了密码,直接登进mysql就有版本8.0.36

54、分析检材6,服务器搭建的网站前端界面Nginx配置的访问日志文件名(access_log)为?(答题格式:abc.log)

他应该指的是用户网页的前端;问的是nginx访问日志,因此锁定到/www/wwwlogs;/www/wwwroot为下的日志属于应用程序日志,与/www/wwwlogs的web服务器日志不同;在/www/wwwlogs下发现192.168.3.23.log,看内容,将日志中的链接与重构后的用户页面对照,确定这就是网站前端页面Nginx配置的访问日志

55、分析检材6,服务器中网站使用的数据库名为?(答题格式:abcABC)

mysql登进去,然后show databases;

56、分析检材6,重构网站,服务器中网站配置的美洽ent_id后8位为?(答题格式:12345678)

在前端的html里面有


57、分析检材6,重构网站,在前端页面中展示的运维人员的QQ号为(答题格式:123456789)

这个是用户页面的前端,当然数据库也能找到

58、分析检材6,重构网站,登录网站后台,查看站点配置-功能配置,其中单账户多端登录支持网页/PC客户端最大同时登录数量为?(答题格式:1)

这里重构后台除了改密码之外还会有验证器,这个直接用admin_user_v3的secret_key去生成一个验证码就可以了,用https://2fa.run/这个网站

59、分析检材6,重构网站,登录网站后台,查看财务管理-签到配置中的奖励规则,第3天签到奖励多少元?(答题格式:0.01)

60、分析检材6,服务器搭建的网站后台管理员账号“xiaotianqi”被删除的具体时间为?(答题格式:1970-01-01 01:01:01)


金星路406取证人
这是位于大兴区黄奕路金星406的取证爱好者,这是一个致力于学习电子数据取证的团体~~
 最新文章