CTFshow萌新赛-抱我

admin 2022年1月5日23:03:50CTF专场评论9 views594字阅读1分58秒阅读模式

>

>

CTFshow萌新赛-抱我

condor2048

题目附件 flag.py

cstring = 'abcdefghijklmnopqrstuvwxyz{}_0123456789'
key = 'flag{********}'
length = 300

def encode():
    res = ''
    for i in range(1, length):
        c = random.randint(0, 36)
        res += cstring[c]
        for n in range(10):
            c = random.randint(0, len(key) - 1)
            res += key[c]
    return res

分析加密代码可知:
输出串长(299) * (10 + 1)
res[i]为混淆码,(i % 11==0)
res[i]为flag内字符,(i % 11 != 0)

思路:
先根据下标筛掉混淆码
res内剩余的字符串可认为是完全无序的flag,所以直接上集合统计字符集
运行程序获得结果:gla3f{6}d

脑补模式,启动!
flag{36d}

代码如下

src = 'qdfl33(省略......)g{6lgf3f'
flag_random = ''
for i in range(len(src)):
    if i % 11 != 0:
        flag_random += src[i]

st = set()

for i in range(len(flag_random)):
    st.add(flag_random[i])

for i in st:
    print(i, end='')

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月5日23:03:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  CTFshow萌新赛-抱我 http://cn-sec.com/archives/719842.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: