zoukankan      html  css  js  c++  java
  • BUUCTF 派大星的烦恼

    这道题做的累死了,题目关键在于思路,这里将做题的完整思路记下来。
    题目给了一张bmp,用010打开
    在这里插入图片描述
    可以看出题目关键就在于这一段D和“,保存出来

    "DD"DD""""D"DD""""""DD"""DD"DD""D""DDD""D"D"DD""""""DD""D""""DD"D"D"DD""""D"DD""D"""DD"""""DDD""""D"DD"""D"""DD"""D""DD"D"D"DD"""DD""DD"D"D""DD""DD"DD"""D"""DD""DD"DD""D"D""DD"D"D"DD"""D"""DD"""D"DD""DD"""DD"D"D""DD"""D"DD""DD""DD"""""DDD""DD""DD"""D""DD""
    
    看到这个我第一个想法是通过D来画出flag,但看到题目描述 

    在这里插入图片描述


    32位字符串,通过画的方式太长了,在看描述中代表两种伤疤,猜到是二进制,
    正好长度为32*8,于是转化为二进制

    01101100 00101100 00001100 01101100 10011100 10101100 00001100 10000110 10101100 00101100 10001100 00011100 00101100 01000110 00100110 10101100 01100110 10100110 01101100 01000110 01101100 10100110 10101100 01000110 00101100 11000110 10100110 00101100 11001100 00011100 11001100 01001100

    但这里有问题,它并不能直接转换为ascii,可以看出第三位 00001100 就已经不能转换为可显示字符,这时又想到可能是16*16的正方形,猜想可能是二维码,用python画一下

     

    画出来的图形
    在这里插入图片描述
    也不对,之后一度陷入僵局,后来突然灵光一闪(想法:图片描述为派大星的伤疤,但图片粉红一片什么也看不到,所以图片也有可能是倒的)想到这,我将二进制从后向前看了一遍,发现如果八位二进制倒过来,转换为二进制后皆为数字和小写字母,于是将其从后到头颠倒,转换后提交

    错误

    然后检查是否有字母或数字错误,提交

    错误

    再从头将每八位倒转但整体位置不变,提交

    正确

    这道题硬是将我百分之八十多的正确率降到了百分之七十多,不开心 :(

  • 相关阅读:
    oracle中scott/tiger、sys、SYSDBA、system都是什么用
    选择ORACLE数据库字符集
    如何给oracle账户解锁
    nodejs_100个实例(3)_文件读取
    nodejs+express+mongodb简单实现注册登录
    ECharts之类型map(省级,地级市)附(世界地图、中国、省份、地级市地图Json文件)
    nodejs_100个实例(2)
    nodejs_100个实例(1)
    nodejs学习过程2之相关网站2
    nodejs学习过程2之相关网站
  • 原文地址:https://www.cnblogs.com/harmonica11/p/11365771.html
Copyright © 2011-2022 走看看