BUUCTF Misc

二维码

附件下载下来是一张二维码,用010editor打开,发现有一个4number.txt

于是用binwalk扫描,发现图片里隐藏了一个zip

用dd命令,把zip提取出来

1
dd if=QR_code.png of=flag.zip skip=471 bs=1

提取出来得zip还要密码,用ARCHPR扫描,扫到密码为7639

打开zip,就拿到flag了

flag{vjpw_wnoei}


N种方法解决

附件下载下来是一个 KEY.exe,运行不了,用010editor打开,发现是一个文本文件

上面写着是jpg和base64,后面跟着的是一个base64,base64可以加密图片

在这个网站 https://tool.jisuapi.com/base642pic.html 把base64转成图片,扫描拿到flag了

flag{dca57f966e4e4e31fd5b15417da63269}


你竟然赶我走

用010editor打开,文件末尾可以找到flag

flag{stego_is_s0_bor1ing}


大白

图片下载下来显示是不完整的

一样用010editor打开,找到这个地方

修改成

这个数值是决定图片的高度的,修改完后,拿到flag


LSB

附件下载下来是一张图片,用010editor打开,并没有发现什么有用的,然后用binwalk扫描,发现藏了一个zlib压缩文件,然后用dd命令提取出来

提取出来的zlib用python解密,试了很久都不行???于是换一种方法

把图片用Stegsolve打开,发现Red plane 0,Green plane 0,Blue plane 0顶上都有东西,用Data Extract把这三个图层提取出来并预览,发现是一个png,Save Bin,保存为flag.png

扫描就拿到flag了

flag{1sb_i4_s0_Ea4y}


文件中的秘密

看Exif


wireshark

黑客通过wireshark抓到管理员登陆网站的一段流量包(管理员的密码即是答案) 注意:得到的 flag 请包上 flag{} 提交

附件是一个pcap文件,用wireshark打开,题目说是登录网站,所以是POST请求,用命令把POST请求过滤出来

1
http.request.method==POST

拿到flag


zip伪加密

附件下载下来时一个加密的zip文件,题目说是伪加密,用010editor打开

将加密位的09 00 改成00 00 保存,zip就没有密码了,拿到flag

flag{Adm1N-B2G-kU-SZIP}


镜子里面的世界

附件下载下来是一张图片

用binwalk和010editor都没有发现什么东西,用StegSolve打开,发现red 0,green 0,blue 0都是一片黑色,肯定有东西,用Data Extract把这三个提取出来,看到是一段文本,拿到flag


爱因斯坦

附件是一张图片,用binwalk看,里面藏了一个zip,提取出来

提取出来的zip是被加密的,放到ARCHPR里面解密,短时间解密不出来,用010editor改加密位也不行

回去看图片的Exif,藏了zip的密码…

打开zip得到flag


FLAG

下载下来一张图片

用binwalk扫描,发现一个Zlib,这时就不要把zlib提取出来了,用StegSolve打开,套路:把Red 0,Green 0,Blue 0提取出来,发现是一个zip,保存bin为flag.zip

打开zip,是一个文件名为1的文件,用010editor打开,发现是ELF,用strings命令,拿到flag


神秘龙卷风

下载下来的zip用ARCHPR解密后,拿到里面的文本

不知道是什么东西来的,查百度,原来是brainfuck…直接解码 https://www.splitbrain.org/services/ook


九连环

下载下来是一张图片,用binwalk扫描,发现藏了两个zip,提取出来

提取出来的zip需要密码,用ARCHPR解密,发现是伪加密,用010editor打开,修改加密位(我也不知道为什么有那么多加密位而且为什么是改这个加密位)

修改之后,把zip解压,得到一个图片,一个zip,zip用ARCHPR解密,是真加密,但是破解很久都没破解出来,另外想办法找密码

看了wp后,知道了有steghide这个工具,用steghide解密图片,得到一个ko.txt,里面是zip的密码,把zip解压得到flag

看到这个图片就是压缩包的密码:
bV1g6t5wZDJif^J7

flag{1RTo8w@&4nK@z*XL}

有难度的一道题


面具下的flag

下载下来一张图片,用binwalk扫描,藏了一个zip文件,提取出来

解压出来的zip里面有一个vmdk文件,是VMware虚拟机的磁盘文件,解压出来,用7zip打开并解压,得到两个文件夹

key_part_one文件夹里的NUL文件,用010editor打开,是熟悉的brainfuck代码

+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->– -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.< +++++ +[->- —– <]>– —– –.<+ +++[- >—-
<]>– —– .<+++ [->++ +<]>+ +++++ .<+++ +[->- —<] >-.<+ +++++ [->++
++++< ]>+++ +++.< +++++ [->– —<] >—- -.+++ .<+++ [->– -<]>- —– .<

