2024数证杯决赛个人赛wp服务器部分
把服务器先仿真起来,不知道为什么xshell一直连接不上,就直接在虚拟机里做了
服务器部分
1.重建完整的系统后,redis对外暴露的端口号是多少?(答案格式:数字) (3分)
16379 |
先看看火眼梭出来的结果,发现redis容器在docker里,显示有16379和6379两个端口,去看一下docker的配置
找到redis和两个端口,其中前面的6379/tcp表示容器内部 Redis 服务监听的端口是 6379 ,后面的0.0.0.0:16379->16379/tcp是将容器内部端口映射到宿主机端口的配置,通过这种映射,外部可以通过宿主机的 16379 端口来访问容器内 Redis 服务监听的 6379 端口,而题目问的是对外暴露的端口,所以16379为答案
2.请找出加密mysql数据库连接密码所用的加密密钥(盐值)?(答案格式:注意大小写) (3分)
F*DZ-kZMs5qt |
从上图发现有jdk容器,基本可以确定后端是用java搭建的,连接密码肯定在后端源码里有存储,所以看看jdk;历史命令里发现对方尝试进入/home/data/s048目录里,且看到后面有密码相关的字样,大概率就是了
用火眼解析文件看看,发现一个yml文件和一个jar包,应该是配置网站的,把两个都导出看看
用jadx打开jar包反编译,这里做不下去了,想着直接爆搜。既然是密码相关,就拿decrypt和encrypt搜,翻了好几圈,看到这里一串东西很奇怪,前面还有setpassword字样比较敏感,很像是我们要找的东西,做到后面拿这个解出密码了才确定
参考了别的师傅wp才知道要根据yml配置文件寻找,就不班门弄斧了直接上链接https://mp.weixin.qq.com/s/ldaZksyLYT2cgCoXYMLEgQ
3.请分析得出相亲网站的后台数据库中哪张表存放了会员相关信息,写出表名? (6.0分)
a_member_st |
还是后台数据库,直接在源码里搜试试,真有 也可以直接到数据库里找,方法在后面的题目里会用到
4.已知用户在系统中的所有操作都会被记录,请找出用户在“查询角色”时,其请求的后端路径地址为?(格式:/api/query/…) (3.0分)
/zwz/role/getAllByPage |
一看题目大概率是要去数据库里找了,所以尝试用navicat连接一下数据库
第二题已经找到了加密密钥,结合之前在yml文件能找到被加密的字符串(这里ENC是一种用于标识加密内容的约定)
解密部分自己ai了脚本没成功,是参考其他师傅的方法,调用Jasypt 库对加密的字符串进行解密,算是拓展知识面了
(JasyptPBEStringDecryptionCLI 类是 Jasypt 库提供的一个命令行界面(CLI)工具,专门用于对使用基于密码的加密(PBE)算法加密的字符串进行解密操作)
用navicat连接,mysql的ip和端口在之前的yml文件里已经给出
这里要先建立ssh连接到虚拟机,netstat -anpt查看一下ssh的端口是16022;再进行mysql连接,用户名admuser和密码mA0:xA0^之前都已解出
连接成功
题目告诉我们所有操作都有记录,即可以去翻翻日志,a_log表里找到了
5.请分析得出数据库用户表中status为-1状态值的含义为?(格式:学生) (1分)
禁用 |
一开始在user表里找到了status=-1,但没有找到解释,翻了其他的表也没看到
想着这种定义类的应该会在源码里出现,去jar包里搜一下,刚跳出来的几个里就能发现
6.请统计平均月均收入第二高的省份(省份包含三大类:省、直辖市、自治区)(答案格式:请写出完整的省份名(或直辖市名、自治区名),如江西省、天津市、西藏自治区) (3分)
内蒙古自治区 |
mysql数据库信息比较少,翻完以后没能找到,但别忘了之前配置文件显示还有一个数据库
账号密码在配置文件里有给,解密方式跟上面的一样
还是用navicat连接,方式跟上面一样,这里就不写了;打开后浏览一遍发现需要的数据在a_member_st表里,也就是第三题的答案,因此第三题也可以打开这个数据库找到
要根据不同省份进行统计,明显是要写sql语句,水平不够这里直接上ai了
评论前必须登录!
注册