攻防世界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}

相关推荐
小智老师PMP5 分钟前
零基础能不能考PMP?零基础专属学习路径+全套扶持体系
学习·算法·职场和发展·软件工程·求职招聘·敏捷流程
郑洁文29 分钟前
基于Python的Web命令执行漏洞自动化检测系统
前端·python·网络安全·自动化
Sagittarius_A*36 分钟前
H3CSE 高性能园区网:园区网安全体系详解
网络·计算机网络·安全·h3cse
新酱爱学习38 分钟前
手搓 10 个 Skill 后,我把重复劳动收敛成了一套零依赖 CLI 工具
前端·javascript·人工智能
IT_陈寒1 小时前
Python的线程池居然把我坑在了垃圾回收这块
前端·人工智能·后端
研☆香1 小时前
es6新特性功能介绍(一)
前端·ecmascript·es6
XGeFei2 小时前
【Fastapi学习笔记(4)】—— JsonScheme与数据验证、错误响应格式、正则表达式
学习·fastapi
陈_杨2 小时前
鸿蒙开发-疾阅App阅读训练功能技术解析
前端·javascript
zhangxingchao2 小时前
AI应用开发八:RAG相关技术总结
前端·人工智能·后端