https://www.splitbrain.org/services/ook 在这个网站解码,得到flag前半部分:flag{N7F5_AD5

key_part_two文件夹里说后半部分不在里面,重新回到zip分析,不使用windows的7z解压,用linux的7z解压

key_part_two文件夹得到一个where_is_flag_part_two.txtflag_part_two_is_here.txt

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook?
Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook!
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook.
Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook?
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook.
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook!
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook?
Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook. Ook?
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook.
Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook!
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook!
Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook.

这是ook编码,用上面的网站解码,得到下一部分_i5_funny!}

flag{N7F5_AD5_i5_funny!}

key_part_one里的NUL文件在windows不能正常删除,用linux打开文件所在目录,运行

1
rm NUL

即可删除


刷新过的图片

下载下来一张图片,binwalk,010editor,StegSolve都找不到东西,找了找wp,知道了F5-steganography这个工具

1
git clone https://github.com/matthewgao/F5-steganography

用F5-steganography把图片里的数据提取出来

打开output.txt,PK开头发现是一个zip,该文件后缀为zip,拿到flag

flag{96efd0a2037d06f34199e921079778ee}


snake

下载下来是一张图片,binwalk扫描,扫到一个zip,提取出来

提取出来的zip不用密码,解压,得到两个文件

打开key文件,是一段base64,解码,得到一段文字,得知Nicki Minaj有一首歌叫Anaconda

What is Nicki Minaj’s favorite song that refers to snakes?

看了wp,知道蛇的另一个英文单词是serpent,同时还有一种加密算法叫做serpent… http://serpent.online-domain-tools.com/ 在这个网站对cipher文件解密,密钥就是anaconda,得到flag


梅花香之苦寒来

下载下来一张图片,binwalk扫描,没有藏东西,用010打开,发现末尾有一大串的16进制数据,复制出来

把数据转换成ascii

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
hex = open('./hex.txt').read()
ascii = open('./ascii.txt', "w")
tem = ''
for i in range(0, len(hex), 2):
tem = '0x'+hex[i]+hex[i+1]
tem = int(tem, base=16)
if chr(tem) == '(' or chr(tem) == ')':
continue
print(chr(tem), end='', file=ascii)
#转换后发现是一大堆的坐标,为了让数据可以让gnuplot识别,把括号去掉了,转换后的数据:
# 7, 7
# 7, 8
# 7, 9
# 7, 10
# 7, 11
# 7, 12
# 7, 13
# 7, 14
# 7, 15
# 7, 16
# 7, 17
# 7, 18
# 7, 19
# 7, 20
# 7, 21
# 7, 22
# 7, 23
# ......

用gnuplot把数据转换成图片

1
2
3
4
5
6
import matplotlib.pyplot as plt
import numpy as np

x, y = np.loadtxt('./ascii.txt', delimiter=',', unpack=True)
plt.plot(x, y, '.')
plt.show()

运行,得到一个二维码,扫描后拿到flag


被偷走的文件

用foremost把文件提取出来,是一个zip,用ARCHPR,解密,拿到flag


[GXYCTF2019]佛系青年

下载下来一个zip,需要密码,放到ARCHPR里解密,发现是伪加密,用010editor修改加密位

修改之后解压出来,有一个图片,一个txt,txt里有东西很可疑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
                      _ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
. ' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
.............................................
佛祖保佑 永无BUG
写字楼里写字间,写字间里程序员;
程序人员写程序,又拿程序换酒钱。
酒醒只在网上坐,酒醉还来网下眠;
酒醉酒醒日复日,网上网下年复年。
但愿老死电脑间,不愿鞠躬老板前;
奔驰宝马贵者趣,公交自行程序员。
别人笑我忒疯癫,我笑自己命太贱;
不见满街漂亮妹,哪个归得程序员?
佛曰:遮等諳勝能礙皤藐哆娑梵迦侄羅哆迦梵者梵楞蘇涅侄室實真缽朋能。奢怛俱道怯都諳怖梵尼怯一罰心缽謹缽薩苦奢夢怯帝梵遠朋陀諳陀穆諳所呐知涅侄以薩怯想夷奢醯數羅怯諸

最后那一段东西百度一下,是与佛论禅加密,奇怪的加密方法又增加了, https://www.keyfc.net/bbs/tools/tudoucode.aspx ,解密后就拿到flag了


[SWPU2019]神奇的二维码

下载下来一张图片

