CTF Misc 的笔记

一点点曾经整理的Misc笔记,数量较少。

1. git

  1. 查找所有 commit - 参考链接

    1
    2
    3
    4
    # 查看所有commit,包括已撤回的提交
    git log --reflog
    # 重置commit头
    git reset --hard [commit-Hash]
  2. 查看 git 提交的文件内容 - git 对象库

    1
    2
    3
    4
    5
    6
    7
    8
    # 查看所有提交log(包括已撤回的提交)
    git log --pretty=raw
    # 查看某个Hash值对应的类型
    git cat-file -t [Hash]
    # 查看某个Hash值对应的内容
    git cat-file -p [tree/file-Hash]
    # 查看树的内容
    git ls-tree [-r是否递归][-t输出更完整的信息(包括子树)] [commit/tree-hash]

2. 隐藏文件

  1. Binwalk - 帮助

    1. 查看隐藏的文件

      1
      binwalk -I xxxx
    2. 提取所有隐藏文件

      1
      binwalk -e xxxx

3. 各种神奇的编码

  1. 编码方式

    1. CTF 编码小工具
    2. 培根密码 - 在线工具 - 百度百科
    3. 栅栏密码 - 在线工具 - 百度百科
    4. Ook! - 在线工具
    5. base32 - 在线工具
    6. base64 - 在线工具
    7. base64 <==>图片 - 在线转换
  2. 编码集

    1. Unicode
      1. Unicode 编码格式为"\uXXXX"
        1. 倘若遇上"\uXX",需要将其补 0 至 4 个 Hex 值
      2. 可用 python 直接 Unicode 转 string
    2. base 编码 - Base64,Base32,Base16 的区别
      1. Base64:包含大写字母(A-Z),小写字母(a-z),数字(0-9)以及+/
        1. 当 ASCll 用 Base 加密达不到所对应的位数的时候用=号补齐
        2. Base64隐写
          先看图
          img
          • 注意红色的 0, base64解码时将其丢弃了, 所以这里的值不会影响解码. 故我们可以在这进行隐写。
          • 为什么等号的那部分 0 不能用于隐写? 因为修改那里的二进制值会导致等号数量变化, 解码的第 1 步会受影响. 自然也就破坏了源字符串。
          • 而红色部分的 0 是作为最后一个字符二进制的组成部分, 还原时只用到了最后一个字符二进制的前部分, 后面的部分就不会影响还原。
          • 唯一的影响就是最后一个字符会变化,请自己看看上图
      2. Base32: 包含大写字母(A-Z),数字(2-7)
      3. Base16: 就是 16 进制,范围是数字(0-9),字母(A-F)

4. 图片

  1. 二维码解码 - 在线工具
  2. PNG 文件头"‰PNG"(Hex:89504E47)
  3. Stegsolve 解 LSB隐写
  4. 双图对比(beyond compare命令对比)
  5. steghide 提取文件

5. 压缩包

  1. ZIP 文件以“PK”开头(Hex:504B0304)
  2. ZIP 伪加密 - CSDN
  3. 明文攻击 => 加密压缩包
    • 在已经得到压缩包的部分文件的情况下使用,
    • 需要将这部分文件使用被加密压缩包 相同的压缩算法 进行压缩
  4. CRC32碰撞
    • 在压缩包文件大小较小的情况下可以优先考虑

6. 音频

  1. 频谱图隐写
  2. 波形谱隐写(转二进制)

7. 内存取证

  1. volatility

8. 游戏存档修改

  1. 在线存档修改
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2020-2024 Kiprey
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~