文章目录
前言:misc浅浅ak了一下,misc2一血misc3二血,最高冲上了第5,不过后来还是嘎嘎掉到第9,crypto和pwn一道没出真的太菜了(
希望周末决赛能好好加油!
misc
misc1-好怪哦
拖到010观察得到是逆置的zip压缩包,简单写个脚本倒一下
withopen('fuck.zip','rb')as f:
hex_list =("{:02X}".format(int(c))for c in f.read())# 定义变量接受文件内容
buflist =list(hex_list)# 用列表保存信息,方便后续操作
list1=buflist[::-1]
flag=''for i in list1:
flag+=i
print(flag)
解开后得到一个缺少文件头的png,补上png文件头
提示CRC校验错误,修改宽高后得到flag
misc2-神奇的棋盘
打开得到一副
adfgvx
加密棋盘
观察txt数据只有1-5,猜测是数字字母坐标转换,用notepad批量操作一下
得到
AGAXXDAGGVGGVDVADAVXDGADVGDVAADDDDFXAFAFDGDVXXDGGDGGDXDDFDDXVGXADGVDFXVVAADDXDXXADDVGGGXGXXXXGXXGGXGDVVVGGGAGAAAAGAAGGAGDDDAGAGGGAGGAGAGAAAVAAAXGXGGGXGGXGXGXXXV
直接解
adfgev
发现出不来
后发现棋盘存在
lsb
隐写
是
base32
得到一串key:Yusayyds
这里卡了很久,因为断网没有办法找网站解带key的
adfgvx
但队友很给力,在
CaptfEncoder
里找到带key的
adfgvx
解密,直接解得到flag
misc3-segmentFlow
观察压缩包数据,前7个小文件只有4字节,尝试使用
crc
爆破文件内容
import string
import binascii
defCrack_4B(crc_list):print('-------------Start Crack CRC 4B-------------')#crc_list = [0xc0a3a573, 0x3cb6ab1c, 0x85bb0ad4, 0xf4fde00b]#文件的CRC32值列表,注意顺序
comment =''
chars = string.printable
flag =0for crc_value in crc_list:for char1 in chars:for char2 in chars:for char3 in chars:for char4 in chars:
res_char = char1 + char2 + char3 + char4#获取遍历的任意4Byte字符
char_crc = binascii.crc32(res_char.encode())#获取遍历字符的CRC32值
calc_crc = char_crc &0xffffffff#将遍历的字符的CRC32值与0xffffffff进行与运算if calc_crc == crc_value:#将获取字符的CRC32值与每个文件的CRC32值进行匹配print('[+] {}: {}'.format(hex(crc_value),res_char))
comment += res_char
flag =1breakif flag ==1:breakif flag ==1:breakif flag ==1:break
flag =0print('-----------CRC Crack Completed-----------')print('Result: {}'.format(comment))
crc_list =[0xce70d424,0xc3f17511,0xf90c8a70,0xf8ab2771,0xc0ce8ee6,0xb2a6cde9,0x8637fa85,0x62f8f1a9]
Crack_4B(crc_list)
得到压缩包密码:gZinflAte_BasE64
解开后观察流量包数据,发现有大量的base64字段,再根据压缩包密码猜测肯定是有用的,直接tshark拉出来全部数据
tshark -r segmentFlow.pcapng -T fields -e urlencoded-form.value | sed '/^\s*$/d' > 1.txt
发现数据之间用逗号隔开,将其全部替换为换行
发现大量的散落的zip数据,手动全部提取出来,解开得到flag
web
web1
真·签到题,呆瓜了一直没搞出来,结束前一分钟搞出来了,来不及补wp了(
后来想复现平台关了,所以没法贴图,简单描述一下吧
御剑扫出robots,一路跟进进去,最后一个页面f12获得hint,根据描述直接get传参即可
web2-nisc_学校门户网站
浏览题目,看到默认密码的规则
发现有注册界面,尝试注册,输入默认密码作为自己的密码
注册成功后登录网站,直接获得flag
web3-吃豆人
查看题目,是一个网页小游戏,用开发者工具打开查看js实例。
看到连接
index.js
,点击进入分析
index.js最后看到一串base64的字符,尝试解密,获得flag。
DASCTF{f235b02382a223fda4ce2ec62148d94c}
re
re1-ManyCheck
首先尝试脱壳,发现没有壳
运行程序,查看程序功能和显示的字符串
使用ida反编译查找对应字符串
跳转到对应的位置,查看程序逻辑
发现需要让第一个输入的字符等于77,然后再算出后面两个算术题。
成功进入第三关,程序是右移,我们需要左移获得flag
d =1718896489
bin_d ='0'+str(bin(d)[2:])
temp = bin_d[16:]+bin_d[:16]print(int(temp,2))#1198089844
输入答案获得flag
DASCTF{M71_Gift_08L}
个人拙见,各位师傅如果有好的解法可以交流一下
有需要题目备份的可以dd
版权归原作者 是toto 所有, 如有侵权,请联系我们删除。