第九届御网杯大赛赛题资源加解题思路

赛题资源

通过网盘分享的文件:ctf御网杯

链接: https://pan.baidu.com/s/1WWGsWnPh7kcWVLHsBC957w?pwd=h9ie 提取码: h9ie

--来自百度网盘超级会员v3的分享

cry_rsa

发现题目,

进入kai,写脚本

运行结果,再加9

flag{2023326077889096388}

YWB_WEB_XFF

因为发现只有ip是2.2.2.1才算扫描成功

进入kai直接进行扫描,发现flag

Easyweb

flag{d4ek6s7kzztx}

easy签到题

Base64

R1kzRE1RWldHRTNET04yQ0dNWkRNTVJUSEFaVElNWlhHTVlUTU5KVEdBWkVJTVpUR1laVEdPSldHRVpFSU1aV0dZMkRHTUpXR1laRUlNWlVHWVlUR05KVEc0WkVJTVpaR000REdNQlRHTVpUTU1aU0dNWVRHTkpURzQzREtNWlRHWTNET1JBPQ==

GY3DMQZWGE3DON2CGMZDMMRTHAZTIMZXGMYTMNJTGAZEIMZTGYZTGOJWGEZEIMZWGY2DGMJWGYZEIMZUGYYTGNJTG4ZEIMZZGM4DGMBTGMZTMMZSGMYTGNJTG43DKMZTGY3DORA=

Base 32

666C61677B32623834373165302D336339612D366431662D346135372D3938303336323135376533667D

Base 16

flag{2b8471e0-3c9a-6d1f-4a57-980362157e3f}

Gift

数学中π的常见象征是“派”(pie),与“π”谐音(英文中“pie”发音与“π”相同)。

结合“分成4份”的提示,散落的一份是π/4,完整的礼物是π(即“派”)。凯撒密码加密

明文:pie

凯撒偏移量5:

p → u

i → n

e → j

密文:unj

Flag格式

题目要求用凯撒密码加密后的结果提交,因此最终答案为:
flag{unj}

Ez_xor

原始输入的 cipher 列表格式错误(连字符分隔),修正为逗号分隔的十六进制数值列表。

代码,直接运行

cipher = [0x5f, 0x55, 0x58, 0x5e, 0x42, 0x71, 0x7a, 0x6d, 0x7f, 0x48, 0x4e, 0x5c, 0x78, 0x6a, 0x7d, 0x08, 0x0b, 0x01, 0x44]

key = 0x39  # 十进制 57

plain = ''.join([chr(b ^ key) for b in cipher])

print(plain)

得出flag

flag{HCTFqweASD128}

YWB_WEB命令执行过滤绕过

发现存在flag.nisp

var_dump(file("flag.php"))的输出中,我们获得了重要线索:

array(4) { 

  [0] => string(4) * string(31) *$filename = "/tmp/flag.nisp"; * 

  [2] => string(48) *$content = trim(file_get_contents($filename)); * 

  [3] => string(2) *?>* }

这表明flag实际上存储在/tmp/flag.nisp文件中,而不是flag.php!

既然flag实际存储在/tmp/flag.nisp,我们应该直接读取这个文件:

我们直接进行读取

47.105.113.86:40002/?cmd=readfile("/tmp/flag.nisp");

发现flag

flag{dnu3stfgjy61}

被折叠的显影图纸

解压文件,发现flag.xls文件

发现有密码保护,打不进开文件

flag{Off! c3_32$y_Kr@kK3d}

#光隙中的寄生密钥

解压文件,发现一张图片

Foremost binkwalk这两个工具都可以使用,来提取文件信息

我们将密码进行爆破,需要下载工具ARCHPR

点击是的话,可以随意修改爆破信息路径

成功破解,发现一串编码

5a6d78685a337379566d516a545773324a5842534f58705949584e4266513d3d

flag{2vdtMk6%pR9zX ! sA}

套娃

打开文件发现是后缀为.xlsx

我们把后缀改成.zip文件,进行解压

发现一个.txt文件

我们再把这个.txt后缀文件改成.zip文件

进行解压,发现一串文件

用浏览器打开这个文件

发现把我框选起来的可以合成一个flag值

Flag{HNCTFDKKBKODtK}

Easy_misc

解压文件发现一串编码

继续解码

发现flag值

ASCLL——base64——base58——rot13

