首页 > 其他分享 >[纵横网络靶场社区]奇怪的文件

[纵横网络靶场社区]奇怪的文件

时间:2023-06-19 22:02:12浏览次数:56  
标签:__ 社区 zip random key 纵横 import 靶场 data


[纵横网络靶场社区]奇怪的文件_字段


part1part2part3很明显是zip文件的压缩源文件数据区压缩源文件目录区压缩源文件目录结束标志

[纵横网络靶场社区]奇怪的文件_字段_02


[纵横网络靶场社区]奇怪的文件_源文件_03


[纵横网络靶场社区]奇怪的文件_数据_04


三个文件都补全50 4B两个字节,然后依次把part2part3补全到part1文件中;修改part1文件名为part1.zip

[纵横网络靶场社区]奇怪的文件_工控CTF_05


使用010 Editor打开,分析文件结构发现压缩源文件数据区CRC字段为空、压缩源文件目录区filename字段为空。CRC可以从压缩源文件目录区获得,filename字段可以从压缩源文件数据区获得。互相补全即可得到完整的zip文件。

[纵横网络靶场社区]奇怪的文件_字段_06


有加密,真加密,接下来就是这道题出题人第一个令人看不懂的操作:7位大小写字母+数字的zip密码爆破。

[纵横网络靶场社区]奇怪的文件_数据_07


果然脑洞大开,懒得理,直接看答案

[纵横网络靶场社区]奇怪的文件_源文件_08


得到zip压缩密码:GyxXaq9

[纵横网络靶场社区]奇怪的文件_数据_09


使用010 Editor打开,发现文件末附加隐写了一些数据

[纵横网络靶场社区]奇怪的文件_数据_10


[纵横网络靶场社区]奇怪的文件_工控CTF_11


仔细观察不难发现这些数据是zip的字节流数据的逆序,将这些数据提取出来,然后Python简单处理

from binascii import *

with open('reverse_data', 'rb') as f:
    hex_data = hexlify(f.read())[::-1]
    with open('flag.zip', 'wb') as f1:
        for i in range(0, len(hex_data), 2):
            data = hex_data[i: i+2][::-1]
            f1.write(unhexlify(data))

[纵横网络靶场社区]奇怪的文件_字段_12


enc.pyc文件使用pyc反编译得到源码:https://tool.lu/pyc/

import random
import base64
import sys

def KeyGenerate():
    random.seed(10)
    keyseed = ''
    for i in range(12):
        x = random.randint(32, 127)
        keyseed += chr(x)
    
    return base64.b64encode(keyseed.encode('utf-8')).decode('utf-8')


def enc(key, file):
    count = 0
    f = open(file, 'rb')
    f1 = open('encrypted', 'wb')
    for now in f:
        for nowByte in now:
            newByte = nowByte ^ ord(key[count % len(key)])
            count += 1
            f1.write(bytes([newByte]))
        
    

if __name__ == '__main__':
    key = KeyGenerate()
    enc(key, sys.argv[1])

通过分析加密源代码还原出加密前的文件,Python简单处理

import random
import base64


def KeyGenerate():
    random.seed(10)
    keyseed = ''
    for i in range(12):
        x = random.randint(32, 127)
        keyseed += chr(x)
    return base64.b64encode(keyseed.encode('utf-8')).decode('utf-8')

def dec(key):
    count = 0
    with open('encrypted', 'rb') as enc_data:
        with open('decrypted_data', 'wb') as dec_data:
            for now in enc_data:
                for nowByte in now:
                    newByte = nowByte ^ ord(key[count % len(key)])
                    count += 1
                    dec_data.write(bytes([newByte]))


if __name__ == '__main__':
    key = KeyGenerate()
    dec(key)
    #print(key)

得到一张jpg图片

[纵横网络靶场社区]奇怪的文件_数据_13


接下来就是出题人第二个令人看不懂的操作:LSB隐写7位大小写字母+数字+特殊符号的密码爆破 懒得管,直接贴密码:U!lSb29

[纵横网络靶场社区]奇怪的文件_字段_14


然后最后一个令人看不懂的操作:只有半张图?

我尝试了修改了jpg图片的高度,发现也得不到完整清晰的图片

[纵横网络靶场社区]奇怪的文件_字段_15


肉眼识别flag。。。。。。。识别不出来,直接偷吧。。。

