zoukankan      html  css  js  c++  java
  • NSCTF web200

    先看题

    分析信息:

    strrev是一个将字符串进行翻转的函数

    substr是一个取字符串子串的函数,其用法为strsub(str, start, length),第一个参数为字符串,第二个参数为起始位置,第三个参数为子串长度,返回的结果就是str字符串从start这个位置开始的长度为length的子串。

    ord函数的参数为字符串,此函数将返回字符串第一个字符的Acsii码。

    chr函数的参数为整型,此函数将从指定的ASCII值返回字符

    . 就是+的意思

    base64_encode进行base64编码

    .str_rot13进行rot13编码

    然后这段代码的意思是首先是将原文进行反转,然后再将反转后的字符串的每一个字符值+1,接下来再进行base64编码、反转和ROT13编码,得到我们的密文。

    所以该题我们就逆向的破解,

    些一个php代码来破解

    <?Php

    $_code="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";//先将要我们破解的东西赋值上去

    $_code = str_rot13($_code);//进行rot13解码

    $_code = strrev($_code);//进行反转

    $_code = base64_decode($_code);//进行base64解码

    //echo $_code;

    $_ans = "";

    for($x = 0; $x < strlen($_code); $x++) {

    $t = substr($_code, $x, 1);

    $t1 = ord($t) - 1;

    $t = chr($t1);

    $_ans = $_ans . $t;

    }

    $_ans = strrev($_ans);再反转

    echo $_ans;

    ?>

    在本地运行一下得到flag

  • 相关阅读:
    [算法] 归并排序(自顶向下、自底向上)
    [算法] 快速排序(单路、双路、三路)
    [算法] O(nlogn)和O(n^2)算法性能比较
    [算法] O(n^2)算法的效率比较
    [设计模式] 设计模式课程(十九)--职责链模式
    [OS] 汇编语言
    [c++] 内存模型
    [c++] 内存与变量
    [Qt] 基本概念
    42. Trapping Rain Water
  • 原文地址:https://www.cnblogs.com/wosun/p/11215761.html
Copyright © 2011-2022 走看看