用binwalk扫不出东西,用010editor打开,可以看见里面藏了4个Rar,但是不知道为什么binwalk扫不出来?没办法,只能手动把四个rar提取出来了

拿到4个rar后,第一个rar里有一个txt,是一串base64,解密,得到asdfghjkl1234567890

打开第二个rar,需要密码,尝试asdfghjkl1234567890,密码正确,拿到里面的东西,是一个表情,好像并没有用

打开第三个rar,一个文档,里面是一大串base64,解密后还是一个base64,再次解密,还是base64,那就直接用脚本解密

1
2
3
4
5
6
7
8
9
import base64
f = open('flag.txt').read()

while True:
try:
f = base64.b64decode(f).decode()
except:
print(f)
break

拿到comEON_YOuAreSOSoS0great

打开第四个rar,需要密码,尝试comEON_YOuAreSOSoS0great,密码对了,里面是一个mp3,一听就知道莫尔斯电码,看它的频谱图

解密,拿到MORSEISVERYVERYEASY,转成小写就是flag了


[BJDCTF2020]一叶障目

附件也是张图片,binwalk,010editor,StegSolve都找不到什么有用的信息,然后改一下图片的高度,类似上面的大白那一题,修改一个数据,就拿到flag了


[BJDCTF2020]纳尼

水题吧

附件里的gif没有文件头,给它加上文件头GIF89

然后gif帧提取

拼起来是一个base64,解码,拿到flag

flag{wang_bao_qiang_is_sad}


[ACTF新生赛2020]outguess

附件是一个tar,把它解压

1
tar -xvf ./attachment.tar -C .

拿到一个zip,解压出来一个图片,一个txt,txt和题目名称都提示是outguess

查看图片的Exif

公正民主公正文明公正和谐这是核心价值观编码,奇怪的编码方式又又增加了 http://ctf.ssleye.com/cvencode.html 这里解码,得到abc,然后就用outguess解码就好啦

flag{gue33_Gu3Ss!2020}


谁赢了比赛?

下载下来一张棋盘,binwalk扫描一下,藏了一个rar,提取出来

rar需要密码,放到ARCHPR里面,拿到密码1020,解压出来,一个txt,一个gif,txt没啥用

gif帧提取,发现有一帧是这样的

把这一帧提取出来,binwalk,010editor也找不出什么东西,放到StegSolve里面,Red plane 0有一个二维码

扫描拿到flag


gakki

附件是一个新垣结衣,binwalk一下,里面藏了一个rar,提取出来,rar需要密码,丢到ARCHPR里面,拿到密码8864

里面的flag.txt是一大堆乱码

查了wp之后,才知道原来要统计字符数

1
2
3
4
5
6
7
8
9
10
11
12
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)

前面这几个最多的就是flag


Mysterious

附件是一个exe,打开,提示输入密码,输了很多次都不行,用IDA32打开,查找字符串,找到个很像flag的字符串,跟进一下

查看伪代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
int __stdcall sub_401090(HWND hWnd, int a2, int a3, int a4)
{
int v4; // eax
char Source[260]; // [esp+50h] [ebp-310h] BYREF
CHAR Text[5]; // [esp+154h] [ebp-20Ch] BYREF
char v8[252]; // [esp+159h] [ebp-207h] BYREF
__int16 v9; // [esp+255h] [ebp-10Bh]
char v10; // [esp+257h] [ebp-109h]
int Value; // [esp+258h] [ebp-108h]
CHAR String[260]; // [esp+25Ch] [ebp-104h] BYREF

memset(String, 0, sizeof(String));
Value = 0;
if ( a2 == 16 )
{
DestroyWindow(hWnd);
PostQuitMessage(0);
}
else if ( a2 == 273 )
{
if ( a3 == 1000 )
{
GetDlgItemTextA(hWnd, 1002, String, 260);
strlen(String);
if ( strlen(String) > 6 )
ExitProcess(0);
v4 = atoi(String);
Value = v4 + 1;value等于v4+1也就是123
if ( v4 == 122 && String[3] == 120 && String[5] == 122 && String[4] == 121 )//这里可以看出输入的密码是122xyz
{
strcpy(Text, "flag"); // flag
memset(v8, 0, sizeof(v8));
v9 = 0;
v10 = 0;
_itoa(Value, Source, 10); // itoa函数把int类型转换成字符串类型,这时Source=123
strcat(Text, "{");
strcat(Text, Source);
strcat(Text, "_");
strcat(Text, "Buff3r_0v3rf|0w");
strcat(Text, "}");//flag{123_Buff3r_0v3rf|0w}
MessageBoxA(0, Text, "well done", 0);
}
SetTimer(hWnd, 1u, 0x3E8u, TimerFunc);
}
if ( a3 == 1001 )
KillTimer(hWnd, 1u);c
}
return 0;
}

