当前位置:   article > 正文

Bugku CTF---where is flag_bugku where is flag

bugku where is flag

前言

Tokeii为什么是misc神?在谈论这个问题之前,我想先说说其他ctfer相较于Tokeii究竟差在了哪里…(编不下去了)
在这里插入图片描述

题目

在这里插入图片描述

hint:每个文件都不一样
  • 1

解题步骤

一一打开各个文件,发现txt文件中都是空的。
在这里插入图片描述
但是hint提示每个文件都不一样,ctrl+A全选一下文件,发现每个txt的列数不一样。
编写Python脚本读取每一个txt文件的列数

#by  :3tefanie丶zhou
#time:2021/12/1
flag_list = []
for i in range(1,11):
    file_name = 'C:\\Users\\82093\Desktop\\file\\'+str(i)+'.txt'
    with open(file_name) as f:
        file_lenth = len(f.read())
        flag_list.append(file_lenth)
print(flag_list)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

run一下脚本,得到各个文件的列数
在这里插入图片描述

98117, 10310, 71171, 23110, 9748, 100481, 10103, 10097, 10797, 49125
  • 1

观察得到数据,98117拆分为98,117
ascii码表对应的字符为,bu
而题目给出的flag格式为bugku{},由此思路逐渐清晰。只需要将上述数字进行合适的切片,再转成对应的字符拼接起来即可得到flag。
编写python脚本去获取flag。

#by  :3tefanie丶zhou
#time:2021/12/1
flag_str = ''
for i in range(1,11):
    file_name = 'C:\\Users\\82093\Desktop\\file\\'+str(i)+'.txt'
    with open(file_name) as f:
        file_lenth = len(f.read())
        flag_str +=str(file_lenth)
flag_list = []
flag_len = len(flag_str)
i = 0
while i<flag_len:
    if flag_str[i]=='1':
        flag_list.append(flag_str[i:i+3])
        i +=3
    else:
        flag_list.append(flag_str[i:i+2])
        i += 2
print(flag_list)
flag = ''
for j in flag_list:
    flag +=chr(int(j))
print(flag)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

run一下写好的脚本,得到flag
在这里插入图片描述

bugku{na0d0ngdaka1}
  • 1

【不是“我觉得”三个字,就可以弥补所有因为好心办坏事带来的后果】

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/443573
推荐阅读
相关标签
  

闽ICP备14008679号