码迷,mamicode.com
首页 > Web开发 > 详细

实验吧——NSCTF web200

时间:2018-10-07 11:28:28      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:简单的   实验   UNC   ++   题目   turn   字符   ret   解码   

题目地址:http://ctf5.shiyanbar.com/web/web200.jpg

打开就是个自定义加密函数,只要写出相应的解密算法就行

 1 <?php
 2 function encode($str){
 3     $_o=strrev($str);
 4     for($_0=0;$_0<strlen($_o);$_0++){
 5         $_c=substr($_o,$_0,1);
 6         $__=ord($_c)+1;
 7         $_c=chr($__);
 8         $_=$_.$_c;
 9     }
10     return str_rot13(strrev(base64_encode($_)));
11 }

先看看其中几个函数

strrev() 函数反转字符串。

str_rot13() 编码然后解码字符串,编码和解码都是由相同的函数完成的。如果您把已编码的字符串作为参数,那么将返回原始字符串。

ord() 字符转ascii码

chr() ascii码转字符

 

于是写出解密算法:

 1 function decode($str){
 2     $str=str_rot13($str);
 3     $str=strrev($str);
 4     $str=base64_decode($str);
 5 
 6     $res=‘‘;
 7     for($i=0;$i<strlen($str);$i++){
 8         $c=chr(ord($str[$i])-1);
 9         $res.=$c;
10     }
11     $res=strrev($res);
12 
13     return $res;
14 }

其实加密的核心就是把每个字符向前移了一位(ascii码加1),解密再减回来就好啦,还是很简单的

技术分享图片

实验吧——NSCTF web200

标签:简单的   实验   UNC   ++   题目   turn   字符   ret   解码   

原文地址:https://www.cnblogs.com/leixiao-/p/9749610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!