其他分享
首页 > 其他分享> > WeChall CTF Writeup(九)

WeChall CTF Writeup(九)

作者:互联网

文章目录

以下题目标题组成:
[Score] [Title] [Author]

0x13 3 Stegano Woman by Z

在这里插入图片描述
题目意思:
Z 的另一个挑战。
您可以在此处下载。
下载下来的图片:
在这里插入图片描述
这道题在图片没有找到什么有用信息,但是在zip里找到这么一段由09 20两种表达的一段字符
在这里插入图片描述
仔细思考一下两种不同的可以考虑什么编码
09 tab
20 space

尝试一下摩斯密码
在这里插入图片描述
可是怎么分割呢?

想象一下09是0,20是1

还记得之前有道题提供的工具么
在这里插入图片描述
正好可以format成8位为一组

解出结果
在这里插入图片描述
The solution is “dangerous life”.

0x14 3 Enlightment by anto

在这里插入图片描述
看到光了么?
在这里插入图片描述
既然是看到光,那就是三个颜色叠加
代码:

R = '00000000011000000110000000000000000000000100000000010000000000000111000000100100001000000110100100010000000000000010100101100101011001000010000000000000000000000101010000000000011000100010000100101100011000000101000000100000001010010000001000000000000000000000100100000010011101000010000101000000011000010100001000010100011000010100011000100000001000000000010000000010000101110000010101101000001010000010000001100100000000010000000001000010001011100000000001110100000000100010000000010100011000000100000100100000000001100010010001011000011101000010000000100011011101000100000100100111010001000000110000000000010001100010001100100000011101000100100001100001010100000100010100110010000010010000101000000000001000010000000000010000001100010010000100110000001100000001000000010001001000000000000000100001000000000010000000110001000100000000000000000000001000000011000000000001000100000001000100000000000100000011000100000000000000010011000000000000001000000000110100001000000100000001000000100000001000000011000000000001000000000000000100100000000100010010000000010000001000010001000100000001000100000011000000010001001100000000000000010001000000000000000000010000000000000000000100100001000000000011000000110001000000000011000000001000000000000000000000000000000100010011000000100000000100010000000000110000000100000010000100110000000100000010000000110000001100000001000100100000001000000001000000010000001000000000000000000000000100000010000000010000001100000001000100000000001000000001000000010000000010000000100000100000001100000001000000010000000000000000000000010000001100000000000000110001001000010001000100000000000100000000000000000000001100000001000100110001001100000000000100110000000100000011000000000000000100000001000100110000000100000011000000000000000100000000000100000000'
G = '01000001011010000010000000000000000000000000000101100100000000000100000000100100010001000000010000100010000000000011100101000110011000000000000000100101010011000010000000000000001100110100100101100000001001010000000001000000001010000010011001100110001000000110100001000100010000000100010100110010001000000010000000110000001010010110000000000101000000010000100000001000010101110010000101000100010011000010000001000000001001100000000001100000000011010000000000010000011011100010000001100000001000000100010000000000011011000100010100010000001100000000000000110000000100000110000101100000011001010000110000000000010001010100010100100000000001000110100000000101011100100110010000000000000011010000000000110000000000000001000000110000000000000011000000010000000000000001000000010000000000010001000000110000000100000001000000000000000100000001000100110000000100000011000000110000001000010010000000010000000100010000000100110000000100010010000000010000001100000000100000000010001000000011000000010001000100000001000000100000001100000001000000010000001100000001000000000000000100000001000100110000001000010011000000100000000100000011000000100000001100000011000000010000000100000011000100010001001100000010000000000001000000000000000000000100000000100011000000100001001100010010000000110000001000010001000100000000000000000000000000100001001000000001000000100000000000000000000100010000000100000010000100100000001000000011000000000000001100000000000000010000001000010011000100110000000000000011000100010000000011000000100000010000000100000000000100010000001100010001000100000001001000000011000000100001001000000011000000000000000100000010000000110000001000000010000100100000000000000001000000100000001100000000000000110000001100010001000100110000001000000001000000110000000000000000100000001000'
B = '01000001010000000110000100100001001000000000100001000100001000000101001101100001011000010100000101100011001000000110000001001101000100010000000001100011001000110011010000100000010100110010111001001001011000010110010000101000011010000110110000100001000000000010000000101010000100000010010100010000000001000001001101000100000000000110110001000110000000010000010100001000000000010110010101100100011000000010000000110000010011110010000001000101010010100010000001000100000010110010000000100000000010000010000000000000011001000110000001101000001000000000000001000000001000000110000000000101000001010010100000100000001001110000111000100000001100000000100000000100000100100000010000001010000001000000101000010000000100010010000000000000000100000000000000000000001100000010000000100000000100000010000000100001001100000010000000110001001100000010000000000001000100000010000000010001000000000001000100100000001100010000000000000000001100000001000000100000000100000000100100001000000000000000000000100000000000010001000000110000000100010010000100110000001000000001000000100001001000000011000000110000001000010011000000000000000000000010000000110000000000010011000000100000001100000010000000110000000000000000000000110001001100000001000100000101000010000000000000010001001000010000000100010000001000000010000000110000001100000001000000010000001000000011000000110001001000000011000000000000001000010010000000100000000100010001000100110000000000000001000000100000001000010010000100010000001100000011000000100000000001010000001000100000000000000011000000100000000100010010000000110000000000000011000000010000000100010010000000110000001100000011000000100000001000000000000100010001001100000010000000010000001100000000000000000000000000000010000000000001001000000000000000000000001000000000110000001010'
for i in range(len(R)):
    if int(R[i]) | int(G[i]) | int(B[i]):
        print(1, end="")
    else:
        print(0, end="")

在这里插入图片描述
再一次放到那个软件中
在这里插入图片描述
在这里插入图片描述

Aha! It seems you got something interesting!
Well to go to the next stage, go there:
01001100011010010110011101101000
00110111010111110100110001100101
01110110011001010110110000110010
00101110011100000110100001110000

again!
在这里插入图片描述
快看到答案了
在这里插入图片描述
这就很有意思了
在这里插入图片描述
是这个颜色对吧
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Triple-X-OR, right?
Great! Here is what you should be looking for…
“Gimme_Da_Light”
enter this as password!

0x15 3 Simply Red by anto

在这里插入图片描述
题目意思:
找出隐藏在我身上的那句话,否则我将不得不摧毁你。
“在为自由服务的过程中,任何牺牲都不算大。”

既然从根本开始做,那就假设我不知道这是谁,既然是饮用那就是他说出的话,搜索一下
在这里插入图片描述
我们知道原来它叫 Optimus Prime
第一眼竟然认成了 Option Prime

分析一定与素数有关,并且是红色为底色,之前有一道题是提图片的HSB,既然是红色,那就分析像素的R为素数尝试一下

在搜索代码的时候发现已经有大佬写出了这个代码
地址:https://www.tuziang.com/index.php/combat/1985.html

from PIL import Image
from math import sqrt

def is_prime(n):
    if n==1:
        return False
    for i in range(2, int(sqrt(n) + 1)):
        if n % i == 0:
            return False
    return True
img = Image.open("op.png")
width = img.size[0]
height = img.size[1]

for x in range(width):
    for y in range(height):
        r,g,b = img.getpixel((x,y))
        if is_prime(r):
            continue
        else:
            img.putpixel((x,y),(255,255,255))

img.show()

在这里插入图片描述
在这里插入图片描述
参考链接

标签:www,20,img,int,Writeup,range,CTF,WeChall,com
来源: https://blog.csdn.net/weixin_43211186/article/details/123156677