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

  • 相关阅读:
    K8s(2)-部署应用
    Docker-常用命令(7)
    Docker-堆栈stack(6)
    Docker-集群swarm(5)
    Docker-服务(4)
    Docker的概念术语(2)
    k8s(1)-使用kubeadm安装Kubernetes
    Celery-分布式任务队列
    使用Python管理压缩包
    jQuery基础
  • 原文地址:https://www.cnblogs.com/wosun/p/11215761.html
Copyright © 2011-2022 走看看