本文主要是针对比赛题目进行分析和解题思路分享,只进行知识分享,不具一定的实战能力,后台不解答涉及可能侵害他人权利的问题,切勿用于违法犯罪活动。如果有工作方面的解答需求,请后台联系添加微信私聊。
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 changed
mysql> 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/bash
DB_HOST="127.0.0.1"
DB_PORT="3306"
DB_USER="root"
DB_PASSWORD="jcOgIKZm"
DB_NAME="taikongrenIM"
BACKUP_PATH="/usr/backup"
cd $BACKUP_PATH
DATE=$(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_NAME
gzip -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)