BUUCTF:Misc 解析(十)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: BUUCTF:Misc 解析(十)

前言


Buuctf Web 是一个在线安全挑战平台,旨在提高参与者对网络安全的理解和实践能力。本文将详细介绍 Buuctf Web 的特点、挑战和机遇,帮助读者更好地了解这一领域。


一、Buuctf Web 的特点


多样化的挑战场景:Buuctf Web 提供了多种挑战场景,包括 Web 利用、密码破解、CTF 夺旗等,涵盖了网络安全领域的各个方面。


高质量的学习资源:平台提供了丰富的学习资源,包括视频教程、文章、案例分析等,帮助参与者提高技能水平。


实时排名和互动交流:Buuctf Web 支持实时排名和互动交流功能,参与者可以在平台上与其他选手一起讨论问题、分享经验。


二、Buuctf Web 的挑战


技术难度高:网络安全领域涉及的知识面广泛,技术难度较高,需要参与者具备较高的技术水平和学习能力。


时间压力大:在 CTF 夺旗等挑战中,时间是非常宝贵的资源,需要在有限的时间内快速定位问题并找到解决方案。


需要团队协作:在某些挑战中,需要团队协作才能更好地完成任务,如何有效地分工和协作也是一大挑战。


三、Buuctf Web 的机遇


提高技能水平:通过参与 Buuctf Web 的挑战,参与者可以不断提高自己的技能水平,增强在网络安全领域的竞争力。


拓展人脉资源:在平台上与其他选手交流互动,可以结识志同道合的朋友,拓展人脉资源。

获得实践机会:Buuctf Web 的挑战场景都是基于真实场景设计的,参与者在挑战中可以获得宝贵的实践机会。


为未来的工作做好准备:对于那些希望在未来从事网络安全相关工作的参与者来说,参与 Buuctf Web 可以为他们未来的工作做好准备。通过参与 Buuctf Web 的挑战,他们可以了解行业最新的动态和技术趋势,提高自己的职业竞争力。


四、如何参与 Buuctf Web 的挑战?


注册账号:首先需要在 Buuctf Web 平台上注册一个账号。

选择挑战场景:根据自己的兴趣和需求选择相应的挑战场景。

学习相关知识:为了更好地完成挑战,需要提前学习相关知识,如 Web 安全、密码学等。

参与挑战:按照挑战的要求完成相应的任务,与其他选手竞争排名。

交流与分享:在平台上与其他选手交流经验、分享技巧,共同提高技术水平。


总结:Buuctf Web 作为一个在线安全挑战平台,为网络安全爱好者提供了一个学习和交流的平台。通过参与 Buuctf Web 的挑战,不仅可以提高自己的技能水平,还可以拓展人脉资源、了解行业动态并为未来的工作做好准备。希望本文的介绍能帮助读者更好地了解 Buuctf Web 的特点、挑战和机遇,为未来的发展做好准备。

一、[GXYCTF2019] SXMgdGhpcyBiYXNlPw==(Base64 解码)

题目先解码一下

点击链接下载文件

下载文件是段 Base64 编码文本

使用 Python 脚本编码拿到 flag

def get_base64_diff_value(s1, s2):
    base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
    res = 0
    for i in xrange(len(s2)):
        if s1[i] != s2[i]:
            return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
    return res
 
 
def solve_stego():
    with open('flag.txt', 'rb') as f:
        file_lines = f.readlines()
        bin_str = ''
        for line in file_lines:
            steg_line = line.replace('\n', '')
            norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
            diff = get_base64_diff_value(steg_line, norm_line)
            print diff
            pads_num = steg_line.count('=')
            if diff:
                bin_str += bin(diff)[2:].zfill(pads_num * 2)
            else:
                bin_str += '0' * pads_num * 2
            print goflag(bin_str)
 
 
def goflag(bin_str):
    res_str = ''
    for i in xrange(0, len(bin_str), 8):
        res_str += chr(int(bin_str[i:i + 8], 2))
    return res_str
 
 
if __name__ == '__main__':
    solve_stego()
GXY{fazhazhenhaoting}

二、间谍启示录(Foremost 提取)

点击链接下载文件

使用 Foremost 提取文件

