攻防世界WEB(新手模式)2-5-web2

题目解析:

拿到题目看一下,典型的需要逆向算法

那我们第一步肯定就是对代码进行解析

加密步骤:

  1. 反转字符串

  2. 每个字符 ASCII 码加 1

  3. 进行 Base64 编码

  4. 反转结果字符串

  5. 对整个结果进行 ROT13 替换(是字母替换,对字母 a-z/A-Z 移动13位,非字母不变。)

因此

加密顺序:
原字符串反转ASCII+1Base64编码反转ROT13

解密顺序:
密文ROT13解码反转Base64解码ASCII-1反转

方法一:

全部利用工具进行

1、rot13在线工具解码(也可以自己写脚本)

解码 ROT13 - 将 ROT13 转换为文本

得到密文:n1mYotDfPRFRVdEYjhDNlZjYld2Y5IjOkdTN3EDNlhzM0gzZiFTZ2MjO4gjf

2、反转

在线字符串反转 - 在线工具

得到密文:fjg4OjM2ZTFiZzg0MzhlNDE3NTdkOjI5Y2dlYjZlNDhjYEdVRFRPfDtoYm1n

3、base64解码

Base64 在线编码解码 | Base64 加密解密 - Base64.us

得到密文:~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg

4、ASCII-1

这个部分没用在线工具,直接用ai的

得到密文:77`2d0af732d730646c918bfda5d37b_FTCSN{:gaclf

5、再次反转

flag:{NSCTF_b73d5adfb819c64603d7237fa0d52977}

方法二:

脚本运行

php 复制代码
<?php

$miwen = "a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";

// 解密步骤
$step1 = str_rot13($miwen);               // 1. ROT13 解码
$step2 = strrev($step1);                  // 2. 反转
$step3 = base64_decode($step2);           // 3. Base64 解码

// 4. ASCII 减 1
$step4 = "";
for ($i = 0; $i < strlen($step3); $i++) {
    $c = $step3[$i];
    $step4 .= chr(ord($c) - 1);
}

// 5. 反转得到原始明文
$flag = strrev($step4);

echo "Flag: " . $flag . "\n";

?>

我这里直接用php沙箱运行,得到flag啦

PHP Sandbox - Execute PHP code online through your browser

flag:{NSCTF_b73d5adfb819c64603d7237fa0d52977}

相关推荐
SLD_Allen5 分钟前
Garak:NVIDIA开源的LLM安全“体检”工具
安全·ai
小粉粉hhh27 分钟前
React(二)——dom、组件间通信、useEffect
前端·javascript·react.js
Csvn35 分钟前
🤖 AI 生成前端代码的 5 个典型翻车现场及修复指南
前端
Hiyajo pray2 小时前
SDN 访问控制性能调优方法
服务器·网络·网络安全
IT_陈寒2 小时前
SpringBoot自动装配坑了我一天,原来问题出在这
前端·人工智能·后端
索西引擎2 小时前
【React】key 属性:协调算法中的元素标识机制与最佳实践
前端·javascript·react.js
辣椒思密达2 小时前
AI出海产品本地化测试:住宅IP在模拟海外用户环境中的实践价值
网络协议·tcp/ip·安全·php·苹果vision pro
只会cv的前端攻城狮3 小时前
动态组件架构设计:从配置到事件驱动全链路解析
前端·vue.js
飞天狗3 小时前
Next.js 16 App Router 实战:服务端组件与流式渲染
前端·next.js
OpenTiny社区3 小时前
TinyEngine 2.11版本发布:AI 进一步融入画布,Vue 工程可一键转DSL
前端·vue.js·github