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

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

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

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

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. XMake学习笔记(1):Windows(MSYS2)下MinGW-w64环境搭建和XMake安装

    以前写的C++基本都是C with STL,大多是面向过程的算法题,或者比较小的项目,然后经常报各种编译错误(对编译原理不熟),经常把人搞到崩溃,搞不懂构建.链接之类的东西. 现在开始记录一下XMak ...

  2. Mastering Regular Expressions(精通正则表达式) 阅读笔记:第一章,概念

    Real Scenario(现实场景) Here's the scenario: you're given the job of checking the pages on a web server ...

  3. \n 和 std::endl 的区别

    std::cout << std::endl; 等价于 std::cout << '\n' << std::flush; 除了写入换行符,std::endl 还会刷 ...

  4. Feign踩坑源码分析--@FeignClient注入容器

    一. @EnableFeignClients 1.1.类介绍 从上面注释可以看出是扫描声明了@FeignClient接口的类,还引入了 FeignClientsRegistrar类,从字面意思可以看出 ...

  5. 微信小程序客服、支付、定位、下拉加载功能

    一.客服功能 1.只要你微信小程序,后台添加了客服,引用以下button,就可以进入聊天(在小程序官网如何添加客服用户,请自行百度,谢谢) 2.通过按钮方式 <button open-type= ...

  6. 2022-09-11:arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个“块”, 并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。 我们最多能将数组分成

    2022-09-11:arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个"块", 并将这些块分别进行排序.之后再连接起来,使得连接的结果和按升序排序后的原数组相同. ...

  7. 2021-05-18:Nim博弈。给定一个正数数组arr,先手和后手每次可以选择在一个位置拿走若干值, 值要大于0,但是要小于该处的剩余。谁最先拿空arr,谁赢。根据arr,返回谁赢 。

    2021-05-18:Nim博弈.给定一个正数数组arr,先手和后手每次可以选择在一个位置拿走若干值, 值要大于0,但是要小于该处的剩余.谁最先拿空arr,谁赢.根据arr,返回谁赢 . 福大大 答案 ...

  8. 2021-11-18:给定一个长度len,表示一共有几位。所有字符都是小写(a~z),可以生成长度为1,长度为2,长度为3...长度为len的所有字符串。如果把所有字符串根据字典序排序,每个字符串都有

    2021-11-18:给定一个长度len,表示一共有几位.所有字符都是小写(a~z),可以生成长度为1,长度为2,长度为3-长度为len的所有字符串.如果把所有字符串根据字典序排序,每个字符串都有所在 ...

  9. 解决:django.db.utils.OperationalError: no such table: auth_user

    解决:django.db.utils.OperationalError: no such table: auth_user 我们在创建Django项目的时候已经创建这个表了,表一般都保存在轻量级数据库 ...

  10. C语言访问数据对象在内存中真实位模式的一个方法

    在判定机器采用大端还是小端存储时,可以按字节输出某数据对象的机器表示的位模式.机器表示的位模式即某数据对象在内存中的二进制串.下面是一个访问数据对象位模式的方法: //传入一个数据对象,从低地址到高地 ...