当前位置: 首页 > news >正文

全程Kali linux---CTFshow misc入门(38-50)

第三十八题:

ctfshow{48b722b570c603ef58cc0b83bbf7680d}

第三十九题:

37换成1,36换成0,就得到长度为287的二进制字符串,因为不能被8整除所以,考虑每7位转换一个字符,得到flag。

ctfshow{52812ff995fb7be268d963a9ebca0459}

第四十题:

#提取出特定部分并转换为对应的 ASCII 字符,最后将这些字符拼接成一个字符串

flag=""
for i in range(28,69): #flag内容从28位开始
    f = open('apngframe'+str(i)+'.txt')
    s = f.read()
    flag += chr(int(s.split("/")[0][6:]))
print(flag)

ctfshow{95ca0297dff0f6b1bdaca394a6fcb95b}

第四十一题:

搜索f001,查看他们摆成的样子。

ctfshow{fcbd427caf4a52f1147ab44346cd1cdd}

第四十二题:

用010editor打开,发现有48个IDAT块,结合提示flag长度为41,很有可能有关联,经过观察从这里开始,将其转换为字符acsll字符,正好是ctfshow......

ctfshow{078cbd0f9c8d3f2158e70529f8913c65}

第四十三题(须win系统):

使用tweakpng查看,弹出了很多这样的错误窗口,看样子是crc有问题,我们使用png-debugger-master工具来看一下,把所有错误的crc收集起来,转换成字符串,得到flag。

ctfshow{6eb2589ffff5e390fe6b87504dbc0892}

第四十四题(须win系统):

 PNGDebugger打开,把信息导入到txt文件中

D:\1aCTF-Misc\png-debugger-master\Debug> pngdebugger ../misc44.png >1.txt

利用脚本把OK的替换成1,FAILED替换成0,即可得到flag。

import re
import binascii

s = open("1.txt", "r").read()
data_s = re.findall(r'\(1152\).*?CRC ([FAILED,OK!]+)', s,
                    re.DOTALL)  # 匹配(1152)所在的段,直到结尾为FAILED或者OK!结束,在默认情况下.的作用是匹配除了换行符以外的所有字符,这里的re.DOTALL的作用是可以将. 匹配所有换行符
print(data_s)
flag = ""
for i in data_s:
    if i == 'OK!':
        flag += '1'
    else:
        flag += '0'

print(flag)
print(len(flag))
for i in range(43):
    print(chr(int(flag[8*i:8*(i+1)],2)),end="")

ctfshow{cc1af32bf96308fc1263231be783f69e}

第四十五题:

使用在线转换格式的网站对png转换成bmp后,使用binwalk工具可以查看到有隐藏内容,-e对其进行分离即可得到flag。

ctfshow{057a722a5587979c34966c2436283e70}

第四十六题:

扶乩:术士制丁字形木架,其直端顶部悬锥下垂。架放在沙盘上,由两人各以食指分扶横木两端,依法请神,木架的下垂部分即在沙上画成文字,作为神的启示,或与人唱和,或示人吉凶,或与人处方。

根据题的提示,应该是让我们通过identify查看它的偏移量,提取它每次偏移的值当做坐标,再作图

┌──(ln㉿kali)-[~/ctf]
└─$ identify misc46.gif > 1.txt

import re
import matplotlib.pyplot as plt
from PIL import Image

f = open("1.txt", "r")
s = f.read()
#  正则表达式寻找偏移量
data_s = re.findall(r'GIF .*?\+(\d+)\+(\d+)', s, re.DOTALL)
#  将data_s里的坐标从str类型转换成int类型,不然后面的坐标不能识别
data_s = [[int(i) for i in j] for j in data_s]

#  创建一个新的RGB图像,大小为400*70的像素,背景颜色为白色(RGB的值为(255,255,255))
img = Image.new('RGB', (400, 100), (255, 255, 255))
#  创建一个新的RGB图像,大小为1*1的像素,背景颜色为黑色(RGB的值为(0,0,0))
new = Image.new('RGB', (1, 1), (0, 0, 0))

#  循环每次的坐标
for i in data_s:
    #  将new(黑色像素点)粘贴到img(白色像素点)上,相当于填充
    img.paste(new, i)

#  显示img图像
plt.imshow(img)
#  显示窗口以查看图像
plt.show()
 

ctfshow{05906b3be8742a13a93898186bc5802f}

第四十七题:

apng的文件结构是每一个IDAT块前面都会有一个fcTL块,它其中就包含水平垂直偏移量。

# 第一阶段:读取偏移
with open(r'.\misc47.png', 'rb') as f:
    bin_data = f.read()

point_list = []
for i in range(0, len(bin_data)):
    #print(hex(bin_data[i]))
    # union CTYPE type 中偏移固定位置在66 63 54 4C 后的 16 17 18 19 20 21 22 23 位
    # 先找到66 63 54 4C ,再根据固定的偏移找到uint32 x_offset 16 17 18 19 和uint32 y_offset 20 21 22 23
    if i+3<=len(bin_data) and hex(bin_data[i])=='0x66' and hex(bin_data[i+1])=='0x63' and hex(bin_data[i+2])=='0x54' and hex(bin_data[i+3])=='0x4c':
        # 两字节转为十进制,赌他不会用到三字节
        # 高位字节存在前,低位字节存在后,小端字节序
        l = int((bin_data[i+18] << 8) | bin_data[i+19])
        r = int((bin_data[i+22] << 8) | bin_data[i+23])
        point_list.append((l,r))

# 第二阶段:通过偏移画图
from PIL import Image
import matplotlib.pyplot as plt

img = Image.new('RGB',(400,70),(255,255,255))
for i in point_list:
    new = Image.new('RGB',(1,1),(0,0,0))
    img.paste(new,i)
plt.imshow(img)
plt.show()

ctfshow{6d51f85b45a0061754a2776a32cf26c4} 

第五十题:

使用StegSolve工具,在终端使用命令调用 java -jar StegSolve-1.5-alpha1.jar

ctfshow{84470883ee1eec2e886436461bf79111}


http://www.mrgr.cn/news/90001.html

相关文章:

  • 大数据学习之SparkSql
  • ZoomIt:提高演示效率的画板工具
  • leetcode_深度搜索和广度搜索 100. 相同的树
  • 【设计模式】【行为型模式】模板方法模式(Template Method)
  • (四)C++的类与动态内存分配
  • MySQL数据库(七)SQL 优化
  • C# Winform怎么设计串口,客户端和相机控件界面显示
  • Qt修仙之路2-1 仿QQ登入 法宝初成
  • ASP.NET Core JWT Version
  • 如何使用DeepSeek
  • viem库
  • Kotlin 2.1.0 入门教程(十一)for、while、return、break、continue
  • 10vue3实战-----实现登录的基本功能
  • Python截图轻量化工具
  • 激活函数篇 03 —— ReLU、LeakyReLU、RandomizedLeakkyReLU、PReLU、ELU
  • BiGRU双向门控循环单元多变量多步预测,光伏功率预测(Matlab完整源码和数据)
  • 2025.2.9机器学习笔记:PINN文献阅读
  • 机器学习基本概念(附代码)
  • windows通过网络向Ubuntu发送文件/目录
  • python循环