拿到flag{123_Buff3r_0v3rf|0w},这道题有点像Reverse


[SWPU2019]伟大的侦探

EBCDIC编码来的,还有福尔摩斯跳舞的小人密码


黑客帝国

附件是一大串十六进制数据,转成ASCII,开头是Rar,新建一个winhex项目,把十六进制数据复制进去,拿到一个Rar

需要密码,用ARCHPR解密,密码是3690

解压下来一张图片,打不开,用010打开,文件头写有JFIF,但是加上了PNG的文件头

改回JFIF的文件头FF D8

图片打开后就拿到flag了


[MRCTF2020]你能看懂音符吗

下载下来的Rar打不开,修改文件头后,解压出来的doc里面有隐藏的字符:

♭♯♪‖¶♬♭♭♪♭‖‖♭♭♬‖♫♪‖♩♬‖♬♬♭♭♫‖♩♫‖♬♪♭♭♭‖¶∮‖‖‖‖♩♬‖♬♪‖♩♫♭♭♭♭♭§‖♩♩♭♭♫♭♭♭‖♬♭‖¶§♭♭♯‖♫∮‖♬¶‖¶∮‖♬♫‖♫♬‖♫♫§=

这个是音符加密 https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue 解密就拿到flag了


[HBNIS2018]低个头

题目:低个头

描述:EWAZX RTY TGB IJN IO KL 请破解该密文

flag格式:XXX 明文

提交:直接提交明文(大写)

键盘密码……在键盘上按描述的轨迹就是密码,按照描述的顺序按键盘,是”CTF”

flag{CTF}


john-in-the-middle

用Wireshark打开附件,很多都是HTTP协议的,直接跟踪流找不到什么有用的信息

这时用Wireshark或者foremost把里面的文件提取出来

用StegSolve看scanline这张图片,发现很多层都有一条白线

logo.png在图片的中间刚刚好也多了一条白线

用StegSolve的Image Combiner打开两张图片比较,在sub图层可以看到flag


[ACTF新生赛2020]NTFS数据流

这里注意有NTFS数据流的文件,一定要用Winrar来解压,不能用7z,解压完用NtfsStreamEditor扫描就可以了


我吃三明治

附件用010Editor打开,发现结尾还有一张图片,两张图片之间有一段base32,解密就是flag了


[SUCTF2018]single dog

附件binwalk扫描一下,有一个zip,提取出来,解压后,有一个txt和zip,里面是一段AAEncode,解密

AAEncode:゚ω゚ノ= /`m´)ノ ~┻━┻ //´∇`/ [‘‘]; o=(゚ー゚) ==3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^^o)/ (o^_^o);(゚Д゚)={゚Θ゚: ‘‘ ,゚ω゚ノ : ((゚ω゚ノ==3) +’‘) [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ ‘‘)[o^^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +’‘)[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +’‘) [c^_^o];(゚Д゚) [‘c’] = ((゚Д゚)+’‘) [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) [‘o’] = ((゚Д゚)+’‘) [゚Θ゚];(゚o゚)=(゚Д゚) [‘c’]+(゚Д゚) [‘o’]+(゚ω゚ノ +’‘)[゚Θ゚]+ ((゚ω゚ノ==3) +’‘) [゚ー゚] + ((゚Д゚) +’‘) [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +’‘) [゚Θ゚]+((゚ー゚==3) +’‘) [(゚ー゚) - (゚Θ゚)]+(゚Д゚) [‘c’]+((゚Д゚)+’‘) [(゚ー゚)+(゚ー゚)]+ (゚Д゚) [‘o’]+((゚ー゚==3) +’‘) [゚Θ゚];(゚Д゚) [‘‘] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +’‘) [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+’‘) [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +’‘) [o^^o -゚Θ゚]+((゚ー゚==3) +’‘) [゚Θ゚]+ (゚ω゚ノ +’‘) [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]=’\‘; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +’‘)[c^^o];(゚Д゚) [゚o゚]=’"‘;(゚Д゚) [‘‘] ( (゚Д゚) [‘‘] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (c^_^o)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (c^_^o)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ ((゚ー゚) + (゚Θ゚))+ (o^_^o)+ (゚Д゚) [‘c’]+ (゚Д゚) [‘c’]+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ ((゚ー゚) + (゚Θ゚))+ (o^_^o)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (゚ー゚)+ (゚Д゚) .゚Д゚ノ+ (c^_^o)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚) [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+ (゚Д゚) .゚Θ゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (゚ー゚)+ (゚Д゚) .゚Д゚ノ+ ((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚o゚]) (゚Θ゚)) (‘‘);

