师傅们决赛见,加油

Crypto - NumberTheory

解题脚本:

from Crypto.Util.number import inverse, long_to_bytes
import math

# 已知数据
n = 1055318040944102362946870824758284112187881439733520264163925427624371039188408 \
6124172619325393637064819568245261834319547171964939408699779313765351896673921 \
2122830015579955183805636213883066694989610003565432493653164047938048521354525 \
623612253955387430773546124647105772639376194421783783651686606080214099

c = 6838127295540107402282470465780599628759317234806902778570348919850980664834107 \
2270122496170360873810753440165503811371596435126722398264389032410916586193140 \
7892193671978412352275860434939944023297151164991809322828884753468552635819180 \
4172060250409498531941883162873696671060909325234109062997554795436940

hint = 2254571296159459611390959493560831065109921631767708603680850435226778110947934 \
4217351256511531313022761442319626824021777583111841778031801484228020974742627 \
1227826513967791945116378179885000662888744992914390207196310600996050316737090 \
9993999623381332223707455892508533158768182263124533763402827488427796661769534 \
5555305431032890129908315902905016995081288548688468234726304576491890719692231 \
3892044095742248895091717187372068779768743879411865275203496650858608

e = 65537

# 1. 计算 h_prime
h_prime = hint // 233

# 2. 选择底数 a
a = 2

# 3. 计算 a^h_prime mod n
pow_h_prime = pow(a, h_prime, n)

# 4. 计算 GCD 找到 p
p = math.gcd(pow_h_prime - 1, n)

# 5. 检查 p 是否有效
if 1 < p < n:
print(f"找到 p: {p}")
# 6. 计算 q
q = n // p
print(f"找到 q: {q}")

# 7. 验证 p*q == n
if p * q == n:
print("验证 n = p * q 成功")
# 8. 计算 phi
phi = (p - 1) * (q - 1)

# 9. 计算私钥 d
try:
d = inverse(e, phi)
print(f"计算得到 d: {d}")

# 10. 解密
m = pow(c, d, n)
print(f"解密得到 m: {m}")

# 11. 转换回 flag
flag = long_to_bytes(m)
print(f"找到 Flag: {flag}")
except ValueError:
print("计算 d 出错(e 和 phi 可能不互素)")
else:hexo
print("验证 n = p * q 失败")
else:
print(f"计算得到的 GCD ⽆效: {p}")
print("⽆法分解 n,请检查计算或尝试其他底数 a")

flag{158f26cca09e89b08cbd234c1f9c98c0}

Web - 这⽹⻚怪怪的

抓包302跳转发现⼀个yunnuuu.php

审代码很容易得到:

payload:/yunnuuu.php?tmp2=php://filter/convert.base64-encode/resource=flaaaaaaag.php

POST:tmp1=289114a

1.png

base64解密得到flag:flag{0T5KkBqUSYtMPcj41AduLR8zZfHXsWwa}

Usb

usb流量⼯具梭了

flag{whoami && rm -rf /opt}