• lsb隐写
    • 引用一段百度内容
      • LSB隐写就是修改RGB颜色分量的最低二进制位也就是最低有效位(LSB),而人类的眼睛不会注意到这前后的变化,每个像数可以携带3比特的信息。能够使用lsb隐写的图片格式只能是png或bmp,jpg无法实现lsb隐写

    • 一般这种隐写可以使用stegsovle破解
  • TTL图片隐写
    • TTL是IP V4的一个8位报头,正常情况下我们拿到的数据包时一段无意义的数字,我们可以首先把这些数据转化为二进制,并且要转化为八位的二进制

    • 为什么要转化成8位二进制?因为TTL隐写最多一次就是八位,想想看是不是。

    •   with open('C:/Users/brighten/Desktop/attachment.txt', 'r') as f:    for line in f:        num=int(line)        ss=bin(num)        while len(ss)<10:            ss=ss[:2]+'0'+ss[2:]        print(ss)#把多个数据转化成八位的二进制 
    •  转换成为多个8位二进制数据后,会发现每个数据的后6位都是1,这也就是TTL隐写的秘密了。
    • 一个数据要实现TTL隐写就是把它转换成为一个8位二进制,然后按两位为一组,每组数据后面拼接6个1形成8位数据。比如
    • 4410=001011002
      加密结果:

      00 111111
      10 111111
      11 111111
      00 111111

    • 所以可以先看看破解隐写后是什么数据类型
    • count = 0
      str=””
      with open(‘C:/Users/brighten/Desktop/attachment.txt’, ‘r’) as f:
      for line in f:
      num = int(line)
      ss = bin(num)
      while len(ss) < 10:
      ss = ss[:2] + ‘0’ + ss[2:]
      #print(ss)
      str=str+ss[2:4]
      count += 1
      if count == 4:
      count = 0
      sum=0
      #print(str)
      for i in range(len(str)):
      if str[i]==’1′:
      sum=sum*2+1
      else:
      sum=sum*2
      # print(sum)
      print(chr(sum),end=””)
      str=””

    • 鄙人认为难点是在于要判断ttl破解后的数据包是什么类型,像我这里破解出来的是504b说明是一个zip压缩包,那就可以接下来继续操作,把数据封装成一个zip然后打开即可

    • import binascii
      with open(‘D:/desktop/ctf题目/net.txt’,’r’) as fp:
      a=fp.readlines()
      p=[]
      for x in range(len(a)):
      p.append(int(a[x]))
      s=”
      for i in p:
      if(i==63):
      b=’00’
      elif(i==127):
      b=’01’
      elif(i==191):
      b=’10’
      else:
      b=’11’
      s+=b
      flag=”
      for i in range(0,len(s),8):
      flag+=chr(int(s[i:i+8],2))
      flag=binascii.unhexlify(flag)
      wp = open(‘D:/desktop/ctf题目/ttl_solve.zip’,’wb’)
      wp.write(flag)
      wp.close()

  • 认识到明文攻击
    •   引用自博主 https://blog.csdn.net/qq_52974719/article/details/117084427

    • 适合明文攻击的情况,得到了泄露的压缩包,还有一个加密的压缩包,且两个压缩包的CRC32相同

    • 这种情况直接用ARPR明文破解即可
  • outguess解码格式(图片)
    •   outguess -k 密码 -r 图片 要输出的文件格式
  • 常见的文件分离指令
    • binwalk -e 文件(绝对路径,取决于自己的终端打开位置)
    • foremost -T 文件(绝对路径,取决于自己的终端打开位置)