程序与技术分享:2021年第一届“东软杯”网络安全CTF竞赛

简介: 程序与技术分享:2021年第一届“东软杯”网络安全CTF竞赛

MISC1 签到


难度 签到


复制给出的flag输入即可


2 range_download


难度 中等


flag{6095B134-5437-4B21-BE52-EDC46A276297}


0x01


分析dns流量,发现dns && ip.addr=1.1.1.1存在dns隧道数据,整理后得到base64:


cGFzc3dvcmQ6IG5zc195eWRzIQ==


解base64得到:


password: //代码效果参考:http://www.jhylw.com.cn/362632329.html

nss_yyds!

0x02


分析http流量,发现ip.addr==172.21.249.233存在http分段下载数据,每次按照请求头range要求只下载一个字节。由于是random下载,所以需要按顺序整理,整理后可以得到一个加密的压缩包。


在整理过程中会发现缺失2349位字节,需要尝试对其进行修复。


由于0x01中,我们得到了zip的密码,所以可以对该字节进行爆破,如果密码正确,则修复成功。


0x03


解开压缩包得到二维码,


扫描后得到:


5133687161454e534e6b394d4d325a7854475233566e6870626a42554e6a5a4a5645466c4e47786a62324e464d47705557464635546d6c536148565165564659645563774e327073515863324f5846555247314555564134555570706344686957444d336544684c596c4255556e6333636e687165486c756446413351577470566e4242526b6c4a5457316c515452754d555661636e4a7859556430566c4d3559557844656a4a35626c68334d6d5a4c51513d3d


ciphey分析得到flag:


ciphey "5133687161454e534e6b394d4d325a7854475233566e6870626a42554e6a5a4a5645466c4e47786a62324e464d47705557464635546d6c536148565165564659645563774e327073515863324f5846555247314555564134555570706344686957444d336544684c596c4255556e6333636e687165486c756446413351577470566e4242526b6c4a5457316c515452754d555661636e4a7859556430566c4d3559557844656a4a35626c68334d6d5a4c51513d3d" Possible plaintext: '5133687161454e534e6b394d4d325a7854475233566e6870626a42554e6a5a4a5645466c4e47786 a62324e464d47705557464635546d6c536148565165564659645563774e327073515863324f5846555247314555564134555 570706344686957444d336544684c596c4255556e6333636e687165486c756446413351577470566e4242526b6c4a5457316 c515452754d555661636e4a7859556430566c4d3559557844656a4a35626c68334d6d5a4c51513d3d' (y/N): Possible plaintext: '5133687161454v534v6y394w4w325z7854475233566v6870626z42554v6z5z4z5645466x4v47786 z62324v464w47705557464635546w6x536148565165564659645563774v327073515863324u5846555247314555564134555 570706344686957444w336544684x596x4255556v6333636v687165486x756446413351577470566v4242526y6x4z5457316 x515452754w555661636v4z7859556430566x4w3559557844656z4z35626x68334w6w5z4x51513w3w' (y/N): Possible plaintext: 'w3w31515x4z5w6w43386x62653z4z6564487559553w4x6650346559587z4v636166555w45725451 5x6137545z4x6y6252424v665074775153314644657x684561786v6363336v6555524x695x486445633w4447596864436070 755554314655554137425556485u423368515370723v477365546956465561565841635x6w64553646475550774w464v4232 6z68774v4x6645465z4z5z6v45524z6260786v6653325744587z523w4w493y6v435v4541617863315' (y/N): Possible plaintext: 'd3d31515c4a5d6d43386c62653a4a6564487559553d4c6650346559587a4e636166555d45725451 5c6137545a4c6b6252424e665074775153314644657c684561786e6363336e6555524c695c486445633d4447596864436070 755554314655554137425556485f423368515370723e477365546956465561565841635c6d64553646475550774d464e4232 6a68774e4c6645465a4a5a6e45524a6260786e6653325744587a523d4d493b6e435e4541617863315' (y/N): Possible plaintext: 'flag{6095B134-5437-4B21-BE52-EDC46A276297}' (y/N): y ╭────────────────────────────────────────────────────────────────╮


│ The plaintext is a Capture The Flag (CTF) Flag │


│ Formats used: │


│ hexadecimal │


│ base64 │


│ utf8 │


│ base62 │


│ base58_bitcoin │


│ base32 │


│ utf8Plaintext: "flag{6095B134-5437-4B21-BE52-EDC46A276297}" │ ╰────────────────────────────────────────────────────────────────╯0x04


题目流量生成脚本:


import os


import time


import requests


import random


for i in "cG Fz c3 dv cm Q6 IG 5z c1 95 eW Rz IQ ==".split(" "):


os.system("nslookup " + i+".nss.neusoft.edu.cn 1.1.1.1")


time.sleep(5)


l = int(requests.head("", stream=True).headers【"Content-Length"】)


a = set()


while len(a) != l:


b = random.randint(0, l)


r = requests.get("", stream=True, headers={"Range": "bytes=" + str(b) + "-" + str(b)})


if r.status_code == 416:


print(b)


a.add(b)


print(len(a))


3 只是个PNG,别想太多了.png


难度 签到


flag:flag{zhe_ti_mu_ye_tai_bt_le_XD}


本题考察的是对PNG结构以及常见工具的使用。


题目只是在IDAT数据当中存储了多余的zlib数据流,通过binwalk可以直接进行解压缩。


binwalk -Me PNG.png


