深思杯复现

wp

Posted by mr_king on October 20, 2020

1.签到

kali strings

2.上下左右

画图

from PIL import Image
im = Image.new('RGB',(1000,1000),'black')
 #把flag中的字母读出来
file = open('flag.txt')
line = file.readline()
a = [300,300] #起始位置
#把flag[0]当做左右移动 flag[1]当做上下移动
for i in line:
    if i == 'D':
        a[1] = a[1]+1
    if i == 'U':
        a[1] = a[1]-1
    if i == 'R':
        a[0] = a[0]+1
    if i == 'L':
        a[0] = a[0]-1
    im.putpixel(a ,(255,255,255)) ## putpixel是通过坐标点来进行画图
##刚开始是按照惯例 让i == 'u' +1 画出来是个倒立的图形 所以只能让 ‘D'+1
im.show()

3.压缩包的秘密

打开一看 第一行 是 4B 50 04 03 zip压缩包的开头不应该是(50 4B 03 04) 有猫腻 而且里边的lfgat.xt 经过两两互换之后成了 flag.txt,而且在最底下是base64 去解码也没有成功 猜想是不是所有的都是两两互换 就尝 试了一下把最底下的base64互换一下 看能否解码成功 如果能就代表猜想正确 互换之后的base64:(dGhlcmUtaXMtaGFsZi1wd2Qtc2hlbnNp) 解码为:there-is-half-pwd-shensi说明猜想成功 下边就把全部的两两互换 在比赛的时候 (手撕 生换)(…)可以写脚本跑出来… 打开发现需要密码 但是我们已经知道一半密码。。用掩码攻击的到另一半密码:sdnisc 输入密码拿flag

Bpe92R.md.png

BpZtjx.md.png