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

  • 相关阅读:
    MacOS如何正确配置Idea自带Maven插件的环境变量?(亲测)
    通过Canvas实现画板
    插入排序
    选择排序
    冒泡排序法
    进制
    JDBC(宠物管理系统)
    银行ATM存取款机系统MySQL数据库
    高级查询(二)
    高级查询
  • 原文地址:https://www.cnblogs.com/wosun/p/11215761.html
Copyright © 2011-2022 走看看