1.Mic Check (Cyber, Baby, 50 pts)
签到题,查看rules,那个就是flag
cybrics{Th1S_i5_T3h_R34l_m1C_ch3CK_f1A6}
2.Scanner (rebyC, Baby, 50 pts)
第一关每次都是房子,后面三关就看到什么填什么单词就过了,最后是一张二维码.
下载下来用GIFFrame分离出来,然后可以看帧找到哪些图拿来拼起来就是一张完整的二维码
写脚本
from PIL import Image
list = [8,11,14,16,19,22,25,28,30,33,36,39,42,44,47,50,53,56,58,61,64,67,70,72,75,78,81,84,86]
box = [45,496,1033,517]
pic = Image.new('RGB',(1000,1000),(255,255,255))
c = 0
for i in range(len(list)):
tmp = Image.open("Frame" + str(list[i]) + ".png")
tmps = tmp.crop(box)
pic.paste(tmps,(0,c*21))
c += 1
print(c)
pic.show()
解码即可
cybrics{N0w_Y0u_4r3_4_c4sh13r_LOL}
3.rm -rf’er (CTB, Baby, 166 pts)
很傻的非预期:因为很卡,所以在连接上到执行指令的期间,撤销他的指令,就可以使用cat指令了。大概尝试几次就找到那个点了。我是大概3.5秒的时候疯狂ctrl+c就行
预期:
因为指令被删掉,就只能看看剩余的指令,输入字母a-z其中一个然后按tab,就可以查看有哪些指令了
第一步是找flag在哪
这里发现ls-F指令没有被禁用,就利用ls-F找到flag.txt在/etc/ctf/下,cd过去即可
第二步就是输出flag,首先是找到了source,但是只能输出一点无关内容
结合提示:Added at 13:45 — frequent question: yes, if you found flag.txt, the flag is right there, in the open, as plain text. Just read it. If you’re not seeing the flag, try to find another method that will not hide info from you
可以知道flag就在flag.txt中,但是无法cat就很烦。这时第一想法是echo出来,但是echo出来就需要变量,也想到刚刚使用source,可以执行sh脚本。用echo把想执行的输入到sh中,然后再用source打印出来。
首先是试了一下,看了看他用什么执行的。反正其实也就是试然后了解到了用的是tcsh,虽然好像并没有什么用。
然后去百度搜到了有关$的
之后发现$<可行
{}掉了诶(我记得当时做题的时候没掉emmmm
cybrics{TCSHizzl3_Ma_N1zzl3}
4.CAPTCHA The Flag (rebyC, Easy, 50 pts)
没啥意思,就浪费点时间,就验证码,要验证25次。下载下来stegsolve看R/G/B的0或者1通道即可
cybrics{a_k33n_Ey3_wi11_sp0T_r1GhT_aw4Y}
5.ASCII Terminal (Network, Baby, 116 pts)
首先给了个id command和一个nc端口
暂时还不懂,就把id command输入了进去
然后他说执行了id,并且后面打印了一堆东西
所以这道题的意思是输入的ascii art会被识别然后转成指令。
我当时是ls之后发现flag.txt,然后cat的flag.txt,用的图片转换成ascii
https://www.qtool.net/imgascii
关于ls指令被识别成大写的i和s
这里换一个字体,换成像我们那种手写体的就行,或者用别的指令吧。
不去操作了,当时粘贴到了记事本,直接放那个图了。
cybrics{T3553R4C7_15_G00D}
6.Ad Network (Web, Baby, 50 pts)
写的很明确了,重定向1337次即可。
方法一:火狐修改限制,因为火狐默认貌似是20次(我反正每20次就自动停止重定向),所以要去about:config里面改
然后搜redirect,就找到了
改成1500吧,等他跑完就完事
啊还忘了说在哪:
方法二:写脚本
import requests
import re
url = 'http://adnetwork-cybrics2021.ctf.su/adnetwork'
for i in range(1500):
r = requests.get(url,allow_redirects=False)
url = re.findall('<a href="(.*?)"',r.text)[0]
print("[*]重定向{}次,".format(i) + "url为" + str(url))
if 'cybrics{' in r.text:
print(r.text)
break
cybrics{f0lL0w_RUl3Z_F0ll0W_r3d1r3C7z}
7.Namecheck (Forensic, Baby, 202 pts)
首先解压得到这些
bash_history发现添加了一条commit
然后就是去github搜
然后就是,你被骗了。
当然没那么简单,首先可以知道instagram是Facebook的一款应用,拿来放图片的。
然后再看刚刚文件夹里面,ssh里有个key,拿去直接base解码在最后就可以发现他的邮箱
并且在git里输入ssh -i key git@github.com还能解析出他github用户名
嗯!查有此人。
但是他没啥记录,然后就用github的api
https://api.github.com/repos/poggersdog12/ascascasc/events?page=1
(?为什么看到了limu大佬
然后可以查到他的repo
https://api.github.com/repos/poggersdog12/ascascasc/commits/6af41dbfa9f69ba1a261b09bb2d3716f85721349
只说了,反正没用,也是只能查到名字vividcoala@localhost.com
反正最后都要跑到instagram去
在instagram搜vividcoala(不要走错了
https://www.instagram.com/
点他头像,就可以看到他机票的一个图。
(但是那张图貌似只能保存24小时,而且并不能下载,要去下载插件才能下载下来)
放大那个条码,扫一扫https://online-barcode-reader.inliteresearch.com/
记得勾选第六个 Driver License, ID cards
所以他的名字(flag)就是
DIVOV NIKOLAI