难度一般,脑洞较多
第一次打线下赛,结果主办方也是第一次办线下赛,体验极差
打完比赛啥也没得,回学校第二天了,主办方说排名出了点问题,我们队原本应该是三等奖的...
有些题队友做了,就没存
Misc
很简单
WriteUp
附件是一个pdf,直接用Acrobat
编辑一下删掉图片就能看见flag。
flag
flag{kehfh@#$%hne123ahfe}
隐写
WriteUp
得到带密码的zip附件,字典跑一下,密码是password
,解压得到hello.exe
。
因为是隐写题,所以应该不是re的套路,于是exeinfope
直接提文件,得到一张jpg。
stegdetect
检查了一下发现有报错,于是猜测可能有高度隐写,改高度得到key is 0xA
这个提示。
于是回到hello.exe
,用ida
打开发现AES加密后的结果U2FsdGVkX1/86UxkQm0SxhGr5F/SPbTqob3rYYCY9+B+CVNET7H7gcLAjsfTd1Xu
,尝试用密码0xA
解密发现并不像。最后用10
当密码成功解密得到flag。
flag
qlb{eb14477a268ea527}
MODBUS协议
WriteUp
这题不知道协议是啥,反正暴力肉眼找就完事了。
flag
Flag{TheModbusProtocolIsFunny!}
二维码?
WriteUp
观察附件可以发现每隔20像素点就存在一个异常像素,于是猜测是二维码点阵,那么既然像素点太小,那么就写脚本把像素点放大20倍,就差不多正好能把图给铺满。
import cv2
img = cv2.imread("under_your_nose.jpg")
i = 0
while i <= 1880:
j = 0
while j <= 1580:
for x in range(i, i+20):
for y in range(j, j + 20):
img[x, y] = img[i, j]
j += 20
i += 20
cv2.imwrite("test2.png", img)
然后发现实际上点阵不是二维码,只是一张图被分割了而已。
flag
flag{be_careful_more_careful!!!}
awd
就一个靶机需要维护,因为主办方没公布规则,所以应当默认waf是可以用的,所以直接挂上从wupco / weblogger改的流量分析+waf。(其实没改多少,主要是优化文件结构、安装逻辑、以假乱真flag替换逻辑、页面UI,功能没啥增加,以后如果还有awd打的话,可能会接着加功能)(因为功能没改完,所以暂时不开源,下次一定)
然后题目又正好是校内训练时的题,所以exp都还在,然后平台又是辣鸡云诚科技
偷天换日改的vidar-team / Cardinal,和校内训练相当于是同个平台,所以交flag的api也一样。
直接一键打爆!!!
最后快超过榜一的时候,主办方下场说有些队打不下去了,不打了,换ctf题
...(不是针对榜一啊,榜一确实牛逼)