2024数证杯初赛(服务器部分)
服务器
1. [填空题]对服务器检材进行分析,站点服务器可能是从哪个云服务平台上调证过来的?(填写汉字,答案格式:亿速云) (2分)
阿里云
2. [填空题]对服务器检材进行分析,站点服务器中数据库的密码是?(按实际值填写) (2分)
在/data目录下找到jar包,用jadx打开看看,看看资源文件
找到/application.yaml
可以看到active字段是sxj
所以站点服务器中的数据库密码是sxj资源文件里面的站点的数据库密码
里面有数据库连接密码为Sxy000**
另一种办法是直接解压jar包
这样的话我们就可以直接IDEA搜jdbc:mysql也许会快一点
3. [填空题]对服务器检材进行分析,站点服务器用于提供服务发现的工具名是?(答案格式:zookeeper) (4分)
在家目录下就有history也能看到
consul
4. [填空题]对服务器检材进行分析,站点服务器数据库配置文件名是?(答案格式:database.php) (2分)
在上面已经找到了
5. [填空题]对服务器检材进行分析,该网站涉及的APP名称是?(答案格式:微信) (2分)
资源文件里面找到涉案app名称
顺心借
6. [填空题]对服务器检材进行分析,该网站用于存储大量身份证照的OSS中的AccessKeyID后八位是?(答案格式:按实际值填写) (2分)
一样在资源文件里面找到EuZJybzD
7. [填空题]对服务器检材进行分析,站点服务器用于消息转发代理工具所使用的端口号是?(填写数字,答案格式:3306) (2分)
可以看到消息转发代理的端口号是5672
8. [填空题]对服务器检材进行分析,站点服务器用于启动定时任务的代码片段存在于?(答案格式:LoginIndex.class) (4分)
直接爆搜一下定时任务
MobileStatusTask.class
9. [填空题]对服务器检材进行分析,站点服务器用于验证用户输入的验证码是否匹配的代码片段存在于?(答案格式:LoginIndex.class) (4分)
爆搜验证码,看到验证码错误
直接再次爆搜验证码错误
AdminIndexConller.class
10. [填空题]对服务器检材进行分析,数据库服务器中Docker容器镜像中mysql的镜像ID号前6位是?(答案格式:123asd) (2分)
23b013
11. [填空题]对服务器检材进行分析,数据库服务器中DockerCompose的版本号是?(答案格式:1.1.1) (2分)
仿真完直接执行docker compose version
2.27.1
12. [填空题]对服务器检材进行分析,数据库服务器中用于存储后台登录账号的数据表名是?(答案格式:login) (2分)
在history里面找到数据库连接密码直接试试
直接连接上试试
发现开了ssh也链接不上因为他是在docker容器里面设置的本地是docker容器所以我们需要把加目录下的my.conf添加skip-grant-tables然后再复制进入docker容器里面的/etc/my.cnf
docker cp ./my.cnf f29ed5271c46:/etc/my.cnf
sed -i '/\[mysqld\]/a skip-grant-tables' /etc/my.cnf
#也可以直接添加不需要复制进去
然后重启一下容器
docker restart mysql8.0.39
docker exec -it mysql8.0.39 bash
这个时候直接进入容器然后尝试登录数据库
mysql -u root -p
直接回车登录即可
然后我们在数据库里面改一下root密码
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
exit
注意改完密码和权限之后需要记得去删除skip-grant-tables不然navicat是连接不上去的
sed -i "s/skip-grant-tables/ /" /etc/my.cnf
然后退出容器再次刷新docker容器
exit
docker restart mysql8.0.39
可以看到已经成功进行了绕密了
我们直接连上看看
然后找一下后台登录密码都存在哪了
大抵是在sys_user表里面了
13. [填空题]对服务器检材进行分析,后台管理员“xpt-0”所绑定的手机号码是?(答案格式:13001880188) (2分)
这种问题我们一般全局爆搜即可
19521510863
14. [填空题]对服务器检材进行分析,用户首次借款初始额度是?(填写数字,答案格式:1) (2分)
一看到这种问题我们就应该知道要重构服务器了
但是这个题还是能搜到直接爆搜初始额度
4000
15. [填空题]对服务器检材进行分析,受害者在平台中一共结款了几次?(填写数字,答案格式:1) (2分)
这里开始是要重构网站了
网站重构参考(我觉得第一篇写的太好了,讲的很清楚):
https://www.cnblogs.com/yanke-wolf/p/18603229
https://www.cnblogs.com/WXjzc/p/18560734
第一步:mysql创建用户
数据库连接信息里没有配置里的sxy用户,所以需要创建一个用户并授权
docker exec -it mysql8.0.39 bash
mysql -u root -p # 输入密码123456
CREATE USER 'sxy'@'%' IDENTIFIED WITH mysql_native_password BY 'Sxy000**';
GRANT ALL PRIVILEGES ON sxj_prod.* TO 'sxy'@'%';
FLUSH PRIVILEGES;
第二步:修改host文件
F12查看网络信息,接受验证码ip(47.96.140.186)不对。如果要成功登录,需要通过system的rabbitmq接收,并与redis存储验证码数据比较,所以先要修改host,让网络转到system的ip上
#将主机名映射到ip地址上,编辑hosts文件
vi /etc/hosts
#在其中添加下列代码
127.0.0.1 iZbp1gma2uf9hvsnbu9mdkZ iZbp1gma2uf9hvsnbu9mdkZ #system的ip
192.168.160.150 rm-bp18td28bsh13f5jy.mysql.rds.aliyuncs.com #data的ip
#修改后台跳转地址为本机地址
cd /www/admin/
find ./ -type f -name '*js' -exec sed -i 's/47.96.140.186/192.168.160.151/g' {} + #system的ip
第三步:固定redis验证码
查看jar源代码,发现是将验证码和redisCode进行比较,所以验证码应该是需要存入redis中的
navicat连接,密码为:Sxy000**
添加即可
验证码的名称ADMIN-PHONE+电话号码构成
所以值我们设置为
ADMIN-PHONE19883213882
# 密码设置为1234
相当于我们这里给19883213882这个手机号用户设置了固定的验证码为1234
第四步:启动所有服务
#启动rabbitmq服务
systemctl start rabbitmq-server
#root目录下启动consul服务
cd /root
./consul.sh
#data目录下启动jar包脚本
cd /data
./jar.sh
# jar.sh一直报404也没有什么影响的
#可以用netstat -anlpt检查开放的服务端口
#使用systemctl status xxx 检查服务是否开启
第四步:网站访问
可以看到网站开放了82,83——82为后台登录界面
网站重构完成
1857
16. [填空题]对服务器检材进行分析,该平台中所有下单用户成功完成订单总金额是?(填写数字,答案格式:1) (2分)
我这里的订单总金额好像有点不对因为我启jar包的时候报错了,可能没更新过来,仅作参考
川佬的是11066700
17. [填空题]对服务器检材进行分析,该平台中逾期费率是?(答案格式:1.1) (2分)
0.1
18. [填空题]对服务器检材进行分析,该平台中累计还款总金额是?(填写数字,答案格式:1) (2分)
仅作参考
10194700 这里好像和川佬是一样的,我有点懵逼
19. [填空题]对服务器检材进行分析,该平台总共设置了多少种借款额度?(填写数字,答案格式:1) (2分)
131条
这里要选择已激活的
20. [填空题]对服务器检材进行分析,该平台一共有多少个借款渠道?(填写数字,答案格式:1) (2分)
140
21. [填空题]对服务器检材进行分析,该平台对已完成用户收取了总计多少元服务费,结果精确到整数?(填写数字,答案格式:123) (2分)
4051915