分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

实验吧——NSCTF web200

发布时间:2023-09-06 02:17责任编辑:林大明关键词:暂无标签

题目地址: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

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved