某校网安综合实践(三)-misc

1.压缩包加解密

附件是压缩包,伪加密直接用winhex修改标志位解压。
解压发现是张残缺的二维码,三个角的占位符缺失,用stegsolve颜色取反,再在网上找张占位符,调整大小贴上修复就可以扫码了,

2.文件识别、合并与分离

附件是压缩包,有密码,用winhex发现找不到504B0102

010editor甚至直接报错,考虑到名字叫fakezip,可能是压缩包坏了,索性直接用winrar修复,结果解压内容为空,这条路走不通,直接binwalk分离出png文件


试了下不是flag,那就只能是源附件压缩包的密码了,解压得到下图和一个txt,小丑头倒过来是32位MD5,即用32位MD5加密FakeFlag.txt

this_is_fake_zip用32位md5加密得到4059614b85477b90720a772f4fdbf1f6

3.图片隐写

附件解压是jpg文件,打不开,用winhex发现文件头尾很多数值调换了位置,一般jpg文件头:FFD8FFE0或FFD8FFE1或FFD8FFE8,文件尾是FFD9。
导出全部数据并以四个字节为一组反向排列,尾部两个字节单独互换,脚本如下

def reverse_bytes_in_groups(input_file, output_file):
    try:
        # 读取输入文件内容
        with open(input_file, 'r') as file:
            hex_data = file.read().strip()  # 去掉文件内容的空白字符
        reversed_hex_data = ""
        # 每8个字符(4个字节)作为一组
        for i in range(0, len(hex_data), 8):
            group = hex_data[i:i + 8]
            # 按字节逆序并拼接
            reversed_group = group[6:8] + group[4:6] + group[2:4] + group[0:2]
            reversed_hex_data += reversed_group
        # 将结果写入输出文件
        with open(output_file, 'w') as file:
            file.write(reversed_hex_data)
        print(f"转换完成!结果已写入 '{output_file}'")
    except FileNotFoundError:
        print("输入文件未找到,请检查文件路径")
    except ValueError as e:
        print(f"错误:{e}")
# 使用示例
input_file = "1.txt"
output_file = "output.txt"
reverse_bytes_in_groups(input_file, output_file)

得到新的jpg图片nixv.jpg,尝试用PS拉高对比度,vmc{You_Are_Huo_Yan_Jin_Jing}

4.流量包分析

附件解压是pcap,用wireshark打开,字符串搜索png,在108、3848、3895处有ncc.png和url:192.168.163.1:8000,无法访问,直接导出http对象,修改高度得到flag

5.音频隐写

附件解压是我最爱的–少年他的奇幻漂流-五月天.mp3和txt,txt里是歌词,用Audacity打开mp3,查看频谱,放大,其实可以下载原曲对比着看

6.简单的音乐

附件解压一首歌,winhex打开发现最底下有密码,用mp3stego进行解码,得到txt,打开就是flag

Decode -X 1.mp3 -P Pa55w0Rd,

7.猜猜生日

附件有密码,尝试用archpr爆破密码,无果,强行修改加密点也不行,使用解密工具john

先利用

zip2john ‘/home/kali/Desktop/251.zip’ > hash.txt

得到zip的哈希值,再用

john ‘/home/kali/Desktop/hash.txt’

尝试破解,最后用

john -show ‘/home/kali/Desktop/hash.txt’

得到解压密码20010207

注意到上面有四种数字,直接四进制转字符串就可以得到flag,不过四进制的对应关系可能要试几次,里面的四个数字404、996、251、985分别对应0、1、2、3,但是不知道具体的对应关系,要把对应关系试出来 ,由于前三个字母是 vmc,所以

v=0x76=01110110=1312,m=0x6d=01101101=1231,c=0x63=01100011=1203,404=1, 985=3,996=2,251=0

以此类推,得到vmc{Ji_De1_Su1_sHen_X1e_dAi_Lu_yin_bi},脚本如下

四进制数字替换输出:

from itertools import permutations
# 定义待匹配的数字
numbers = [404, 996, 251, 985]
mappings = list(permutations([0, 1, 2, 3]))  # 所有可能的对应关系
# 读取文件1.txt中的数据
with open('1.txt', 'r') as file:
    data = file.read().strip().split()  # 读取并按空格分割
# 尝试每一种可能的对应关系
results = []
for mapping in mappings:
    # 构建当前映射字典
    num_to_digit = {numbers[i]: mapping[i] for i in range(4)}

    # 转换数据
    transformed_data = ''.join(str(num_to_digit[int(num)]) for num in data)
    results.append(transformed_data)
# 将结果写入2.txt
with open('2.txt', 'w') as file:
    for result in results:
        file.write(result + '\n')
print("转换完成,结果已保存到2.txt中。")

个位数转二进制:

# 打开4.txt文件,读取内容
with open('4.txt', 'r') as f:
    data = f.read()
# 创建一个空列表,用于存储每个个位数转换成的二进制数
binary_numbers = []
# 遍历文件内容中的每一个字符
for char in data:
    # 检查字符是否为个位数
    if char.isdigit() and 0 <= int(char) <= 9:
        # 将该数字转换为二进制,并填充成两位
        binary_numbers.append(bin(int(char))[2:].zfill(2))
# 将二进制结果写入5.txt文件,每个二进制数独占一行
with open('5.txt', 'w') as f:
    for binary in binary_numbers:
        f.write(binary)
print("转换完成,结果已保存到5.txt")

连续二进制序列转ascii:

# 打开5.txt文件,读取所有二进制数
with open('5.txt', 'r') as f:
    binary_data = f.read().replace('\n', '')  # 去掉所有换行符,使二进制数连在一起
# 检查二进制长度是否是8的倍数(一个ASCII字符是8位)
if len(binary_data) % 8 != 0:
    print("警告:二进制数据的长度不是8的倍数,可能存在不完整的字节。")
# 创建一个空字符串,用于存储转换后的ASCII文本
ascii_text = ""
# 按8位分割二进制数据并转换为ASCII字符
for i in range(0, len(binary_data), 8):
    byte = binary_data[i:i+8]  # 取8位作为一个字节
    ascii_text += chr(int(byte, 2))  # 将二进制字符串转换为整数,再转换为对应的ASCII字符
print(ascii_text)
# 将ASCII结果写入6.txt文件
with open('6.txt', 'w') as f:
    f.write(ascii_text)
print("转换完成,结果已保存到6.txt")

8.总不能一个个打吧-怎么获取图片信息

附件是png

图片里的文本就是用base64加密之后填充了无关字符进行混淆,想办法提取文字,

有个Flag is vmc{Wooooooow_Uknow_b4s3_64}

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