打开 exe 文件报错已损坏

直接看 RAR 文件,运行 flag.exe 程序生成了一个 flag.txt,这就是答案

三、喵喵喵(LSB 隐写 & Stegsolve 提取 & WinHex 修改 & CRC 宽高 & 手机扫码 & WinRAR 解压缩 & NtfsStreamEditor2 导出 & pyc 反编译 & 解码)

点击链接下载文件

打开是一张图片

使用 Stegsolve 发现一丝不正常,推测为 LSB 隐写

果然找到了隐藏的 PNG

另存后不能正常打开,在 WinHex 中发现文件头有问题,修改后可正常打开

但是肉眼可见二维码只有一半,高度做了修改


使用之前的 Python 脚本爆破宽高

拿到二维码


这里用 QR Research 扫不出来,但是用手机可以,最后是一个百度网盘链接

正常解压缩居然没有 flag

推测为 NTFS 数据流,使用 WinRAR 解压缩,再使用 NtfsStreamsEditor2 导出

看到文件是 pyc 文件,去第三方网站反编译

pyc 反编译

https://tool.lu/pyc/

代码如下

#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 2.7
 
import base64
 
def encode():
    flag = '*************'
    ciphertext = []
    for i in range(len(flag)):
        s = chr(i ^ ord(flag[i]))
        if i % 2 == 0:
            s = ord(s) + 10
        else:
            s = ord(s) - 10
        ciphertext.append(str(s))
    
    return ciphertext[::-1]
 
ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']

参考大佬脚本解码

#Author: mochu7
def decode(arg1):
  ciphertext = arg1[::-1]
  flag = ''
  for i in range(len(ciphertext)):
    if i % 2 == 0:
      s = int(ciphertext[i]) - 10
    else:
      s = int(ciphertext[i]) + 10 
    s = s ^ i
    flag += chr(s)
  print(flag)
 
if __name__ == '__main__':
  ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']
  decode(ciphertext)

得到 flag

flag{Y@e_Cl3veR_C1Ever!}

四、小易的 U 盘(Foremost 提取 & IDA 反编译)

点击链接下载文件

下载后是一个 ISO 文件,使用 Foremost 提取

使用 WinRAR 解压缩后找到一个 flag.txt 文件

另一个 FLAG.avi 是打不开的

只能一个一个看文件咯,最后在 autorun.inf 中找到提示

直接打开是打不开的,对于 EXE 文件只能扔进 IDA 里面反编译,最后找到 flag



相关文章
|
5月前
|
安全 网络安全 数据安全/隐私保护
BUUCTF:Misc 解析(八)
BUUCTF:Misc 解析(八)
|
3月前
|
安全 Java Linux
攻防世界:Misc 解析(一)
攻防世界:Misc 解析(一)
|
5月前
|
安全 网络安全 数据安全/隐私保护
BUUCTF:Crypto 解析(三)
BUUCTF:Crypto 解析(三)
|
5月前
|
SQL 安全 网络协议
BUUCTF:Misc 解析(九)
BUUCTF:Misc 解析(九)
|
5月前
|
安全 Linux 网络安全
BUUCTF:Misc 解析(七)
BUUCTF:Misc 解析(七)
|
2月前
|
监控 网络协议 Java
Tomcat源码解析】整体架构组成及核心组件
Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
Tomcat源码解析】整体架构组成及核心组件
|
2月前
|
存储 NoSQL Redis
redis 6源码解析之 object
redis 6源码解析之 object
58 6
|
21天前
|
存储 缓存 Java
什么是线程池?从底层源码入手,深度解析线程池的工作原理
本文从底层源码入手,深度解析ThreadPoolExecutor底层源码,包括其核心字段、内部类和重要方法,另外对Executors工具类下的四种自带线程池源码进行解释。 阅读本文后,可以对线程池的工作原理、七大参数、生命周期、拒绝策略等内容拥有更深入的认识。
什么是线程池?从底层源码入手,深度解析线程池的工作原理
|
25天前
|
开发工具
Flutter-AnimatedWidget组件源码解析
Flutter-AnimatedWidget组件源码解析
|
21天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
175 37

热门文章

最新文章

推荐镜像

更多
下一篇
无影云桌面