我的二维码,时尚时尚最时尚
formost分离得到两张图,但是图片大小不一,需要P成大小一样的然后两张图XOR
α层
考点重复了,同样是两张图XOR
python2-人工智障
python2下的input函数有风险
学习网站https://www.jianshu.com/p/668bfbdb6813
没想清楚这句话到底是在说什么,以为是一个很重要的点
payload:import(‘os’).system(‘cat /flag’)
sign_in
十六进制转字符串
⎛⎝WDNMD⎠⎞
IDA打开寻找字符串,前一段在data行里 后一段是竖着的十六进制数
hacked by PTT0
下载来一个流量包,wireshark进行分析。
发现可疑的压缩包,复制原始数据,粘贴到winhex上再导出文件获得一个zip压缩包。里面有很多xml文件,其中有一个xml文件打不开,拖到winhex里,原来是png文件。修改结尾依旧打不开随便弄张png对比一下发现多了个20,把它去掉得到flag。
卡在了各种地方
Broken RedLine
首先CRC爆破高和宽,这里给出py脚本
import zlib
import struct
filename = 'Find_right_width_and_hieht_by_CRC32.png'
with open(filename, 'rb') as f:
all_b = f.read()
crc32key = int(all_b[29:33].hex(),16)
data = bytearray(all_b[12:29])
n = 4095 #理论上0xffffffff,但考虑到屏幕实际/cpu,0x0fff就差不多了
for w in range(n): #高和宽一起爆破
width = bytearray(struct.pack('>i', w)) #q为8字节,i为4字节,h为2字节
for h in range(n):
height = bytearray(struct.pack('>i', h))
for x in range(4):
data[x+4] = width[x]
data[x+8] = height[x]
crc32result = zlib.crc32(data)
if crc32result == crc32key:
print("宽为:",end="")
print(width)
print("高为:",end="")
print(height)
exit(0)
得到一张这样的图片,这里需要用到PIL脚本,太菜了不会写,引用Craner大佬的脚本
from PIL import Image
def swap(pixel,data):
return pixel[data:]+pixel[:data]
im=Image.open('Find_right_width_and_hieht_by_CRC32.png').convert('RGB')
wide,high=im.size
pixel=[]
for x in range(0,wide):
t=[]
for y in range(0,high):
t.append(im.getpixel((x,y)))
pixel.append(t)
location=[]
for i in pixel:
for j in range(0,len(i)):
if i[j]==(255,0,0):
location.append(j)
break
pixel_swap=[]
for i in range(0,len(location)):
pixel_swap.append(swap(pixel[i],location[i]))
im1=Image.new('RGB',(wide,high))
for x in range(0,wide):
for y in range(0,high):
im1.putpixel((x,y),pixel_swap[x][y])
im1.save('flag.png')
PIL模块有必要学习一下
guess
猜数字游戏,输入1-10000。通过计算,2的20次方×100大于10000 在常规输入中是不可能有解的
有一个特例,nan也是数字类型。
make_misc_great_again
一直没想清楚神秘代码是什么,卡了很久,等知道的时候为时已晚。知识盲区,没见过这种取证题。
下载得到一个raw文件和一个压缩包文件
过程之后补上