this is flag
题目描述中的flag
根据题目描述来看,菜猫说“图下面什么都没有”,之前在论剑场做过一道题,就是PDF图片下面隐藏flag,将图片移开即可。
下载文件打开后发现图片并不能移动,尝试其他方法无果后查看了wp,的确是图片下隐藏flag,将PDF转换成word文档后移开图片即可。我利用了一个PDF与word的在线转换(https://app.xunjiepdf.com/pdf2word/)
去研究一下之前那题这种方法是否可行,可行。
gif
压缩包解压后有两个包,一个包打开后是黑色图片和白色图片,联想到二进制
二进制:白色图片代表0,黑色图片代表1
利用脚本将黑白图片转换成0和1
import colorsys
from PIL import Image, ImageFont
def get_dominant_color(image):
image = image.convert('RGBA')
image.thumbnail((200, 200))
max_score = 0
dominant_color = 0
for count, (r, g, b, a) in image.getcolors(image.size[0] * image.size[1]):
if a == 0:
continue
saturation = colorsys.rgb_to_hsv(r / 255.0, g / 255.0, b / 255.0)[1]
y = min(abs(r * 2104 + g * 4130 + b * 802 + 4096 + 131072) >> 13, 235)
y = (y - 16.0) / (235 - 16)
if y > 0.9:
continue
# Calculate the score, preferring highly saturated colors. # Add 0.1 to the saturation so we don't completely ignore grayscale
# colors by multiplying the count by zero, but still give them a low
# weight.
score = (saturation + 0.1) * count
if score > max_score:
max_score = score
dominant_color = (r, g, b)
return dominant_color
f = ''
for i in range(104):
image_file = str(i) + '.jpg'
flag=get_dominant_color(Image.open(image_file))
if(flag == 0 ):
f = f + '0'
else:
f = f + '1'
print(f)
注意:编译器中需要安装pil或者pillow
利用二进制转换(http://www.txttool.com/wenben_binarystr.asp)得到flag
如来十三掌
原文
夜哆悉諳多苦奢陀奢諦冥神哆盧穆皤三侄三即諸諳即冥迦冥隸數顛耶迦奢若吉怯陀諳怖奢智侄諸若奢數菩奢集遠俱老竟寫明奢若梵等盧皤豆蒙密離怯婆皤礙他哆提哆多缽以南哆心曰姪罰蒙呐神。舍切真怯勝呐得俱沙罰娑是怯遠得呐數罰輸哆遠薩得槃漫夢盧皤亦醯呐娑皤瑟輸諳尼摩罰薩冥大倒參夢侄阿心罰等奢大度地冥殿皤沙蘇輸奢恐豆侄得罰提哆伽諳沙楞缽三死怯摩大蘇者數一遮
让我想到了之前一道密码学的题目,打开网站:与佛论禅http://www.keyfc.net/bbs/tools/tudoucode.aspx
解码时出现太深奥了参悟不出的话语,后来随便看了看,发现
尝试了一下,解得
直接进行base64解码没有能够解出,查看wp发现是rot-13解码(与十三掌相呼应),再进行base64解码,得到flag
give you flag
下载后发现是一个gif,查看后发现一个静态二维码
二维码的三个角缺定位符,网上下载后剪裁再利用ps拼接上去,拼了三次才识别出二维码(注意不要把原有的图案进行任何的遮挡),本来想搜索类似自动合成的快捷方法,无果。
第一张识别不了,第二张可以识别