首先拿到一个杂项的附件 第一步要判断 是什么类型的杂项题目 附件是什么内容 是图片? 是压缩包? 是磁盘文件? 还是其他未知的东西

第一步的判断能够直接将解题思路精准定位到正确的区域下 加快解题速度

本文只是对思路的一个拓展 不包含实际操作

台上一分钟 台下十年功 拓展思路去不断的刷题才是提升水平的捷径

1.判断文件类型

(1)kali命令 (适用于文件没有后缀名 不知道文件类型的情况下)

 file 文件名

(2)winhex和010

通过查看文件头 判断文件类型

2.文件头部残缺

需要修复 修复操作包括但不限于

文件头补充完整 文件分离(推荐binwalk) 文件合并

图片类

1.细微的颜色差别

肉眼看不出 需要用工具去分析

2.GIF图多帧隐藏

(注意firework标识 这也是工具)

(1)颜色通道隐藏

(2)不同帧图信息隐藏

(3)不同帧对比隐写

在线可用网址
https://tu.sioe.cn/gj/fenjie/

3.Exif信息隐藏

(也可以右击图片 属性中详细信息查找有无隐藏信息)

可以用EXIF元数据编辑器打开

4.图片修复

(1)图片头修复

(2)图片尾修复

(3)CRC校验修复

(4)长宽高修复

5.最低有效位LSB隐写

用嵌入的秘密信息取代载体图像的最低比特位 原来的7个高位屏幕与替代秘密信息的最低位平面组合成含隐藏信息的新图形

(1)像素三原色(RGB)

(2)通过修改像素中的最低位的1bit来达到隐藏的效果(很喜欢考 经常出现!!!)

(3)工具:stegsolve zsteg(linux) wbstego4(pdf也可以做 针对bmp较多) python脚本

6.图片加密

(1)Stegdetect

(2)outguess(linux)

(3)Jphide

(4)F5(windows)

Stegsolve

当两张jpg图片外观 大小 像素都基本相同时 可以将两个文件像素RGB值进行XOR(异或) ADD(加) SUB(减)等操作 看能否得到有用的信息

TweakPNG

允许查看和修改一些PNG图像文件的元信息存储

使用场景:文件头正常却无法打开文件,利用TweakPNG修改CRC

Bftools

用于解密图片信息

使用场景:在windows的cmd下 对加密过的图片文件进行解密

格式

Bftools.exe decode braincopter 要解密的图片名称 -output 输出文件名

Bftools.exe run 上一步输出的文件

SilentEye

图片隐写工具

7.图片宽高篡改

十六进制数值的图片宽高被篡改 需要修改

图片宽高脚本修改:修改文件名 修改crc值

8.二维码处理

QR_Research

如果识别失败 需要用PS或者画图工具将另外几个角的定位符移动到相应位置 补全二维码

如果二维码定位点中间是白色的 可能被反色了 使用画图工具把颜色反色回来再扫描

9.snow隐写

cmd下运行 需要密文和需要解密数据

文件类

伪加密

如果压缩文件是加密的,但文件头正常但解压缩错误,首先尝试文件是否为伪加密

(1)zip文件

zip文件是否加密是通过标识符来显示的,在每个文件的文件目录字段有一位专门设置了文件是否加密,将其设置为00表示该文件未加密

如果成功解压表示文件为伪加密 解压出错说明文件为真加密

如何寻找

1.找到第二个全局方式位标记的50 4B  也就是从头往后输第二个50 4B
2.从50开始 50算第一位
3.往后数的第九位和第十位
4.如果是偶数 则不是伪加密 如果是奇数 则是伪加密

(2)rar文件

RAR文件由于有头部校验,使用伪加密是打开文件会出现报错,使用winhex修改标志位后如果报错消失且正常解压 说明是伪加密

如何寻找

使用winhex打开  找到第24个字节(7列往下数第2行) 该字节尾数为4表示加密 0表示无加密 将尾数改为0即可破解伪加密

暴力破解

ARCHPR

攻击类型分为 暴力 字典 明文 掩码等

暴力和字典就不说了 很简单

1.两个文件 明文攻击

2.掩码

攻击类型选择掩码 可以进行复杂的暴力破解

比如知道密码前3位是asd,后3位为数字,则在攻击类型中选择掩码,在掩码处输入asd??? ,暴力范围选项中选择所有的数字,打开要破解的点击。此时???部分会被数字代替

磁盘取证

如果文件类型是VMDK 直接用vmware挂载

