当前位置: 首页 > news >正文

2025网络安全振兴杯wp

振兴杯wp

web1 神探狄仁杰

image-20251019170925796

在js和源代码,以及关于里面有flag的base64字段

css中

image-20251019171147833

关于的源代码中

image-20251019171232724

image-20251019171549337

然后解密就行了

web2Darksale

这个是一个原型链污染

我们发现购买的金额可以被改变

image-20251019171944065

我们发现改价格后会回显出来

image-20251019172051705

我们尝试修改文件读取环境变量

image-20251019172228914

然后发送得到flag

image-20251019172348727

misc1-checkin

oclz{loovyd_vb_l_bvnucd_hqpumj}

是反射密码

x≡19y+25(mod26)

逐个处理字母(只转换字母):

  • o (14) → x=(19×14+25) mod 26=(266+25) mod 26=291 mod 26=5x=(19×14+25)mod26=(266+25)mod26=291mod26=5 → f
  • c (2) → 19×2+25=38+25=63 mod 26=1119×2+25=38+25=63mod26=11 → l
  • l (11) → 19×11+25=209+25=234 mod 26=019×11+25=209+25=234mod26=0 → a
  • z (25) → 19×25+25=475+25=500 mod 26=619×25+25=475+25=500mod26=6 → g
flag{affine_is_a_simple_crypto}

Crypto affie

一眼看是

放到工具

image-20251019172950165

image-20251019173015984

re-re1

image-20251019173115726

放到base32里面去

f12看字符串

image-20251019173236565

image-20251019173410688

然后找到主函数

image-20251019173431388

看逻辑很清楚

对进行是字符串比较

image-20251019173517718

image-20251019173606708

char *__cdecl sub_4118C0(char *Str)
{size_t v1; // eaxchar v3; // [esp+Dh] [ebp-127h]char v4; // [esp+Eh] [ebp-126h]char v5; // [esp+Eh] [ebp-126h]char v6; // [esp+Fh] [ebp-125h]char v7; // [esp+Fh] [ebp-125h]int v8; // [esp+E0h] [ebp-54h]size_t i; // [esp+ECh] [ebp-48h]char v10[56]; // [esp+F8h] [ebp-3Ch] BYREFmemset(v10, 0, 50);v1 = j_strlen(Str);j_memcpy(v10, Str, v1);for ( i = 0; i < j_strlen(Str); ++i ){v8 = dword_41D1D0[i] + v10[i];if ( (unsigned __int8)sub_41127B(v10[i]) ){v6 = 122;}else{if ( (unsigned __int8)sub_4112B2(v10[i]) )v4 = 90;elsev4 = v10[i];v6 = v4;}while ( v8 > v6 )v8 -= 26;if ( v10[i] == 123 ){v7 = 125;}else{if ( v10[i] == 125 ){v5 = 123;}else{if ( (unsigned __int8)sub_41120D(v10[i]) )v3 = v8;elsev3 = v10[i];v5 = v3;}v7 = v5;}v10[i] = v7;}return v10;
}

可以直接写了

def decrypt(cipher):plain = []for i, c in enumerate(cipher):offset = i % 7 + 1if 'A' <= c <= 'Z':new_ord = ord(c) - offsetif new_ord < ord('A'):new_ord += 26plain.append(chr(new_ord))elif 'a' <= c <= 'z':new_ord = ord(c) - offsetif new_ord < ord('a'):new_ord += 26plain.append(chr(new_ord))elif c == '{':plain.append('}')elif c == '}':plain.append('{')else:plain.append(c)return ''.join(plain)cipher = "AZFXK}qyuc_ge_ogwatxr_uhgzxpua_ktukKQErh{"
print(decrypt(cipher))
ZXCTF{jxsz_by_network_security_goodJOBnc}
http://www.hskmm.com/?act=detail&tid=35318

相关文章:

  • 10.20每日总结
  • CSP-S 31
  • 后缀树
  • ES原理、zookeeper、kafka
  • CF1606E Arena 题解(动态规划)
  • 服务器CPU市场概况2025
  • CSP-S 24
  • 读书笔记:深入理解java虚拟机
  • CSP-S 19
  • CSP-S 20
  • Flutter应用设置插件 - 轻松打开iOS和Android系统设置
  • CSP-S 22
  • Project. 2025.11化学小组pre
  • MySQLDay1
  • 蛋白表达标签:重组蛋白研究的精妙引擎
  • 106.腾讯地图位置服务再出错
  • 心理咨询系统
  • Adaptive Learning Rate(自适应学习率) - -一叶知秋
  • Luogu P10034 「Cfz Round 3」Circle 题解 [ 蓝 ] [ 背包 DP ] [ 质数筛 ] [ 图论 ] [ 构造 ]
  • 2025.10.20模拟赛
  • SQLite简单使用
  • 新学期每日总结(第12天)
  • 2025.10.20总结 - A
  • CF2107E Ain and Apple Tree
  • 傻瓜式处理kauditd0病毒程序记录
  • win10 升级 win11 后时间更新失败
  • 2025,为什么公众号编辑器排版决定阅读完成率?——一次从流程到结果的深评
  • 软件工程学习日志2025.10.20
  • P14254 分割(树上计数问题) 题解
  • P14262 [ROI 2015 Day1] 自动好友