欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

CTF-变异凯撒

程序员文章站 2022-07-02 16:36:37
题目: 这道题的密码表是ASCII表,通过观察前五个字符的规律可以得到加密后的密文是f-5=a,l-f=6。。。这样的规律,每两个对应字符之间的ASCII差值逐渐增大,增量为1 用php解题代码如下:

题目:

这道题的密码表是ASCII表,通过观察前五个字符的规律可以得到加密后的密文是f-5=a,l-f=6。。。这样的规律,每两个对应字符之间的ASCII差值逐渐增大,增量为1

    用php解题代码如下:

<?php

     function decode($str)

{    

$finish='';    

for($_O=5;$_O<strlen($str)+5;$_O++){        

$_c=substr($str,$_O-5,1);        

$__=ord($_c)+$_O;        

$_c=chr($__);        

$finish=$finish.$_c;     }    

return $finish;

}

$p=decode("afZ_r9VYfScOeO_UL^RWUc");

print $p;

?>

/*****************************************************************

******************************************************************

php学习笔记一:

1.基本格式

<?php

/**/

?>

2.注释格式 //    #      /**/

3.所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感,所有变量对大小写敏感,函数名对大小写不敏感

4.变量定义

  以 $ 符号开头,其后是变量的名称

  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及  _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

5.PHP 有三种不同的变量作用域:

  • local(局部)
  • global(全局)
  • static(静态)

*******************************************************

*******************************************************/

CTF解题思路:

变异凯撒,解题方式肯定关于凯撒密码,但是形式应该是凯撒密码的变形,可能性在于距离的变化。

题目中给的除了字母还有特殊符号可以想到ascii码表,移位归到字母上,并且结合flag{}形式,可以判断出移位的数字是渐变的,最后就是将原来给的字符串变成明文即可。