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)

image

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()

image

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
    image
    导出后发现是个二维码
    image
    有时候flag直接就在Extract Preview中显示
    image

5)Steghide

案例可以参考buuctf-misc-九连环1

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

image

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

image

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

image

4、dirmap

单个目标

python3 dirmap.py -i https://target.com -lcf

image

5、hackbar

案例可以参考buuctf-web-[MRCTF2020]Ez_bypass1

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

posted @ 2025-09-19 14:12  权杖攻城狮  阅读(94)  评论(0)    收藏  举报