CTF工具
一、Misc
1、base64隐写
案例可以参考buuctf-misc-[ACTF新生赛2020]base64隐写
点击查看代码
# -*- coding: utf-8 -*-
base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
binstr=""
strings = open('./ComeOn.txt').read()
e = strings.splitlines()
for i in e:
if i.find("==") > 0:
temp = bin((base64.find(i[-3]) & 15))[2:]
# 取倒数第3个字符,在base64找到对应的索引数(就是编码数),取低4位,再转换为二进制字符
binstr = binstr + "0" * (4 - len(temp)) + temp # 二进制字符补高位0后,连接字符到binstr
elif i.find("=") > 0:
temp = bin((base64.find(i[-2]) & 3))[2:] # 取倒数第2个字符,在base64找到对应的索引数(就是编码数),取低2位,再转换为二进制字符
binstr = binstr + "0" * (2 - len(temp)) + temp # 二进制字符补高位0后,连接字符到binstr
str = ""
for i in range(0, len(binstr), 8):
str = str + chr(int(binstr[i:i + 8], 2)) # 从左到右,每取8位转换为ascii字符,连接字符到字符串
print(str)

2、字频统计
案例可以参考buuctf-misc-[GXYCTF2019]gakki
点击查看代码
import collections
def count_characters(filename):
with open(filename, 'r', encoding='utf-8') as file:
content = file.read()
counter = collections.Counter(content)
return counter
def print_sorted_counts(counter):
flags=[]
for char, count in counter.most_common():
flags.append(char)
print(f"'{char}': {count}")
print(''.join(flags))
def main():
filename = input("请输入文本文件的路径:\n")
try:
char_counts = count_characters(filename)
print_sorted_counts(char_counts)
except FileNotFoundError:
print("文件未找到,请检查路径是否正确。")
except Exception as e:
print(f"发生错误:{e}")
if __name__ == "__main__":
main()

3、图片隐写
1)binwalk
binwalk -e QR_code.png
参数介绍:
-B:不执行任何提取,只显示可能包含文件的偏移量。
-e:将所有提取文件保存到当前目录下的一个子目录中。
-M:尝试包含另一个已知格式(以逗号分隔的列表)。
-y:尝试所有提取操作/文件类型。
PS:用的最多的就是 binwalk -e 分离全部到文件夹 或者-h 详细查看
安装:
cd binwalk
python setup.py install
2)GifSplitter
GifSplitter一款专门用于分割和提取GIF动画图像的软件。它允许用户将一个GIF动画文件拆分为单个图像帧,或者从一个GIF动画中提取所需的图像帧。(适合gif帧比较多的情况)
案例可以参考buuctf-misc-[BJDCTF2020]鸡你太美
3)Foremost
Foremost 是一款开源工具,主要用于数字取证中恢复文件系统镜像中的文件。在数字取证中和CTF中常用来恢复、分离文件。以下是其安装和编译方法:
安装方法
Linux/macOS:
解压下载的 tar.gz 文件
运行 make 命令编译
使用 make install 安装
Windows:
可通过 GitHub 仓库下载预编译的 exe 文件,或使用 MinGW gcc 自行编译源码
命令使用
基础命令:
foremost [选项] [文件路径],例如 foremost -i inputfile -o outputdir
选项说明:
-v:显示详细输出
-T:列出所有支持的文件类型
-a:恢复所有文件类型
支持的文件类型
默认支持 19 种文件类型(如 jpg、gif、bmp、avi、exe、pdf、zip 等),可通过配置文件 foremost.conf 扩展支持其他类型
4)Stegsolve.jar
案例可以参考buuctf-misc-LSB1
Stegsolve.jar一款常用于图像隐写分析的工具,以.jar文件形式提供,运行前需先安装Java运行环境(JDK或JRE )。
可提取GIF文件中的帧。当两张jpg图片外观、大小、像素都基本相同时,可以考虑进行结合分析,即将两个文件的像素RGB值进行XOR、ADD、SUB等操作,看能否得到有用的信息
- 使用Data Extract导出Save Bin

导出后发现是个二维码

有时候flag直接就在Extract Preview中显示

5)Steghide
案例可以参考buuctf-misc-九连环1
# 将隐藏信息从载体中分离出来
steghide extract -sf 待提取信息的图片.jpg -p 123456
# -sf 后面放待提取信息的图片
# -p 后面接密码,也可以不加-p参数,运行后会询问密码
# 若没有密码,则不加-p参数,询问密码直接按enter键跳过

6)outguess
案例可以参考buuctf-misc-[ACTF新生赛2020]outguess
命令输入git clone https://github.com/crorvick/outguess 或者outguess下载
安装包随即下载到文件夹。双击打开文件夹,右键点击空白区域选终端打开。
随后输入以下命令./configure && make && make install 进行安装
对图片信息进行破解的命令如下:
outguess -k 'abc'-r mmm.jpg -t flag.txt

4、压缩包
1)010 Editor
010 Editor是一款专为高级用户和程序员设计的十六进制编辑器,它提供了深入分析和编辑二进制文件的能力。
2)Advanced Archive Password Recovery
无需额外下载字典,只需打开压缩包文件,即可直接进行破解。此外,该软件还提供了多种破解方式,其中暴力模式被广泛推荐,因为它能更快地帮助您获取密码。
5、流量分析
1)wireshark
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。
2)RouterPassView
案例可以参考buuctf-misc-荷兰宽带数据泄露1
路由器备份日志,可以使用RouterPassView打开
二、web
1、godzilla.jar
2、Zero Omega
chrome代理设置插件Zero Omega
3、dirsearch
dirsearch是一个基于python的命令行工具,用于暴力扫描页面结构,包括网页中的目录和文件。
使用-u 指定需要扫描URL
使用-e 指定需要扫描的文件名 例如:-e php 如果不知道即所有 -e *
python dirsearch.py -u http://www.hacker.com/index.php -e php
排除不需要的状态码(403,302,301)
python dirsearch.py -u http://www.hacker.com/index.php -e php -x 403,302,301
指定扫描目录
-w 指定自定义的字典文件路径
python dirsearch.py -u http://www.hacker.com/index.php -e php -w 文件路径
返回429,用单线程
E:\phpstudy_pro\WWW>dirsearch -u http://8e93db25-77e5-4b79-9c42-b9fc741b4389.node5.buuoj.cn:81/ -e php --delay 0.1 -t 1

4、dirmap
单个目标
python3 dirmap.py -i https://target.com -lcf

5、hackbar
案例可以参考buuctf-web-[MRCTF2020]Ez_bypass1
Hackbar是Firefox插件,可模拟地址栏操作,具备网址载入、编码加密等功能,能辅助检测SQL注入、XSS漏洞,支持多种加密与编码方式,适用于安全审计,谷歌与火狐浏览器均可安装使用。

如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨小小打赏一下吧,如果囊中羞涩,不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.

浙公网安备 33010602011771号