AccessData FTK Imager 常用的取证工具

Diskgenius可以用来数据恢复

Veracrypt用来对加密的磁盘挂载

MISC杂项解题思路的更多相关文章

  1. 记一次CTF比赛过程与解题思路-MISC部分

    前言 最近好久没更新博客和公众号了,有朋友问是不是在憋大招,但我不好意思说其实是因为最近一段时间太懒了,一直在当咸鱼- 意识到很久没更新这个问题,我是想写点什么的,但好像一直当咸鱼也没啥可分享的,最近 ...

  2. 实验吧MD5之守株待兔解题思路

    解题链接 http://ctf5.shiyanbar.com/misc/keys/keys.php 解题思路 首先我们多打开几次解题链接,发现系统密钥大约在一秒钟左右变一次,所以联想到时间戳. 解题过 ...

  3. n皇后2种解题思路与代码-Java与C++实现

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了n皇后问题的解题思路,并分别用java和c++实现了过程,最后,对于算法改进 ...

  4. 阿里聚安全攻防挑战赛第三题Android PwnMe解题思路

    阿里聚安全攻防挑战赛第三题Android PwnMe解题思路 大家在聚安全挑战赛正式赛第三题中,遇到android app 远程控制的题目.我们今天带你一探究竟,如何攻破这道题目. 一.题目 购物应用 ...

  5. [LeetCode] 16. 3Sum Closest 解题思路

    Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...

  6. [LeetCode] 234. Palindrome Linked List 解题思路

    Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) time ...

  7. [LeetCode] 76. Minimum Window Substring 解题思路

    Given a string S and a string T, find the minimum window in S which will contain all the characters ...

  8. [LeetCode] 3Sum 解题思路

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  9. [LeetCode] Minimum Size Subarray Sum 解题思路

    Given an array of n positive integers and a positive integer s, find the minimal length of a subarra ...

  10. [LeetCode] Word Break 解题思路

    Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separa ...

随机推荐

  1. 深入理解 slab cache 内存分配全链路实现

    本文源码部分基于内核 5.4 版本讨论 在经过上篇文章 <从内核源码看 slab 内存池的创建初始化流程> 的介绍之后,我们最终得到下面这幅 slab cache 的完整架构图: 本文笔者 ...

  2. Linux运维实战项⽬进阶

    项⽬描述 项⽬需求 近年来为适应业务发展的需求,世界500强XX企业准备进⾏⼤规模的电⼦商务建设, 同时,希望能通过Linux平台,利⽤开源技术,来实现⼤型互联⽹电⼦商务⽹站架构建设和业务⽀撑,现要求 ...

  3. Yolov5 根据自己的需要更改 预测框box和蒙版mask的颜色

    1.首先找到项目中 utils/plots.py 文件,打开该代码 将原来的 Colors类注释掉(或删掉),改成如下Colors类 class Colors: def __init__(self): ...

  4. 2022-02-08:k8s安装centos,yaml如何写? 注意:如果不配置参数,centos容器会处于terminated状态。如何让容器处于running状态?

    2022-02-08:k8s安装centos,yaml如何写? 注意:如果不配置参数,centos容器会处于terminated状态.如何让容器处于running状态? 答案2022-02-08: 加 ...

  5. 2021-10-16:单词拆分 II。给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。

    2021-10-16:单词拆分 II.给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中.返回所有这些可能的句子. ...

  6. defer()排除某些字段

    defer()排除某些字段 不显示nickname,age两列的数据 Student.objects.all().defer('nickname','age')

  7. SQL:DATEDIFF和DATEADD函数

    DATEDIFF和DATEADD函数.DATEDIFF函数计算两个日期之间的小时.天.周.月.年等时间间隔总数.DATEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期.要了解更多的DATE ...

  8. 关于SpringBoot AutoConfiguration

    (1)如何导入的自动配置类 首先我们得从@SpringBootApplication注解入手. @SpringBootApplication public class SpringBootDemoAp ...

  9. centos linux系统安装详解

    打开vmware,版本差异区别不大 选择创建新的虚拟机 选择典型,是默认选项不用改,点击下一步 选择稍后安装操作系统(默认选项不用改),点击下一步 选择linux,并且版本改为centos 64位,点 ...

  10. Tomcat处理http请求之源码分析

    本文将从请求获取与包装处理.请求传递给Container.Container处理请求流程,这3部分来讲述一次http穿梭之旅. 1 请求包装处理 tomcat组件Connector在启动的时候会监听端 ...