MISC常见题型整理

题目打包在这里
提取码:fhkb

流量包分析

流量包_1

在这里插入图片描述

是一个日志文件,用 notepad++打开查看,更清晰明了一些,利用插件解码
在这里插入图片描述

大致看了一下是二分法的sql盲注 ,每一条语句返回的状态码有200和404
我们往后继续看,看到有 flag_is_here 的记录,%3E通过url解码后是’>’
在这里插入图片描述

如何判断flag的第一个字符呢?
在sql盲注里测试的字符的 最后一条状态码为 200 的语句 的ASCII值再加1就是猜解正确的ASCII值,转换成字符就是我们需要的答案的其中一个字符。

举个例子
在这里插入图片描述

flag_is_here ORDER BY flag LIMIT 0,1),1,1))>101 AND ‘RCKM’='RCKM&Submit=Submit HTTP/1.1" 200 1765

我们可以看到当 LIMIT 0,1),1,1))>101 时,是第一个字符的最后一个 状态码为 200 的语句,这时的ASCII码是 101 ,那么 101+1=102 ,ASCII码为 102 对应的是 f ,因此flag的第一个字符就为 f 。

知道了原理,我们就可以去找到flag的字符串了,如果写不脚本的话就得要手工一个一个扣了

贴一下脚本(python2.7)

import re
import urllib
 
f = open('D:/access.log','r')  # 下载的access.log文件的绝对路径,记得写全英文
lines = f.readlines()
datas = []
for line in lines:
    t = urllib.unquote(line)     # 就是将文本进行 urldecode 解码
    if '1765' in t and 'flag' in t:  # 过滤出与flag相关,正确的猜解(只要200的)
        datas.append(t)
 
flag_ascii = {}  
for data in datas:
    matchObj = re.search( r'LIMIT 0,1),(.*?),1))>(.*?) AND', data)   # 在date 中搜索符合正则表达的字符串并 将匹配的字符串存入变量 matchObj 中
    if matchObj:
        key = int(matchObj.group(1))  # 取变量matchObj 中 的第一个括号里的内容 (也就是上条语句中的 (.*?)中的内容)并转为10进制
        value = int(matchObj.group(2))+1  # 取变量matchObj中的第二个括号里的内容,并转为 10 进制
        flag_ascii[key] = value     # 使用字典,保存最后一次猜解正确的ascii码
        
flag = ''
for value in flag_ascii.values():
    flag += chr(value)
    
print flag

在这里插入图片描述

得到答案flag{sqlm4p_15_p0werful}

流量包_2

用wireshark打开流量包,这样设置检索一下有没有flag字符串,得到提示
在这里插入图片描述
在这里插入图片描述
将检索设置改为这样,在查找,发现了几个很眼熟的东西
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
多点了几次,发现就是flag,整理一下
flag{Icmp_backdoor_can_transfer-some_infomation}

流量包_3

打开附件是一个wifi.cap文件,这个是wifi握手包,通过握手包可以对密码进行暴力破解
在这里插入图片描述
用到了kali的两个软件,crunch 生成字典;aircrack-ng,爆破密码
利用kali里的crunch来生成字典
crunc命令格式:crunch <最小长度> <最大长度> [options]

crunch 11 11 -t 1391040%%%% >>wifi.txt
   -t 		指定模式
   @		插入小写字母
   , 		插入大写字母
   %		插入数字
   ^		插入特殊符号

得到手机号字典,之后用这个字典去爆破wifi密码
在这里插入图片描述

aircrack-ng -w wifi.txt wifi.cap

-w后跟字典路径
在这里插入图片描述
跑出来了答案,flag{13910407686}

图片隐写

图片隐写_1

在这里插入图片描述
得到一张图片,首先用winhex打开查看一下,首先ctrl+f,来搜索一下看看有没有flag字符串,发现没有,在这里插入图片描述
然后往下查看,在右边的代码中看到了一块与这群乱码格格不入的代码,猜测是一种编码
CTF在线工具里,利用解码工具去尝试一下,在html编码里找到了flag
在这里插入图片描述
key{you are right}

图片隐写_2

在这里插入图片描述
先用winhex打开,老样子,先检索一下看看有没有flag关键字,没有找到
在这里插入图片描述
猜测图片修改了宽高,放到kali打开,如果修改了宽高,kali会报错
在这里插入图片描述
果真修改了宽高
百度了一下知道了
89 50 4E 47PE头是png照片的,就是说没有可能照片中嵌入了Exif信息
给大家稍微介绍一下
89 50 4E 47 是文件的格式

00 00 00 0D 说明IHDR头块长为13

49 48 44 52 IHDR标识

00 00 01 F4 图像的宽

00 00 01 A4 图像的高

最后四位

CB D6 DF 8 A为CRC校验

在查看PNG文件格式时,IHDR后面的八个字节就是宽高的值,这边报错就是因为图片的宽高被修改了
将图片的宽高修改成一样看看
在这里插入图片描述
在这里插入图片描述
BUGKU{a1e5aSA}

图片隐写_3

wc,这不是我们物联网课程的图标么
在这里插入图片描述
一样先用winhex打开,检索flag字符串,没有找到,放到kali里打开,能打开,说明没有修改宽高,在kali里用binwalk检查一下图片
在这里插入图片描述
有猫腻,隐藏了东西,用foremost 3.jpg对它进行文件恢复,然后多了一个图片,打开得到flag
在这里插入图片描述
falg{NSCTF_e6532a34928a3d1dadd0b049d5a3cc57}