flag{HNCTFJVoKuDJmKjBb}

Ez_picture

解压文件

我们把刚才可疑的RGB值试一下

解密成功,发现一张图片

f1agIHNCTFSduQPKRiYt0}

Ez_base

解压文件发现.txt文件,垃圾邮件

在线网站

spammimic - decoded

注意页面跳转是正常操作,说明正在加载

复制文本内容

ZmxhZ3tITkNURlpJaUZXQTlmUko2VEZ9

f1ag {HNCTFZIiFWA9fRJ6TF}

#甸方阵的密语

解密方法:栅栏解密+凯撒解密

解压文件,发现.exe文件

栅栏fence解码:

因数[2, 4, 8]:

分为2栏时,解密结果为:k{ylqYxmfmwylfn}

分为4栏时,解密结果为:kf{mywlyqlYfxnm}

分为8栏时,解密结果为:kqfl{Ymfyxwnlmy}

2栏解密结果

4栏解密结果

8栏解密结果

f1ag {Thatsright}

Baby_rsa

打开压缩文件,发现一个.exe .txt

根据题目要求,写了一串python代码,进行执行,发现flag值

from Crypto.Util.number import long_to_bytes

import gmpy2

from sympy import nextprime

N = 12194420073815392880989031611545296854145241675320130314821394843436947373331080911787176737202940676809674543138807024739454432089096794532016797246441325729856528664071322968428804098069997196490382286126389331179054971927655320978298979794245379000336635795490242027519669217784433367021578247340154647762800402140321022659272383087544476178802025951768015423972182045405466448431557625201012332239774962902750073900383993300146193300485117217319794356652729502100167668439007925004769118070105324664379141623816256895933959211381114172778535296409639317535751005960540737044457986793503218555306862743329296169569

e = 65537

c = 4504811333111877209539001665516391567038109992884271089537302226304395434343112574404626060854962818378560852067621253927330725244984869198505556722509058098660083054715146670767687120587049288861063202617507262871279819211231233198070574538845161629806932541832207041112786336441975087351873537350203469642198999219863581040927505152110051313011073115724502567261524181865883874517555848163026240201856207626237859665607255740790404039098444452158216907752375078054615802613066229766343714317550472079224694798552886759103668349270682843916307652213810947814618810706997339302734827571635179684652559512873381672063

# 计算 q 的近似值

q_approx = gmpy2.isqrt(N)

# 从 q_approx 开始寻找 q

q = q_approx

while True:

    if N % q == 0:

        p = N // q

        break

    q = nextprime(q)

# 计算 phi(N)

phi = (p - 1) * (q - 1)

# 计算私钥 d

d = gmpy2.invert(e, phi)

# 解密

m = pow(c, int(d), N)

# 转换为字节

flag = long_to_bytes(m)

print(flag)

flag{5c9c885c361541e0b261f58b61db8cec}

查看附件

在线文本替换工具链接

在线文本替换工具

Ez_js

解压之后发现文件,用浏览器打开

右键查看页面源代码,反倒源代码最底部,发现flag值

flag {HCTF qweIOP164}

Sign in

在 Windows 下对文件进行“脱壳”(Unpacking)通常是指去除软件的保护壳(如压缩壳、加密壳或反调试壳),以恢复原始的可执行文件。

解压文件

.exeinfo查壳,发现有壳,使用upx进行脱壳

exteinfo工具下载

Exeinfo PE 0.0.8.4.exe - 蓝奏云

注意下载的时候把安全关了,因为软件会显示携带病毒

在kali中进行脱壳

发现没有upx字符,脱壳成功

进入这个网站,将脱壳后的文件拖进去

Decompiler Explorer

将这个框里面的代码让ai分析一下

提取密钥和密文RC4解密

从而得出flag

flag{rc4_1s_w34k_wh3n_k3y_r3us3!!}

Canary

漏洞分析

提示一下解体思路

栈溢出点main函数中的__isoc23_scanf("%39s", &s)未限制输入长度,可溢出缓冲区。

Canary机制:程序使用随机数种子生成的rand()值作为Canary,若种子泄露则可预测Canary。

关键泄露:选项2会输出My secret is %016lx,泄露当前随机种子(srand(seed)seed)。

控制流劫持:覆盖返回地址跳转到system("/bin/sh")或直接读取/home/ctf/flag

完美,撒花

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值