
本文以攻防世界部分题目为例,演示常见 Web 漏洞的审计思路与利用方法。
一:WEB 2
打开页面是一段 PHP 代码,核心逻辑是对传入字符串进行加密处理。
代码审计
- 首先给了一段密文,即需要解密的 flag。
- 对传进来的
str进行字符串反转($_o)。 - 进入 for 循环,截取一个字符赋值给
$_c,将其转换为 ASCII 值后 +1,再转回字符输出并拼接。例如先将 abc 变为 cba,然后每个字符 ASCII+1,最后拼接就是 dbc。 - 对结果进行 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++) {
$char = substr(, , );
.= (() - );
}
= ();
;