flag{2ceuagIha7v8mlfod9uas1d86wqer0}


标签:__,社区,zip,random,key,纵横,import,靶场,data
From: https://blog.51cto.com/u_16159500/6517860

相关文章

  • OpenHarmony社区运营报告(2023年5月)
     本月快讯● 2023年6月11-13日,2023开放原子全球开源峰会即将在北京北人亦创国际会展中心盛大开幕。2023开放原子全球开源峰会上,OpenAtom OpenHarmony(以下简称“OpenHarmony”)将通过分论坛与展览等方式,展示生态进展与最新行业落地成果,揭示OpenHarmony生态发展新方向,让广大......
  • [纵横网络靶场社区]Modbus协议
    下载附件进行流量分析,查看Modbus协议,点击长度排序,发现一个长度比较突出的包包末尾写的就是flag的内容flag{TheModbusProtocolIsFunny!}......
  • Kali Linux 下搭建ctfd靶场(报错解决)
    准备环境:获取一台运行Linux的服务器或虚拟机,确保具备足够的计算资源和网络连接。安装所需的软件和依赖项,如Python、pip等。安装CTFd:打开终端并使用以下命令克隆CTFd的GitHub存储库gitclonehttps://github.com/CTFd/CTFd.git进入克隆的CTFd目录:cdCTFd......
  • 民间最大的社区,倒闭了
    看到一则不起眼的消息:天涯社区已经无法打开。时代抛弃你的时候,都不说一声再见,现实就是这样残酷。记得我读大学的时候,天涯社区是国内互联网行业中最具影响力的论坛之一,号称"全球华人网上家园“。当年,很多人每天上网的第一件事,就是打开天涯论坛。那时,天涯有个热门版块叫“非常......
  • 参与共建 SolidUI AI 生成可视化项目:开源社区的力量
    背景SolidUI是一个开源的AI生成可视化项目,旨在帮助开发者快速构建可视化界面。我们诚挚邀请您加入SolidUI社区,与我们共同打造更加优秀的开源项目。本文将为您介绍如何参与到SolidUI的共建中来,包括相关链接、当前项目进展以及如何为项目做出贡献。https://github.com/CloudOrc/Sol......
  • 关于建立专家Twitter社区的一种想法
    阅读Linux源码过程中发现很多细微末节的函数都没有注释,在作者看来可能微不足道,但是从源码阅读者看来却是个坎。 网上有那种网站,把linux很多API都做了详细的解释,但是做得还不够:那些解释定位于面向驱动开发者,只提供了数量有限的API的解释。对于那些细微末节的函数,确只字未提。 为什......
  • 全球最大资管,贝莱德申请比特币ETF!加密社区却唱衰,为何?
       就在美国证交会(SEC)拳打币安、脚踩Coinbase的风头正劲之时,全球最大资管集团贝莱德(BlackRock)通过子公司iShares,向SEC提交了现货比特币ETF的文件申请。   根据申请文件,该ETF被命名为「iSharesBitcoinTrust」,其资产主要由代表该信托托管人持有的比特币组成,而「托管人」则是......
  • 6月有奖征文挑战,ZEGO开发者社区首季活动报名入口!
     前言哈喽开发者们:ZEGO即构科技作为一家20年技术积累的音视频云服务商,已经为全球200+个国家的企业服务,单日通话时长突破30亿+分钟,现下即构开发者社区举办首期征文活动!本次征文活动围绕音视频开发系列,从采集到播放每个环节的内容均可投稿,期待大家发挥创造力与想象力~我......
  • 逾百位开发者到场,超 2 万人线上观看!龙蜥社区开发者服务 devFree MeetUp 精彩回顾来啦
    春末夏初,细雨漫漫,龙蜥社区迎来了首届开发者服务平台(devFree)线下MeetUp。此次沙龙吸引了不少来自行业头部公司、机构的代表参与主题分享,现场更是有百余位业内的专家与开源技术爱好者、工程师参与了关于如何做好开源社区,如何通过基础设施为开源赋能的讨论。5月27日,北京。濛濛细雨......
  • 关于DVWA靶场高难度命令执行的代码审计
    需要的环境:dvwa使用的工具:PHP手册high难度源代码:<?phpif(isset($_POST['Submit'])){//Getinput$target=trim($_REQUEST['ip']);//Setblacklist$substitutions=array('&'=>'',......