一.知识点
1.关于base家族的编码特点与区别
BASE16
编码后的字符只会在(0-9,A-F)(共16个)中出现,编码后的字符为源字符的两倍,4个bit一组,而1字节8bit,所以base16不可能用到等号填充。
BASE32
编码后的字符只会在大写字母(A-Z)和数字234567 32个字符组成,因为base32 5bit为一组,所以编码长度必须是40bit的倍数(5和8的最小公倍数)
因为必须为40bit的倍数,所以如果不足的话,会在第一个不满足5bit的小组进行补0,然后进行编码,在结果补上占位符=,一个等号5bit,最多出现6个0 1 3 4 6
BASE64
编码后的字符只会在A-Z a-z 0-9(共62个)另外加上+/两个符号。3个字节由4个base64单元来表示,很高的编码效率了。
如果要编码的字节数不能被3整除,最后会多出1个或2个字节,则用占位符= (一个代表一个字节)所以最多出现两个等号。
2.变异凯撒
加密类型为变异凯撒,只是我们不知道加密规则是什么。但是结合凯撒加密的加密原理,我们根据给出的加密密文和格式,找出它们的ASCII码值。根据偏移量找到相对应的flag
3.后门
后门指的是一种通过非正常的方式绕过系统安全机制来访问计算机系统的方法。通常,后门是由系统管理员或软件开发人员在系统中预置的,其目的是为了方便维护和管理系统。然而,黑客或恶意软件开发人员也可以利用后门来非法进入系统并获取敏感信息或控制系统。因此,后门也被视为一种安全漏洞,需要被及时发现和修复。
D盾(用来扫描后门)
软件使用自行研发不分扩展名的代码分析引擎,能分析更为隐藏的WebShell后门行为。引擎特别针对一句话后门,变量函数后门,${}执行 、preg_replace执行、call_user_func、file_put_contents、fputs等特殊函数的参数进行针对性的识别,能查杀更为隐藏的后门,并展现可疑的参数信息,可以快速的了解后门的情况,还有隔离功能,并且可以还原。
二.实例
1.Fuck! (Crypto)
密文中只由0-9,A-F组成,猜测是base16加密,解密后的密文由大写字母(A-Z)和数字234567组成,猜测base32加密,解密后密文由<>=+,.[]组成,猜测是brainfuck加密,即得出本题flag
2.XX+CC (Crypto)
Unlock Hint for 0 points
观察一下你解得的flag,后半段不是这样解得的
查看提示
XXencode+凯撒
根据本题提示先用XXencode解密,afZ_让我们联想到变异凯撒,提示后半段不是这样解得的,所以我们看h与}差值,依次递推,即可得出本题flag
3.留个后门(misc)
小X帮我写了一个网站,由于我在网站上可以获取许多用户的信息,小X就在我的代码中加了一个后门,请找出后门密码。以Yunxi{xxxxxxxxx}的形式提交flag。
根据提示,用D顿扫描后门,打开两个文件,在其中一个里找到了flag。