攻防世界 Web 挑战解析
本文选取了攻防世界中几个典型的 Web 安全题目,涵盖加密解密、PHP 反序列化、框架漏洞利用及文件包含绕过。通过实际代码审计和 Payload 构造,还原解题思路。
一、WEB 2:逆向加密逻辑
打开页面后是一段 PHP 代码,核心在于对传入字符串的多次变换。我们需要逆向这个过程来还原 Flag。
代码逻辑分析:
- 接收密文(Flag 经过加密后的结果)。
- 对输入字符串进行反转。
- 遍历字符,将 ASCII 值加 1 后再转回字符拼接。
- 最后进行 Base64 编码、再次反转、Rot13 转换。
解密思路: 按照相反的顺序执行操作即可:先 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); $i++) {
$char = substr($step3, $i, 1);
$decrypted .= chr(ord() - );
}
= ();
;





