攻防世界web2

$_o=strrev($str);

将输入字符串 $str 反转。例如,如果输入是 "abc",那么 $_o 将是 "cba"。

for($_0=0;$_0<strlen($_o);

$_0++){ $_c=substr($_o,$_0,1);

$__=ord($_c)+1;

$_c=chr($__);

$_=$_.$_c; }

这段代码遍历反转后的字符串 $_o 的每个字符。

对每个字符的 ASCII 值加 1,然后将其转换回字符,并将结果拼接到字符串 $_ 中。

return str_rot13(strrev(base64_encode($_)));

先将字符拼接的结果进行 Base64 编码,然后反转这个字符串,再应用 ROT13 编码。

ROT13 是一种简单的加密方式,它将每个字母替换为其后 13 位的字母。非字母字符保持不变。

根据它的注释要解密

为了得到 flag,我们需要逆向 encode 函数的操作。以下是解密的步骤:

  1. 反向 ROT13
  2. 反转字符串
  3. Base64 解码
  4. 字符逐个减 1(与加 1 相反)。

写一个php

<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";

function decode($str){
    // 反向 ROT13
    //反向 ROT13 的过程实际上就是再次进行 ROT13 加密,
    //因为 ROT13 的特性是对字母进行 13 位替换,相当于将字母表分为两部分。
    //对于每个字母,经过一次 ROT13 编码后,再次进行 ROT13 编码会将它还原为原来的字母。
    $str = str_rot13($str);
    $str=strrev($str);
    $str=base64_decode($str);
    //初始化-->空字符
    $result = '';
    for ($i = 0; $i < strlen($str); $i++) {
        $char = substr($str, $i, 1);
        // ASCII 值减 1
        $result .= chr(ord($char) - 1);
    }
    
    return $result;
}
$flag = strrev(decode($miwen));
echo $flag;

?> 

for ($i = 0; $i < strlen($str); $i++):

  • 这是一个 for 循环,用于遍历字符串 $str 的每个字符。
  • strlen($str) 函数返回字符串 $str 的长度(即字符的数量)。
  • $i 从 0 开始,每次迭代加 1,直到 $i 小于字符串的长度。这意味着循环会执行 $str 中每个字符的索引。

$char = substr($str, $i, 1);

  • substr($str, $i, 1) 函数用于从字符串 $str 中提取子字符串。
  • 第一个参数是要处理的字符串 $str
  • 第二个参数 $i 是起始位置的索引,从 0 开始,即第一个字符的位置。
  • 第三个参数 1 指定要提取的字符数,这里是 1 个字符。
  • 这个函数的结果会将当前索引 $i 位置的字符赋值给变量 $char

$result .= chr(ord($char) - 1);

  1. ord($char):

    • ord() 函数用于获取字符 $char 的 ASCII 值。例如,ord('A') 返回 65,ord('a') 返回 97。
  2. ord($char) - 1:

    • 这个表达式将字符 $char 的 ASCII 值减去 1。例如,如果 $char 是 'A'(ASCII 值为 65),那么这个表达式的结果是 64,对应的字符是 '@'
  3. chr(...):

    • chr() 函数用于将给定的 ASCII 值转换为对应的字符。例如,chr(64) 返回 '@'
  4. $result .= ...:

    • . 是 PHP 中的字符串连接运算符。$result .= ... 表示将右侧的内容追加到 $result 的末尾。如果 $result 之前是一个空字符串,那么这个操作就会将第一个字符添加到 $result 中。

和之前的方式一样(反序列化unserialize 及实例)放到phpstudy的WWW目录下浏览器打开

OKK

欢迎评论区斧正或补充

猜你喜欢

转载自blog.csdn.net/QT281327/article/details/144345219
今日推荐