UNCTF2022-校内赛

web

ezgame

打过boss就能获得flag(不会有人打不过吧)

我太喜欢bilibili大学啦

在phpinfo里面找就有了

签到

非常ex,链接打开登陆页面,从20200202开始往后面(20200203,20200204...)输入进去就会得到flag

babyphp

url+index.php转到php代码处,POST传入a=0&key1[]=1&key2[]=2利用sha1函数无法处理数组的特性即可。当对sha1()函数传入数组时会返回null,由此,只需要传入两个不同的数组即可成功绕过。),绕过正则匹配GET传入?code=(~%8F%97%8F%96%91%99%90)();即可跳转到相应phpinfo页面找到flag

easy_upload

随便找一个小马改成png文件,抓发送文件的包,把后缀改成.php,蚁剑连接网站即可搜到flag

我太喜欢bilibili大学啦修复版

hint1在PHP info里面找到,hint2抓包得到

直接传入命令

302与深大

抓包,然后根据提示,用burpsuit传参post,get,然后伪造cookie

给你一刀

找到thinkphp漏洞

连上网站即可找到flag

misc

magic_word

把附件里所有的字符(注意是所有)复制粘贴到Unicode Steganography with Zero-Width Characters (330k.github.io)这个网站上,得到flag

注意,整个操作需要在手机上完成,不然乱码无法取得零宽

社什么社

打开txt文件,缩小,一眼丁真,定位为湖南凤凰古城

凤凰古城四个字md5加密可得到flag

找得到我吗

将解压的docx文件后缀改成zip格式再次解压,得到一堆xml,在存放字段的地方找到flag

syslog

解压后在log文件里面找password,base64解密后得到

解压即可得到flag

巨鱼

附件有图片,修改高度得到“无所谓我会出手”,binwalk分解得到压缩包,得到一个压缩包,用之前得到的字串解密,又得到一个压缩包,实际上是一个伪加密的压缩包,解压之后得到一个加密的ppt和一个txt文件,txt文件是化学烂梗,指的是666,解密后PPT内没有flag,是在最后一张里面隐藏起来了,在最后一张里随便用鼠标拉一下,然后复制粘贴就可以得到flag

In_the_Morse_Garden

pdf大小改一改或者其他办法把flag弄出来,弄出来之后是加过密的,先base64解密一下,然后把玛卡巴卡和依古比古改成相应的摩斯密码,解出来即可

Crypto

md5-1

直接把out.txt文件的md5批量加密,得到flag

dddd

把dddd.txt里面的1和0换成相应的摩斯密码,解密即可

caesar

换了个表,问题很大,连夜写了一个脚本跑出来了

LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
text = input("请输入密文:")
flag = ""
for i in range(len(text)):
    k = LETTERS.find(text[i])
    if (text[i] in LETTERS) and (k < len(text) - 19):
        flag += LETTERS[k + 19]
    elif(text[i] in LETTERS) and (k >= len(text) - 19):
        flag += LETTERS[(k + 19) % 64]
    else:
        flag += text[i]

print(flag)

Single table

找规律,其实不难,只是有的冤种没想到最后还要去掉最后一个字符,是谁我不说

今晚吃什么

10000换成a,00000换成b,然后培根解密

reverse

whereisyourkey

脚本如下

v5 = "vgpkcmhnc"
flag = ""
for i in range(0, len(v5)):
   if v5[i] == 'm':
      flag += v5[i]
   elif v5[i] <= 'o':
      flag += chr(ord(v5[i]) - 2)
   else:
      flag += chr(ord(v5[i]) + 3)
print(flag)

ezzzzre

脚本如下

g = "HELLOCTF"
flag = ""
for i in range(0, len(g)):
   flag += chr(2 * ord(g[i]) - 69)
print(flag)

Sudoku

稍稍调试一下,

脚本如下

flag = "UNCTF{"
flag += chr(29+50)
flag += chr(15+50)
flag += chr(29+50)
flag += chr(24+50)
flag += chr(39+50)
flag += chr(25+50)
flag += chr(29+50)
flag += chr(20+50)
flag += chr(32+50)
flag += "}"
print(flag)

pwn

welcomeUNCTF2022

写脚本(虚拟机崩了,脚本没了)

石头剪刀布

写脚本(虚拟机崩了,脚本没了)