解密后:

1
2
3
4
5
6
>function a()
>{
>var a="SUCTF{happy double eleven}";
>alert("双十一快乐");
>}
>a();

拿到flag


间谍启示录

下载下来的iso解压下来很多东西,但是都找不到有用的信息,查了wp后,才知道是要用foremost😅

foremost提取隐藏文件,有一个rar,解压出来

里面的flag.exe打开没有反应,用IDA反编译一下,查找字符串,直接就找到flag,点进去看一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int __cdecl main_0(int argc, const char **argv, const char **envp)
{
int v5; // [esp+58h] [ebp-8h]
FILE *Stream; // [esp+5Ch] [ebp-4h]

Stream = fopen("机密文件.txt", "w+");
v5 = 32;
fputs("Flag{", Stream);
while ( v5-- )
fputc(a0218f39e353898[v5] + 1, Stream); // 字符串的每一位ascii+1
fputs("}", Stream);
fclose(Stream);
return system("attrib +h 机密文件.txt");
}

看看a0218f39e353898存的是什么

拿到了数据,写脚本就好了

1
2
3
4
5
6
7
s = "0218f39e3538980e6dec6f9746a69862"
v5 = 31
flag = ""
while(v5 >= 0):
flag += chr(ord(s[v5])+1)
v5 = v5-1
print(flag)

拿到flag: flag{379:7b758:g7dfe7f19:9464f:4g9231}


[ACTF新生赛2020]swp

附件解压,拿到一个pcapng文件,用Wireshark打开,把HTTP流的文件导出来,可以看到一个flag.zip,解压出来一个flag文件,用file命令看它是什么文件,可以看到是ELF,再用strings命令解析文件里的字符串,就可以拿到flag了


[WUSTCTF2020]alison_likes_jojo

附件解压得到两个图片,分别用binwalk扫描,发现boki.jpg藏了一个zip,需要密码,用ARCHPR解密,得到密码888866,解压出来得到一段base64:WVRKc2MySkhWbmxqV0Zac1dsYzBQUT09,连续三次base64解密,得到一段killerqueen

可以猜到另一个图片是outguess隐写,用outguess

得到flag{pretty_girl_alison_likes_jojo}


[DDCTF2018](╯°□°)╯︵ ┻━┻

附件是一个txt

(╯°□°)╯︵ ┻━┻
50pt

(╯°□°)╯︵ ┻━┻

d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd

下面那一段东西很明显是16进制,转成10进制

转成10进制后,这些数字都大于128,都不是可打印字符,写脚本把每一个数字都减去128

1
2
3
4
5
6
7
s = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd"
index = 0
flag = ""
for i in range(67):
    flag += chr(int(s[index:index+2], 16)-128)
    index = index+2
print(flag)

得到flag


[WUSTCTF2020]爬

附件解压出来不知道是什么类型,binwalk扫描一下,出来很多东西,都是zlib文件,打不开,再用file命令看看是扫描文件

得到是pdf文件,改文件后缀为pdf,用Acrobat Pro打开,可以看到一张图片和一个提示

用Acrobat修改pdf的功能把图片删掉,可以得到一串16进制

‘0x77637466323032307b746831735f31735f405f7864665f616e645f7930755f63616e5f7573655f70686f7430736830707d’

转成10进制,得到flag,flag提示说可以用Photoshop打开pdf,确实用Photoshop打开pdf后就可以看到pdf里的全部图片了


[MRCTF2020]千层套路

附件解压出来是一个zip,用ARCHPR解密,发现密码和文件名一样,解压出来一个zip,密码还是和和文件名一样,题目名叫千层套路,于是用脚本解密

1
2
3
4
5
6
7
import zipfile
name = '0573'
while True:
fz = zipfile.ZipFile(name + '.zip', 'r')
fz.extractall(pwd=bytes(name, 'utf-8'))
name = fz.filelist[0].filename[0:4]
fz.close()

这样可以解压出638个zip,最后一个zip叫qr.zip,解压出来一个txt

这些是RGB数据来的,一共有40000行,可以猜出是一个200*200的图片

整理一下数据

写脚本

1
2
3
4
5
6
7
8
9
10
11
12
from PIL import Image

x = y = 200
img = Image.new("RGB", (x, y))
file = open('./qr.txt', 'r')

for width in range(0, x):
for height in range(0, y):
line = file.readline()
rgb = line.split(',')
img.putpixel((width, height), (int(rgb[0]), int(rgb[1]), int(rgb[2])))
img.save('flag.jpg')

得到一个二维码

解码得到flag