我是靠谱客的博主 认真狗,最近开发中收集的这篇文章主要介绍GFCTF2021 部分WP,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

只写我做了的

SignIn

GFCTF2021

回复GFCTF,得到base64解码即可

GFCTF{W3lc0me_t0_th3_12th_GFCTF}

Misc

重生之我在A国当间谍

secret是PDU编码之后的,一句一句的解就行http://www.sendsms.cn/pdu/
当然这里不是很多,如果是很多的话可以调用控制台来批量解密

倒数第二句:真让人无语。我把密码告诉你,记住,这个密码不要告诉任何人。WzFlNHJsMFwvZQ==

得到密码 [1e4rl0/e

解压出来是一张被撕毁的二维码,虽然BUU也有过但是

我当时也是手撸的啊

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M7B93Qwe-1637498437806)(GFCTF.assets/image-20211121155028788.png)]

GFCTF{ctf_Ha0_NaN_aaAaaaAaaaaAaaaaaAaa}

pikapikapika

这题的密码居然是斜着来

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LiB9b9a7-1637498437808)(GFCTF.assets/image-20211121155215789.png)]

I_want_a_p1ka!

就可以把藏在文件尾的zip解压出来,然后wav文件一共2种频率,分别是15000和30000

15000—>0 30000—>1

只保留wav的data区域,然后写个脚本

f = open('flag.wav','rb').read()
flag = ''
for i in range(len(f)//2):
    if(f[i*2:i*2+2] == b'x98:'):
        flag += '0'
    else:
        flag += '1'
s = ''
rflag = ''
for i in flag:
    s+=i
    if len(s)==8:
        rflag += chr(int(s,2))
        s=''
print(rflag)

得到base64,用cyberchef转一下发现是PNG,导出后明显发现高度被修改了,于是改高点即可看到flag

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rvmqkvqR-1637498437810)(GFCTF.assets/image-20211121155510142.png)]

GFCTF{fe1a-17f7-a7f6-1f8f534e-ef3974-c049c5}

双击开始冒险

被自己蠢到了忘了乘以2导致卡了许久

第一层爆破4位数密码 1211

第二层里面有个QQ号,在签名那里一串base64解码即可 You love me, I love you

第三层,先提取 tshark -r usb.pcapng -T fields -e usb.capdata | sed ‘/^s*$/d’ > usbdata.txt

然后加上冒号,因为都是百度的脚本

f=open('usbdata.txt','r')
fi=open('1.txt','w')
while 1:
    a=f.readline().strip()
    if a:
        if len(a)==16:
            out=''
            for i in range(0,len(a),2):
                if i+2 != len(a):
                    out+=a[i]+a[i+1]+":"
                else:
                    out+=a[i]+a[i+1]
            fi.write(out)
            fi.write('n')
    else:
        break

fi.close()

这里len=16,所以想到提取第0 2 4 6字节,来画图

结果忘了乘以二,一直提取的0 1 2 3…

f = open('1.txt','r').readlines()
f1 = open('usb.txt','w')
for i in range(len(f)):
    f[i] = f[i].split(':')
for i in range(len(f)):
    tmp = ''
    for j in range(4):
        tmp += f[i][j*2]+':'
    print(tmp)

转成坐标 这里出来y坐标要添个负号

nums = []
keys = open('usbdata.txt','r')
result=open('result.txt','w')
posx = 0
posy = 0
for line in keys:
    if len(line) != 13:
         continue
    x = int(line[3:5],16)
    y = int(line[6:8],16)
    if x > 127 :
        x -= 256
    if y >127 :
        y -=256
    posx += x
    posy += y
    btn_flag = int(line[0:2],16)  # 1 for left , 2 for right , 0 for nothing
    if btn_flag == 1:
        result.write(str(posx)+' '+str(-posy)+'n')
keys.close()
result.close()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WQ4f4B8H-1637498437812)(GFCTF.assets/image-20211121160231625.png)]

7724774CTF

解压即可得到flag,在文件尾

GFCTF{this_is_rea1_fllllll11ag}
(这题有二月份套题的感觉了)

Web

Baby_web

御剑扫到个1.php和a.php。。。。a.php是phpinfo一搜就搜到了

虽然这题应该是Apache任意文件读取到源码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FOSizJK9-1637498437812)(GFCTF.assets/image-20211121160511531.png)]

Reverse

wordy

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eHVLfk3k-1637498437814)(GFCTF.assets/image-20211121162413298.png)]

GFCTF{u_are2wordy}

最后

以上就是认真狗为你收集整理的GFCTF2021 部分WP的全部内容,希望文章能够帮你解决GFCTF2021 部分WP所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部