CTF解题基本思路步骤(misc和web)
平时注意收集做题用到的工具和脚本
知识点总结
步骤使用序号列表,并列使用项目列表
找不到思路,或者是出现异常,就回去仔细读题
文章目录
- CTF-web基础解题步骤
- CTF-misc解题思路
- 图片:
- 主要步骤:
- JPG:
- 特征
- Lsb
- IDAT隐写
- 修改高度
- PNG:
- 特征
- 修改高度
- XOR
- GIF:
- 特征
- 其他:
- - bgp:
- 音频:
- 视频:
- 逐帧分割
- 其他
- 压缩包:
- 流量:
- 其他:
- pyc文件相关
- DTMF
- pcap文件修复
- 乐符解密
- linux光盘文件(ext3)
- pcap文件修复
- 乐符解密
- linux光盘文件(ext3)
CTF-web基础解题步骤
1.看源码,F12或者ctrl+u
2.扫目录,御剑或者dirseash
3.burp抓包分析http头
CTF-misc解题思路
图片:
图片内容、图片分析、图片拼接、图片修复、EXIF、LSB
主要步骤:
看属性详细信息
010editor或winhex或notepad++打开看有无特殊信息,然后搜索ctf、CTF、flag、key等关键字
string、file命令(kali)
strings test | grep -i flag file 1.txt
检查图像的开头标志和结束标志是否正确,若不正确修改图像标志恢复图像,打开查看是否有flag或ctf信息,(往往gif属于动图,需要分帧查看各帧图像组合所得数据 若不是直接的ctf或flag信息 需要考虑将其解码)
stegslove或者binwalk
修改高度png改IHDR、jpg改ffc2(16进制搜索)三个字节后的数据
根据对应格式使用响应隐写检测工具
看图片有无异常 盲水印 、f5、Lsb、guess、stegpy、steg、jphide、stegdetect
JPG:
- 使用pngcheck分析 pngcheck.exe -v file
- 判断异常IDAT串,使用winhex等工具创建新文件
- 根据创建后的新文件继续分析
修改高度
jpg改ffc2(16进制搜索)三个字节后的数据
stegdetect (win)
(检查jpg图片隐写方法,Stegdetect可以检测到通过JSteg、JPHide、OutGuess、Invisible Secrets、F5、appendX和Camouflage等这些隐写工具隐藏的信息)将图片复制到 stegdetect.exe 所在文件夹,打开 cmd 输入:
stegdetect.exe -tjopi -s 10.0 [stego_file] -s 修改检测算法的敏感度,该值的默认值为1。检测结果的匹配度与检测算法的敏感度成正比,算法敏感度的值越大,检测出的可疑文件包含敏感信息的可能性越大。 -t 设置要检测哪些隐写工具(默认检测jopi),可设置的选项如下: j检测图像中的信息是否是用jsteg嵌入的。o 检测图像中的信息是否是用outguess嵌入的。p 检测图像中的信息是否是用jphide嵌入的。i 检测图像中的信息是否是用invisible secrets嵌入的
steghide(win)
查看图片中嵌入的文件信息:
steghide info out.jpg
提取含有密码的隐藏内容:
steghide extract -sf out.jpg -p 123456
提取不含有密码的隐藏内容:
steghide extract -sf out.jpg
steghide爆破密码
有些题目用steghide加密文件但是不给密码,此时就需要爆破,steghide本身并不支持爆破,需要一些其他的方法: https://github.com/Va5c0/Steghide-Brute-Force-Toolpython
steg_brute.py -b -d [字典] -f [jpg_file]
需要安装的库:progressbar
pip install progressbar2
F5
(F5隐写,需要passwd)
在kail下切换到F5-steganography,在java Extract运行命令:
java Extract 123456.jpg图片的绝对地址 -p 123456
outguess
(kali下图片隐写+可需要可不要passwd)
outguess -r /root/angrybird.jpg(绝对路径) 123.txt(信息存放的文本) outguess -k 12345 -r 2.jpg out.txt -k后接密码 -r后接解密图片 输出文件
PNG:
特征
文件头标识(8 bytes):89 50 4E 47 0D 0A 1A 0A
文件结束:00 00 00 00 49 45 4E 44 AE 42 60 82
修改高度
010打开修改
tweakpng.exe打开图片提示IDHRcyc错误,表示文件尺寸被修改,且未修改crc值
XOR
1.binwalk分析出两张图片
2.用stegslove打开选择image combiner 选择XOR
3.根据XOR后的结果继续分析
- zsteg(kali)
zsteg可以检测PNG和BMP图片里的隐写数据(lsb隐写、zlib、openstego等),一般来讲用 zsteg 解密的文件都为 bmp 文件
zsteg 图片名
BlindWaterMark (盲水印,kali)
第一种 正常的bwm
打开 bwm.py 所在文件夹(桌面),在文件夹中打开终端
# 1.png 为无水印原图
# 2.png 为有盲水印的图
# flag.png 为解出来的图片
> python bwm.py decode 1.png 2.png flag.png
第二种 频域盲水印
import cv2
import numpy as np
import random
import os
from argparse import ArgumentParser
ALPHA = 5
def build_parser():
parser = ArgumentParser()
parser.add_argument('--original', dest='ori', required=True)
parser.add_argument('--image', dest='img', required=True)
parser.add_argument('--result', dest='res', required=True)
parser.add_argument('--alpha', dest='alpha', default=ALPHA)
return parser
def main():
parser = build_parser()
options = parser.parse_args()
ori = options.ori
img = options.img
res = options.res
alpha = options.alpha
if not os.path.isfile(ori):
parser.error("original image %s does not exist." % ori)
if not os.path.isfile(img):
parser.error("image %s does not exist." % img)
decode(ori, img, res, alpha)
def decode(ori_path, img_path, res_path, alpha):
ori = cv2.imread(ori_path)
img = cv2.imread(img_path)
ori_f = np.fft.fft2(ori)
img_f = np.fft.fft2(img)
height, width = ori.shape[0], ori.shape[1]
watermark = (ori_f - img_f) / alpha
watermark = np.real(watermark)
res = np.zeros(watermark.shape)
random.seed(height + width)
x = range(height / 2)
y = range(width)
random.shuffle(x)
random.shuffle(y)
for i in range(height / 2):
for j in range(width):
res[x[i]][y[j]] = watermark[i][j]
cv2.imwrite(res_path, res, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
if __name__ == '__main__':main()
使用
python pinyubwm.py --original 1.png --image 2.png --result out.png
查看 out.png 即可,如果无法得到正常图片,可将 1.png 和 2.png 调换位置再次尝试
lsb的py脚本解密(lsb隐写+需要passwd)
F:\CTF\CTF工具合集\脚本\cloacked-pixel-master
使用
python lsb.py extract [stego_file] [out_file] [password]
pngcheck(检查IDAT块_win)
在 pngcheck.exe 所在文件夹打开cmd
pngcheck.exe -v 123.png
可检查 png 的 IDAT 块是否有问题相关题目可参考: https://blog.csdn.net/u010391191/article/details/80818785
有关解题脚本可参考 FzWjScJ 师傅的blog: http://www.fzwjscj.xyz/index.php/archives/17/
WebP
安装(kali中)apt install webp需要的时候按 Y 即可
使用
cwebp - 编码器工具:可将png转为webp
cwebp 1.png -o 2.webp
dwebp - 解码器工具:可将webp转为png
dwebp 1.webp -o 2.png
vwebp - 查看器工具:可直接查看webp格式图片
vwebp 1.webp
webpinfo - 格式查看工具:可打印出WebP文件的块级结构以及基本完整性检查
webpinfo 1.webp
其余(gif2webp、img2webp等可见 官方文档)
exiftool(查看图片exif信息)
exiftool 1.jpg # 显示图片所有信息 exiftool 1.jpg | grep flag # 查看图片有关‘flag’字符的信息 exiftool * #查看此文件夹所有图片信息 exiftool -b -ThumbnailImage attachment.jpg >flag.jpg # 提取缩略图*
GIF:
特征
文件头标识(6 bytes):47 49 46 38 39(37) 61 即GIF89a
其他:
- bgp:
文件头:425047FB
在线网站查看即可:https://webencoder.libbpg.org/show.html
音频:
有key mp3steg
在MP3stego文件夹中打开cmd,然后将 Decode.exe 拖到命令行里,将要解密的文件放在文件夹中
encode -E hidden_text.txt -P pass svega.wavsvega_stego.mp3Decode.exe -X -P pass(密码) svega_stego.mp3(要拷贝到目录下) //解码
分析声道audacity
010打开
steghide(wav隐藏信息)
使用方法在本文jpg的介绍中
wav
优先考虑lsb隐写,使用silenteye工具
m4a文件头
00 00 00 20 66 74 79 70 4D 34 41 20 00 00 00 00
视频:
逐帧分割
video to pic.exe或者ffmpeg.exe
其他
视频中的音频、视频放到010中查看
压缩包:
尽量用winrar避免异常
看属性
伪加密
修复工具:
winrar修复
ZipCenOp.jar(win)
找到所在文件夹,在地址栏输入cmd
java -jar ZipCenOp.jar r 文件名
4.暴力破解
5.明文攻击
6.crc32碰撞
7.多个压缩文件合并 cat 文件名(按需) > 保存文件名
流量:
其他:
pyc文件相关
- uncompyle6(pyc文件反编译)
uncompyle6 test.pyc > test.py
Stegosaurus(pyc隐写_win)
版本:Python 3.6 or later
使用在 stegosaurus.py 所在文件夹打开cmd,输入:
python stegosaurus.py -x [pyc_file]
DTMF
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MRjXBako-1603353529550)(C:\Users\q2723\AppData\Roaming\Typora\typora-user-images\image-20201017144526742.png)]
在线工具http://dialabc.com/sound/detect/
本地工具 tdmf ton decoder
https://pas-products.com/download.html免费版有限制
pcap文件修复
winpcapfix工具• 在线修复• https://f00l.de/hacking/pcapfix.php
乐符解密
https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue
linux光盘文件(ext3)
linux挂载光盘,使用notepad或者strings、file命令来搜索关键词
strings test | grep -i flag
find | grep 'flag' 或 find -name 'flag*'
mount命令挂载文件
pdfinfo 文件名 #查看pdf属性
pdftotext 文件名 #导出文本
und/detect/
本地工具 tdmf ton decoder
https://pas-products.com/download.html免费版有限制
pcap文件修复
winpcapfix工具• 在线修复• https://f00l.de/hacking/pcapfix.php
乐符解密
https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue
linux光盘文件(ext3)
linux挂载光盘,使用notepad或者strings、file命令来搜索关键词
strings test | grep -i flag
find | grep 'flag' 或 find -name 'flag*'
mount命令挂载文件
pdfinfo 文件名 #查看pdf属性
pdftotext 文件名 #导出文本
CTF解题基本思路步骤(misc和web)相关推荐
- hackbar 使用教程_〖教程〗K8飞刀-网络安全CTF解题Web篇10个例子
[教程]K8飞刀-网络安全CTF解题Web篇10个例子 前段时间有人和我说什么时候有空出些CTF用的工具,实际上CTF考查的内容,实战中用到的很多工具都可以使用,关键在于你懂不懂用.也看到有人搜索如何 ...
- 2022春秋杯-春季赛 勇者山峰 writeup(misc全部+web签到)
2022春秋杯-春季赛 勇者山峰 writeup(misc全部+web签到) 改改比赛wp发上来 本文来自csdn的⭐️shu天⭐️,平时会记录ctf.取证和渗透相关的文章,欢迎大家来我的主页:shu ...
- 思路+步骤+方法,三步教你如何快速构建用户画像?
思路+步骤+方法,三步教你如何快速构建用户画像? 2016-10-07 超哥 互联网er的早读课 互联网er的早读课 数十万互联网从业者的共同关注! 作者:超哥.作者授权早读课发表,转载请联系作者. ...
- 练习-CTF解题 - XMAN比赛 8-8-babyweb(netspark扫扫)
http://202.112.51.217:8199/uploads/ 说说这题:练习-CTF解题 -OpenCTF 2017 - jsjs 直接用bp截获报文得到flag 说说这题:练习-CTF解题 ...
- 【Hgame2022】第一周misc和web题解
[Hgame2022]第一周misc和web题解 MISC 这个压缩包有点麻烦 暴力破解 字典爆破 明文爆破 压缩包伪加密 好康的流量 解法一 解法二 群青(其实是幽灵东京) 查看属性得知是基础的si ...
- 用户不必了解计算机的内部结构,用户不必了解计算机的内部结构,主要考虑解题算法和步骤,以过程为中心的编程思想,称为()语言...
用户不必了解计算机的内部结构,主要考虑解题算法和步骤,以过程为中心的编程思想,称为()语言 更多相关问题 以下哪个选项不属于相关研究的内容? 分离变量法是人们基于两个重要事实提出来的,它们分别是:波动 ...
- html ctf查找,Web CTF 解题思路总结—南京邮电大学攻防平台writeup
1.直接查看源代码 例:签到题(50) 2.PHP的特性 (1)MD5 碰撞 例:md5 collision(50) md5碰撞:MD5摘要算法可以从多个字节组成的串中计算出由32个字节构成的&quo ...
- CTF解题技能之MISC基础
杂项介绍 Miscellaneous简称MISC,意思是杂项,混杂的意思. 杂项大致有几种类型: 1.隐写 2.压缩包处理 3.流量分析 4.攻击取证 5.其它 本篇主要介绍杂项基础题目的知识点以及解 ...
- CTF比赛中常见的MISC解题方法(不涉及内存取证和流量分析)仅供菜鸟,大佬绕道
我们在ctf比赛中,大多数时候签到题都是misc. 会不会有小伙伴因为签到题而感到头痛. 其实misc的签到题是非常简单的,不然怎么可能叫签到. 好吧,废话不多说,直接说干货: 1.题目直接给了编码. ...
最新文章
- IOS时间传递机制简记
- Opencv中除了cv2.cvtColor彩色图转灰度图之外的其他6种方法
- 爬虫(beautifulSoup)
- JAVA操作properties文件
- Win7实用技巧之五库功能妙用
- C# Socket系列一 简单的创建socket的监听
- 09.multi-get api操作
- url.getinputsteam 获取不完整_年度营销方案合集,活动策划,规划推广,全内容完整套用告别加班...
- 设计模式之-命令模式(Command Pattern)
- linux 高性能日志,linux日志系统
- 新东厂西厂时代——纪念被阉割了的手机——戏说移动的“×××短信”标准
- 工程导论【职业能力与职业培养】
- 重心(质量对位置的加权平均)与转动惯量(使物体甩动的难易程度与质量m和到轴的距离r的平方有关)
- 此蓝牙设备或计算机无法处理该类型文件,电脑蓝牙 电脑蓝牙功能无法使用-完美教程资讯...
- python第一章测试题_python 第一章 初探Python课后练习题
- UVA 1625—Color Length(ACM/ACPC Daejeon 2011)
- 头歌c语言实训作业题解
- 2022网易最新版本将军令算法刨析(2)
- (IROS 2022) 基于事件相机的单目视觉惯性里程计 / Event-based Monocular Visual Inertial Odometry
- 贝叶斯网络、拉普拉斯平滑
热门文章
- 海岸TDM系统配置工具-流程
- 法国老医生和他“驱动”的摄像头们
- Qt 并行运算高级API QtConcurrent
- 让人感到心灵平静,阳光温暖的图片
- 帆软填报--导入Excel前清空数据库表
- 杜比介绍 杜比数位 Dolby
- 启动项目,报错:The server selected protocol version TLS10 is not accepted by client preferences [TLS12]解决办法
- 2018 年物联网发展五大趋势预测
- 有源晶振、石英晶振、陶瓷晶振优缺点分析
- cad.net 利用win32api实现不重复打开dwg路径的文件夹(资源管理器)