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

相关推荐
xuanwenchao30 分钟前
ROS2学习笔记 - 2、类的继承及使用
服务器·笔记·学习
猫猫不是喵喵.1 小时前
layui表单项次大数据量导入并提交
前端·javascript·layui
张小潇1 小时前
AOSP15 WMS/AMS系统开发 - 窗口层级源码分析
android·前端
ILYT NCTR1 小时前
爬虫学习案例3
爬虫·python·学习
whuhewei1 小时前
HTTP1/2/3演变
前端·计算机网络
腹黑天蝎座1 小时前
从零实现一个前端监控系统:性能、错误与用户行为全方位监控
前端·监控
腾讯安全应急响应中心2 小时前
AI安全,由攻入防|腾讯广告AI专项众测正式启动
人工智能·安全
不灭锦鲤2 小时前
网络安全学习第59天
学习·安全·web安全
上海云盾-小余2 小时前
DDoS 攻击应急响应全流程:从告警触发到业务恢复的黄金 15 分钟
服务器·安全·游戏·ddos
楼田莉子2 小时前
同步/异步日志系统:日志落地模块\日志器模块\异步日志模块
linux·服务器·c++·学习·设计模式