
WEB 2
打开页面显示一段 PHP 代码。

代码审计
- 首先给出一段密文,即待解密的 Flag。
- 对传入的字符串进行反转(strrev)。
- 进入 for 循环,截取一个字符转换为 ASCII 值加 1,再转回字符输出并拼接(例如先将 abc 变为 cba,然后每个字符 ASCII+1,最后拼接)。
- 对结果进行 Base64 编码,再反转,最后进行 rot13 转换。
解密只需逆向上述步骤:先进行 rot13 转化,然后 strrev 反转,再进行 base64 解码,将解码后的结果截取对其 ASCII 减 1 后转换为字符,最后拼接完再反转即可得到 Flag。

解密代码如下
<?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++) {
= (, , );
.= (() - );
}
= ();
;