4 png被打得很惨,现在卷土从来


难度 难


flag:


flag{zheshirenchude}


本题考察的是对PNG结构以及常见出题点的了解程度


打开题目是PNG图片,binwalk无异常


010editor打开发现crc异常,结构暂时没啥问题。


tweakpng打开发现,IHDR,IDAT,IEND数据块的CRC值均不对。


之后用StegSolve查看,发现图片有隐藏的框。框选出了IDAT data,说明IDAT数据应该有特殊之处需要查看。


图片本身的信息就这么多,从PNG结构来一点点看,首先IHDR区块CRC有问题,一般说明是图片高度被修改,通过CRC反计算脚本(或者直接修改高度值盲试)发现图片下面有隐藏图像。stegSolve查看,发现有隐藏图案


三个框分别圈出了png图片的一些数据结构,第二个框显示png图像数据使用zlib方式压缩。框选此处说明需要注意zlib压缩数据。


第三个框是具体压缩块数据结构。此图片内容为libpng官网文档截图,但是实际访问官网,可发现标注的压缩块结构标注并不符合。


数字被故意修改过,所以可知2233这串数字应该为题目的某个key或者hint。


之后所有的IDAT数据块CRC值均不正确。将所有CRC值拷贝下来。hex解码。发现是hint


hintis【IEND_and_11】_jiayou_XD.


根据hint查看IEND,正常IEND数据应为空,仅作为文件结束标志。但是现在却有数据。


提取数据,发现前四位为9C 78,而zlib数据头为78 9C。修改前四位进行解压。发现是base64,之后进行解码。最后得出flag第一段


flag{zheshi


得到第一段之后,hint里面的11,还没有解决。通过查看发现chunk 11,是最后一个IDAT数据块。根据之前还有一个hint 2233,全数据块搜索2233。发现数据块末尾含有2233,仅此一个


根据前一段flag,猜测此处也是zlib压缩,将从2233开头到CRC值之前的32个HEX值复制,修改2233为zlib数据头78 9C


发现解码完数据为一种编码,根据前一段flag来猜测,此处应该是其他base家族类的编码。通过basecrack或者在线base解码,可得知此为base91,解码为renchude}


后一段flag为:renchude}


合并两段,得到最终flag


flag{zheshirenchude}


5 在哪呢


难度 简单


查看PDF


在文字中发现多处颜色越来越淡的提示


想到flag可能被以白色隐藏到文字中,全选文字


发现倒数第二段段尾有一段空白字


复制出来或编辑为其它颜色


得到flag


flag{hey_there_is_no_thing}


6 ecryptedzip


难度:难


本题考察的是对明文攻击的实战应用 在实际环境中不会主动提供明文文件用于明文攻击 需要自己寻找明文文件或部分明文进行攻击


压缩包内含有两个文件LICENSE和README.md


LICENSE为开源证书文件


将常?开源协议全下载下来 对比大小


发现Apache 2.0大小极为相近


使用github 内置的LICENSE文件可以成功解密


还有一种简单的方法 开源许可证很多都是空格开头 可以直接使用多个重复空格作为明文


7 easysteg


难度 简单


可以看到一个缺少定位符的二维码,补全后拿到提示:一种常见的隐写


分离图片拿到压缩包


解压后配合观察图片名称格式,使用stegpy拿到flag


flag{Do_U_Kn0w_Ste9py}


<h3 id="toc-8" style="font-family: "Monospaced Number", "Chinese Quote", -apple-sy

相关文章
|
3天前
|
机器学习/深度学习 存储 自然语言处理
程序与技术分享:DeepMemoryNetwork深度记忆网络
程序与技术分享:DeepMemoryNetwork深度记忆网络
|
2天前
程序技术好文:计算机网络(九)——STP原理
程序技术好文:计算机网络(九)——STP原理
|
3天前
|
机器学习/深度学习 网络协议 C语言
程序技术好文:网络编程中的SIGPIPE信号
程序技术好文:网络编程中的SIGPIPE信号
|
2月前
|
存储 人工智能 应用服务中间件
Web应用是一种通过互联网浏览器和网络技术在互联网上执行任务的计算机程序
【5月更文挑战第30天】Web应用是一种通过互联网浏览器和网络技术在互联网上执行任务的计算机程序
32 2
|
25天前
|
安全 网络安全 数据安全/隐私保护
CTF竞赛:一场网络安全技术的盛宴
CTF竞赛:一场网络安全技术的盛宴
29 0
|
2月前
|
网络协议 测试技术
LabVIEW开发TCP网络通讯程序2
LabVIEW开发TCP网络通讯程序2
18 2
|
2月前
|
XML JSON 网络协议
LabVIEW开发TCP网络通讯程序3
LabVIEW开发TCP网络通讯程序3
23 1
|
2月前
|
网络协议
LabVIEW开发TCP网络通讯程序1
LabVIEW开发TCP网络通讯程序1
27 1
|
2月前
“无任何网络提供程序接受指定的网络路径”问题的几个解决方法
“无任何网络提供程序接受指定的网络路径”问题的几个解决方法
21 1
|
2月前
|
网络协议 Python
在python中利用TCP协议编写简单网络通信程序,要求服务器端和客户端进行信息互传。 - 蓝易云
在这个示例中,服务器端创建一个socket并监听本地的12345端口。当客户端连接后,服务器发送一条欢迎消息,然后关闭连接。客户端创建一个socket,连接到服务器,接收消息,然后关闭连接。
80 0