图片隐写_4

在这里插入图片描述
先放winhex里,没有找到flag,kali打开,没有修改宽高,binwalk分析,没有隐藏文件,百度后发现一个神奇的工具zsteg

gem install zsteg    #安装zsteg

关于zstog工具看这里

我们在kali里直接利用这个工具跑一下即可
在这里插入图片描述
看到一个特殊的bse64编码,拿去解码一下
在这里插入图片描述
flag{542fb433f4c8ebf02f78e0f0436d2e76}

图片隐写_5

在这里插入图片描述
先放winhex里,没有找到flag,kali打开,没有修改宽高,binwalk分析,没有隐藏文件,接着用zstog工具跑一下
在这里插入图片描述
qwxf{you_say_chick_beautiful?}

图片隐写_6

在这里插入图片描述
这题出题人的脑洞有点大,我们看到这个是七代目火影,我们用StegSolve打开,保存第七帧的图片,然后用StegSolve打开这个保存的图片,一直往右点就能看到flag
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
flag{49bdbe-abfe-472-9f66-a533331e6}

音频隐写

音频隐写_1

这题本来有两个文件的,那个用来破解的密码的压缩包找不到了,凑合看一下
原本打开下载的文件,会发现里面得两个文件都需要密码解密,意味着没有任何线索来获取密码
那么就只能粗暴一点,直接爆破出他的密码,即
在这里插入图片描述
解密money.zip,并打开里面得文件,在文件的最底部,即:
在这里插入图片描述
摩斯密码解密得:

在这里插入图片描述
解压包里面还有一个mp3的文件,又得到密码,那么使用工具MP3Stego
在cmd界面下,将decode.exe拖进去运行,之后会在我们会得到一个txt文件,里面是base64编码,拿去解码一下即可
在这里插入图片描述
在这里插入图片描述
moctf{#S1ngl3_D0g#}

音频隐写_3

音频文件,首先用audacity打开,查看音谱,发现最好一部分有点奇怪
在这里插入图片描述

放大后发现后面这一块长这样
在这里插入图片描述

假设在上方是1,下方是0,整理一下得到一串01字符串,8位一组将得到的十进制数用ascii码替换
这个一个一个数起来有点长,我数了两次,都数错了,没有做完,这边就介绍一下思路和方法

音频隐写_4

用Audacity载入音频文件,如图查看频普图
在这里插入图片描述
flag{e5353bb7b57578bd4da1c898a8e0d767}

音频隐写_5

看附件提示是silenteye,使用工具打开,解密一下就得到了flag
在这里插入图片描述
flag{lsb_is_so_easy}

取证分析

取证分析_1

首先放到kali里file一下看看文件,是一个ext4文件
在这里插入图片描述

用extundelete对ext4文件系统进行数据恢复,恢复的目录保存在RECOVERED_FILES
在这里插入图片描述

打开目录文件,读出flag
在这里插入图片描述

f l a g { f u g l y _ c a t s _ n e e d _ l u v _ 2 }

取证分析_2

打开是2个文件
在这里插入图片描述

volatility 使用:
volatility -f <文件名> --profile=<配置文件> <插件> [插件参数]

获取–profile的参数
使用imageinfo插件来猜测dump文件的profile值:WinXPSP2x86
volatility -f mem.vmem imageinfo
在这里插入图片描述

列举进程,可以发现一个TrueCrypy.exe的进程。

volatility -f mem.vmem --profile=WinXPSP2x86 pslist
在这里插入图片描述

TrueCrypy.exe是一款加密程序,而我们可以推出,suspicion为加密的结果。 我们需要从内存dump出key来。 dump出来的文件为1464.dmp 。
在这里插入图片描述

我们需要借助Elcomsoft Forensic Disk Decryptor(Elcomsoft硬盘取证解密器,简称为EFDD)软件来获取key和破解文件 。
在这里插入图片描述
在这里插入图片描述

找到key保存
在这里插入图片描述
在这里插入图片描述

PCTF{T2reCrypt_15_N07_S3cu2e}

神秘的文件

附件是一个flag.zip压缩包(需要密码)和图片,双击压缩包发现图片也在那个压缩包里,是明文攻击,利用winrar将logo压缩成zip,记住一定要用winrar压缩
之后使用ARCHRP进行破解,得到密码
在这里插入图片描述

拿这个密码去打开加密的文件
在这里插入图片描述

将文件放到kali里用binwalk看一下,
在这里插入图片描述

果真有猫腻,foremost分离一下文件,在里面找到了flag.txt,打开发现是base64编码,解码一下
在这里插入图片描述
在这里插入图片描述

flag{d0cX_1s_ziP_file}

disk

放到kali先用binwalk检查一下
在这里插入图片描述

有猫腻,用foremost恢复看一下
在这里插入图片描述

一个压缩包里还有一个压缩包,然后里面的压缩包里的flag.png上锁了,将原文件改为zip,发现了一个readme文件,打开提示密码被删了
在这里插入图片描述

将源文件改为.txt查看,发现了密码
在这里插入图片描述

用这个密码去提取flag图片
Windows下打开是
在这里插入图片描述

Kali打开的时候提示文件宽高存在问题
在这里插入图片描述

用winhex修改图片高度,将之前的01改为02
在这里插入图片描述
在这里插入图片描述

flag{3ae25f72880ac8ca7b1369a32e6c4edb34fdd886}

题目包里还有一个js编码的题目,有师傅做出来了带带小弟呗

原文地址:https://www.cnblogs.com/xlrp/p/14273708.html