第四届宁波网安市赛训练题

Crypto

散乱的密文

8fd4a@4c9@4gf15{50}l72d3提示了2 1 6 5 3 4,我们直接横向排列

2 1 6 5 3 4
8 f d 4 a @
4 c 9 @ 4 g
f 1 5 { 5 0
} l 7 2 d 3

按顺序竖着抄下来fc1l84f}a45d@g034@{2d957,然后栅栏解密,注意这里是W型栅栏解密,行数6

flag:flag{52048c453d794df1}@@

综合解密

596d687162534268643252344948686b5a6e5967636a56355a79426b636d6432先16进制转字符串,再base64解码得到bhjm awdx xdfv r5yg drgv,这些字母在键盘上围起来的字母取出来就是flag

flag:flag{nsctf}

rsa1

直接给了公钥和密文,先解析公钥

分析n,得到p和q

脚本跑跑跑

import gmpy2
import rsa

e = 65537
n = 86934482296048119190666062003494800588905656017203025617216654058378322103517
p = 285960468890451637935629440372639283459
q = 304008741604601924494328155975272418463

phin = (q - 1) * (p - 1)
d = gmpy2.invert(e, phin)

key = rsa.PrivateKey(n, e, int(d), p, q)

with open("C:\\Users\\Mr.Wu\\Desktop\\rsa1\\flag.enc", "rb+") as f:
    f = f.read()
    print(rsa.decrypt(f, key))

flag:nsfocus{seay_rsa}

Misc

剧情大反转

十六进制打开

看到最后有b405,题名也叫反转,50 4b是压缩包文件头,所以这里把字符串反转,直接复制下来放在线网站上即可。

把反转后的十六进制数据保存为zip文件,然后打开zip文件出现图片。

先水平翻转,再180度旋转出现flag

flag:flag{99f0fd18f89e6b73f05c139b0a9e4c98}

五彩斑斓的青春~

下载是个未知文件,名字叫zip,解码文件头50 4b,应该就是zip文件了,加上zip后缀解压打开,里面只有一个html文件,打开如图

每句话都有RGB颜色,把负数去掉拼接起来3166393233623939323338643634306262386461643739613263343338626433,16进制转字符串1f923b99238d640bb8dad79a2c438bd3

flag:flag{1f923b99238d640bb8dad79a2c438bd3}

流量分析~

这题经过lewiserii大佬指点

附件解压是个pcapng文件,用wireshark打开,搜索相关文件,如zip、doc、txt、rar等,这里搜索到666.zip

跟踪下面那条200数据的TCP流[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1EWT69PV-1675906419604)(https://blog-1307674006.cos.ap-shanghai.myqcloud.com/blog_images/nsctf4_practice_misc_3_2.png)]

pk头说明是压缩文件,导出为zip,打开后有6个txt文件

打开第一个发现是8950开头,应该是png的十六进制,转为png发现只是一部分二维码。所以将6个txt里的字符串拼接起来转为png图片,然后识别二维码即可

flag:flag{3819169573b7a37786d2ea39c6daef76}

misc1-bwm

bwm盲水印,地址在这:盲水印,一种图像隐写方式,把两张图使用脚本进行反解,注意python3版本的脚本和python2的原理一样的,但是python3与python2的random算法不同,使用python3脚本需要在命令后加--oldseed我的python3脚本名称为bwm.py,我将两张图进行反解,将解出的水印图保存为C.png。命令如下:

python bwm.py decode B2.png 2.png C.png --oldseed

水印如图

flag:nsfocus{EasyBwm}

misc2-weight

解后里面是一张无法打开的png图片,十六进制打开。非常明显的IDAT缺失

补上,图片如下

宽高有问题,把高改成与宽一样

识别,即可出flag

flag:nsfocus{f5b7e4b23076f925ab0fd214e58aa675}

Reverse

re1

64位,无壳,拖IDA里看看

进第一行字符串里看看

把这两段拼起来,16进制转字符串

flag:nsfocus{674cc15823d087192c6f3ae919b8ce78}

Game

按顺序输入1-8直接出flag,摸索着玩一会也会出

正常解法:等我写出来再搞

re2

64位无壳,拖进IDA

伪代码大致就是满足if里的条件进入s0_such(Str)里,跟进去

近百条case语句,真的flag应该是其中某一条,这里的switch里是v2,我们看到v2=a1[6]-3,刚才的伪代码里str[6]=83,所以这里v2为80,flag里base64解码

flag:nsfocus{Th4_A11-Know1ng_K1ng}

Web

签到喽~

网络响应头里

Myself~

自己的电脑,XFF欺骗,修改请求头X-Forwarded-For即可,这里推荐使用ModHeader插件

从主页跳转,修改Referer为靶机主页

得到flag:flag{15cc8eee88302965c61497c147e6ca4c}

php是…

读代码,伪协议绕过

payload:?ac=1&fn=data:,1

flag:flag{5592f1a9fa885a77ba55497e501a101a}

猜你喜欢

转载自blog.csdn.net/qq_45619909/article/details/128947199