首页 > 其他分享 >misc刷题

misc刷题

时间:2023-05-25 21:11:06浏览次数:49  
标签:ss sum 隐写 misc len str TTL 刷题

  • 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 文件(绝对路径,取决于自己的终端打开位置)
  •  

     

标签:ss,sum,隐写,misc,len,str,TTL,刷题
From: https://www.cnblogs.com/jackypeng0704/p/17419033.html

相关文章

  • 刷题笔记:Luogu P3956 棋盘
    ProblemSolutionDFS/BFS需要注意去重的时候可以重复走(因为有限定条件),只要新的步数比原来的步数小就可以走,其余情况模拟即可细节有点多,比如需要记录一下上一步的棋盘颜色(下一次搜索传递参数),因为牵扯到使用魔法问题,不能直接染,因为改变地图后后边很多操作都会受影响在列举可能性......
  • 23-05-23 刷题
    练习刷题思路722.删除注释-力扣(LeetCode)【Mid】思路:不难,但是细节比较多。要理清楚有点麻烦。【题目不好】classSolution{publicList<String>removeComments(String[]source){List<String>ans=newArrayList<>();booleaninBlock=fals......
  • 算法刷题记录:NC22227 约瑟夫环
    题目链接https://ac.nowcoder.com/acm/problem/22227解题思路模拟环。这道题顺序数就行,顺序是逆时针,逆时针的箭头是往左拐的,变成直线后趋于正半轴所以是+。不过,这道模拟环并没有说从idx号开始,往左/右数几个人,所以不需要考虑+或-。因为不会越界,所以也不用额外%n。AC代码......
  • 23-05-20 刷题
    练习英文描述算法88.MergeSortedArray-LeetCode【easy】classSolution{publicvoidmerge(int[]nums1,intm,int[]nums2,intn){//twopointers,initiallyi,jpointstothelastnumberofthearray(m-1,n-1)//usektorecordth......
  • CTF 在线平台miscwp
    1.图片处理下载附件之后,得到一个gif动图。使用Stegsolve打开。使用gif动图工具,然后一张一张的向后翻, 得到flag{he11ohongke}2.二维码下载附件之后是一个zip压缩包。解压之后得到了一个png的二维码图片。该是有东西藏在图片里面,直接拖到winhex打开。 发现里面有一......
  • 刷题笔记:Luogu P3743
    题目传送门Solution最多能将这些设备一起使用多久,显然答案满足单调性(如果\(x<y\)而不能使用\(x\)时间则一定不能使用\(y\)时间)通俗一点,就是前边的时间不满足则后边一定不满足,也就是局部答案舍弃性,考虑二分时间至于check怎么写呢?和奶牛晒衣服有异曲同工之妙,若设二分出来的时间......
  • re刷题记录
    re刷题记录[SWPUCTF2021新生赛]re1无壳,直接ida打开,main找到关键语句 f5查看伪代码 选中代码中的一些数字并按“R”,可以查看对应的字符strcmp()函数:strcmp函数是stringcompare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,st......
  • 8 Kubernetes Scanner to find Security Vulnerability and Misconfiguration
    https://geekflare.com/kubernetes-security-scanner/YouareusingKubernetes.Great!Howaboutitssecurity?WeallknowthatKuberneteshasbecomeoneofthebestcontainerorchestrationplatformstoday.Morethan80%oforganizationstodayareleveraging......
  • 刷题笔记:Luogu P1083 借教室
    题目传送门让结果最接近\(s\)值,显然我们要二分\(w\),check的写法可以直接暴力模拟,如果check(mid)<s则将r右移(通过读公式可以知道\(w\)越小检验值\(y\)就越大)但是这样会TLE,再读一下柿子:\(y_i=\sum\limits_{j=l_i}^{r_i}[w_j\geW]\times\sum\limits_{j=l_i}^{r_i}[w_j\geW]......
  • 2023-05-17 刷题
    算法题目1:【Mid】47.全排列II思路分析:将原问题转换成子问题,先不考虑重复元素,例如P{1,2,3}={"1"+P{2,3},"2"+P{1,3},"3"+P{1,2}}。之后再考虑重复元素。怎么枚举?枚举每个位置可以填哪些数。【这种枚举方式能保证字典序,除此外,还有一种,枚举每个数可以放到哪个位置上,......