XCTF web2
一.代码审计
1.进入实验环境后,发现是一段ohp代码,于是猜测我们要找的flag和这段代码应该有关系
2.简单了解一下代码中的一些函数:
strrev() 函数反转字符串。
substr() 函数返回字符串的一部分。
语法:substr(string,start,length)
注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。
ord() 函数返回字符串的首个字符的 ASCII 值。
chr() 函数从指定的 ASCII 值返回字符。
ASCII 值可被指定为十进制值、八进制值或十六进制值。八进制值被定义为带前置 0,而十六进制值被定义为带前置 0x。
str_rot13() 函数对字符串执行 ROT13 编码。
ROT13 编码把每一个字母在字母表中向前移动 13 个字母。数字和非字母字符保持不变。
提示:编码和解码都是由相同的函数完成的。如果您把已编码的字符串作为参数,那么将返回原始字符串。
3.简单地代码审计后可以发现,这段代码主要是写了一个加密算法,而它给了我们明文和提示,
让我们根据这个加密算法,编写一个逆向加密算法来解密明文即可。
趁着年轻,多学些