实验吧-web-NSCTF web200

本系列文集:实验吧-Write up --将持续更新 觉得还不错请给个喜欢,感谢!

点开题目看到如图,显然这是一道关于PHP审计的题目

实验吧-web-NSCTF web200_第1张图片
图片.png

代码中重点函数:

1.strrev(): 函数反转字符串。Hello World! <----> !dlroW olleH

2.strsub(str, start, length):函数用于取字符串的子串,
str:第一个参数为字符串,
start:第二个参数为起始位置,
length:第三个参数为子串长度,
返回的结果就是str字符串从start这个位置开始的长度为length的子串。

3.ord(str): 函数将返回字符串第一个字符的Acsii码。

4.chr(): 函数的参数为整型,此函数将ASCII值返回字符。

5.".":“.”在字符串中相当于我们Java中的“+”,用于连接字符串。

6.base64_encode:对字符串参数进行base64编码,与之对应的解码函数为base64_decode。

7.str_rot13:对字符串参数进行ROT13编码,ROT13是它自己本身的逆反;也就是说,要还原ROT13,套用加密同样的算法即可得。

分析:
加密代码首先将明文进行反转,然后再将反转后的字符串的每一个字符值+1,再转化为ASCII值,再将每一个字符连接成字符串,接下来再进行base64编码、反转和ROT13编码,得到我们的密文。
解密:
想要得到明文,因为所有的操作都是可逆的,我们只需要将这些步骤反着来一遍即可,代码如下:


运行之后得到明文即flag
实验吧-web-NSCTF web200_第2张图片
图片.png

你可能感兴趣的:(实验吧-web-NSCTF web200)