这题乍一看是个web,上传php马以后,可以看到flap.php,但是下载下来却是一堆乱码:
在这里插入图片描述
查看容器中运行了nginx和phpfpm,推测是这两个用了插件,对源码进行了加密:
依次查看nginx的php应用和模块,发现有个php_screw_plus.so很可疑。反编译后确认了此模块对文件对php文件解密后进行执行。
在github上也搜到了该项目screw-plus项目源码
下载后编译screw程序,记得要修改成so文件里的密钥,如下图红框位置:
在这里插入图片描述
然后运行,对源码目录进行解密:
在这里插入图片描述
满怀激动的打开flag.php:
在这里插入图片描述
依旧是乱码,推测有魔改,继而发现一个奇怪的函数:
在这里插入图片描述
这个函数名称倒过来就是key_get,说明这里返回的是key。
进入teg_yek看下:
在这里插入图片描述
这里就是获取当前处理的文件,然后通过软链接获取到真正的文件名,取文件名的倒数第五个字节的值作为key返回。

再看screw_aes函数:
在这里插入图片描述
很简单的逻辑,解密前先对数据进行异或而已。
这样只需要先对flag.php的数据异或一个‘g’,再用screw就可以解密了。

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