CTF-Web-NSCTF-解密WP

CTF-Web-NSCTF-解密WP

题目链接-攻防世界-web2
知识考察:PHP代码审计、逆向加解密

解题思路

先搞清楚各个PHP函数的含义

<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";//密文

function encode($str){
    $_o=strrev($str);//strrev反转字符串
    // echo $_o;
        
    for($_0=0;$_0<strlen($_o);$_0++){
       
        $_c=substr($_o,$_0,1);
        $__=ord($_c)+1;//ord函数返回字符串中第一个字符的 ASCII 值
        $_c=chr($__);//chr函数从不同 ASCII 值返回字符:
        $_=$_.$_c;   
    } 
    return str_rot13(strrev(base64_encode($_)));//str_rot13函数编码解码字符串
}

highlight_file(__FILE__);
/*
   逆向加密算法,解密$miwen就是flag
*/
?>

逆向思维得出解码函数

function decode($str){
	$_o=base64_decode(strrev(str_rot13($str)));
	for($_0=0;$_0<strlen($_o);$_0++){
		$_c=substr($_o,$_0,1);
		$__=ord($_c)-1;
		$_c=chr($__);
		$_=$_.$_c;
	}
	return strrev($_);
}

echo decode($miwen);
highlight_file(__FILE__);
?> 

原文地址:https://www.cnblogs.com/renhaoblog/p/13994799.html