BUUCTF:Misc 解析(八)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 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 的特点、挑战和机遇,为未来的发展做好准备。

一、[ACTF新生赛2020] base64隐写(Base64 解码)

点击链接下载文件

打开后有一个 txt,-推测为 Base64 编码

编写 Python 脚本解码每一行

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('ComeOn!.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()

拿到 flag

flag{6aseb4_f33!}

二、[GXYCTF2019] gakki(Binwalk 提取 & Archpr 爆破 & 字频统计)

点击链接下载文件

打开后是一张图片

使用 Binwalk 发现隐藏文件 RAR

解压缩需要密码

使用 Archpr 爆破出密码

打开后发现是乱码,emm……

补充知识:大量无规律、无特征字符应该是要做字频统计

编写 Python 脚本

alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]"
strings = open('./flag.txt').read()
 
result = {}
for i in alphabet:
  counts = strings.count(i)
  i = '{0}'.format(i)
  result[i] = counts
 
res = sorted(result.items(),key=lambda item:item[1],reverse=True)
for data in res:
  print(data)
 
for i in res:
  flag = str(i[0])
  print(flag[0],end="")

执行结果如下:

PS C:\Users\Administrator\Downloads\attachment\output\rar\00000268> python .\count.py
('G', 2508)
('X', 2481)
('Y', 2453)
('{', 2301)
('g', 2221)
('a', 2087)
('k', 1981)
('i', 1797)
('_', 1531)
('I', 1448)
('s', 1402)
('M', 1398)
('y', 1389)
('w', 1386)
('1', 1376)
('f', 1373)
('e', 1372)
('}', 1264)
('A', 1164)
('D', 1164)
('O', 1163)
('Q', 1163)
('W', 1163)
('J', 1162)
('H', 1161)
('E', 1160)
('K', 1160)
('N', 1160)
('S', 1160)
('U', 1160)
('P', 1159)
('Z', 1158)
('8', 1158)
('&', 1158)
('*', 1158)
('B', 1157)
('C', 1157)
('2', 1157)
('4', 1157)
('9', 1157)
('#', 1157)
('%', 1157)
('^', 1157)
('F', 1156)
('R', 1156)
('T', 1156)
('V', 1156)
('3', 1156)
('@', 1156)
('$', 1156)
('(', 1156)
(')', 1156)
('-', 1156)
('L', 1155)
('5', 1155)
('6', 1155)
('7', 1155)
('0', 1155)
('=', 1155)
('h', 1151)
('o', 1151)
('q', 1150)
('d', 1148)
('u', 1147)
('j', 1146)
('l', 1144)
('c', 1143)
('m', 1143)
('n', 1143)
('p', 1143)
('x', 1143)
('z', 1143)
('b', 1142)
('t', 1141)
('v', 1141)
('r', 1140)
('!', 1058)
('[', 4)
(' ', 1)
('+', 0)
('\\', 0)
(']', 0)
GXY{gaki_IsMyw1fe}ADOQWJHEKNSUPZ8&*BC249#%^FRTV3@$()-L5670=hoqdujlcmnpxzbtvr![ +\]

推测 flag 应该就是:flag{gaki_IsMyw1fe}

三、[MRCTF2020] ezmisc(CRC 宽高 & WinHex 修改)

点击链接下载文件

解压缩后是这样一张图片

使用 Python 脚本宽高

import struct
import binascii
import os
 
m = open("flag.png", "rb").read()
k = 0
for i in range(5000):
    if k == 1:
        break
    for j in range(5000):
        c = m[12:16] + struct.pack('>i', i) + struct.pack('>i', j) + m[24:29]
        crc = binascii.crc32(c) & 0xffffffff
        if crc == 0x370c8f0b:
            k = 1
            print(hex(i), hex(j))
            break

出宽高值

WinHex 修改后保存

拿到 flag

四、[HBNIS2018] caesar(凯撒密码枚举)

点击链接下载文件

打开文件内容如下

根据题目凯撒应该是凯撒密码加密了,直接枚举拿到 flag

五、[HBNIS2018] 低个头(键盘解密)

点击链接下载文件

文件内容如下

emmm……这题太抽象了,网上看是键盘上的字母连在一起就是 CTF(果真低头)

所以 flag 就是:flag{CTF}

六、[SWPU2019] 伟大的侦探(IBM EBCDIC 编码 & 跳舞的小人解码)

点击链接下载文件

解压缩文件需要密码,有个 密码.txt 文件内容如下

可以看出编码方式不对,在 WinHex 中换成 IBM EBCDIC 编码

密码为:wllm_is_the_best_team!

解压出来后看到一堆小人图片

网上查了查说是跳舞的小人密码——来自《福尔摩斯:跳舞的小人》 (刚好与题目对应)

解密得到 iloveholmesandwllm

七、黑客帝国(十六进制转文件 & Archpr 爆破 & WinHex 修改)

点击链接下载文件

打开文件,有经验的话能看出这是 RAR 头文件

编写 Python 代码将十六进制数写成 RAR 文件

import binascii
 
hex_data='这里填十六进制数据'
out=open('res.rar','wb')
out.write(binascii.unhexlify(hex_data))
out.close()

解压缩发现需要密码

使用 Archpr 爆破得到密码

最后修改文件头部拿到 flag

八、[SUCTF2018] single dog

点击链接下载文件

打开后是一张图片,使用 Binwalk 分析发现有隐藏文件

打开压缩包发现密文

aaencode 解码即可

相关文章
|
4月前
|
安全 Java Linux
攻防世界:Misc 解析(一)
攻防世界:Misc 解析(一)
|
6月前
|
安全 网络安全 数据安全/隐私保护
BUUCTF:Crypto 解析(三)
BUUCTF:Crypto 解析(三)
|
6月前
|
安全 网络安全 数据安全/隐私保护
BUUCTF:Misc 解析(十)
BUUCTF:Misc 解析(十)
|
6月前
|
SQL 安全 网络协议
BUUCTF:Misc 解析(九)
BUUCTF:Misc 解析(九)
|
6月前
|
安全 Linux 网络安全
BUUCTF:Misc 解析(七)
BUUCTF:Misc 解析(七)
|
5天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
18 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
67 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
52 0
|
1月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
60 0
|
1月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
80 0

推荐镜像

更多