攻防世界 Web 安全挑战题解与代码审计实战
本文选取了攻防世界平台中的几道典型 Web 题目,涵盖字符串逆向、反序列化、远程代码执行及文件包含等核心考点。通过代码审计定位逻辑漏洞,演示具体的 Payload 构造方法与绕过技巧。
一:WEB 2
打开页面后是一段 PHP 代码,主要涉及多层加密与解密逻辑。

代码审计思路
- 密文获取:题目提供了一段需要解密的密文。
- 处理流程:
- 接收输入字符串
str并进行反转($_o)。 - 进入循环,截取字符转为 ASCII 值加 1,再转回字符拼接。
- 对结果进行 Base64 编码,再次反转,最后进行 Rot13 转换。
- 接收输入字符串
- 解密方向:逆向上述过程即可得到 Flag。
具体步骤为:先 Rot13 解码 -> 字符串反转 -> Base64 解码 -> 字符 ASCII 减 1 -> 最终反转。

解密脚本
<?php
$miwen = "a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
// 逆向 str_rot13
$step1 = str_rot13($miwen);
// 逆向 strrev
$step2 = strrev($step1);
// 逆向 base64_encode
$step3 = base64_decode($step2);
// 逆向 ord($char)+1
$decrypted = "";
for ($i = 0; $i < strlen($step3); ++) {
= (, , );
.= (() - );
}
= ();
;









