zoukankan      html  css  js  c++  java
  • [极客大挑战 2019]Upload

    0x00

    打开界面,发现是一道上传题

    首先我们来测试一下上传的文件类型,新建一个文件命名为1.jpg,进行上传,得到

    根据提示我们可以猜测到,对文件头进行了检测,这里我们假设使用的是exif_imagetype函数,在文件里第一行加上GIF89a来绕过,上传得到结果如下

    上传成功,说明我们的假设是正确的,我们将文件重新命名为1.php,进行上传,得到结果如下

    说明对文件的拓展名也进行了过滤,进行模糊测试,发现与php相关的全被过滤掉
    通过谷歌插件看到站点使用的是nginx,上传.user.ini也上传失败

    我们继续假设后端对数据包的Content-Type类型进行了过滤,来进行测试,上传1.php并且通过BurpSuite进行如下修改

    得到结果如下,说明后端还对拓展名进行了过滤,继续进行模糊测试

    模糊测试后发现没有过滤phtml,上传结果如下

    接下来我们上传一句话木马,将1.phtml的内容改为如下

    GIF89a
    <?php @eval($_POST['pass']);?>
    

    得到结果如下,对内容也进行了过滤

    我们将1.phtml的内容改为如下来绕过

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

    上传后得到如下结果

    我们打开1.phtml,经过一系列测试发现被上传到了upload路径下,访问结果如下

    打开蚁剑进行连接

    获取flag

    0x01 总结

    • 1.Content-Type绕过

    • 2.黑名单绕过

    • 3.exif_imagetype函数绕过

    • 4.内容过滤<?绕过

    <?php @eval($_POST['pass']); ?>
    ## 替换为如下
    <script language="php">@eval($_POST['pass']);</script>
    
  • 相关阅读:
    socket阻塞与非阻塞,同步与异步
    Python列表切成多个/生成多个空列表
    virtualbox 下windows与虚拟机实现文件共享---挂载
    centos安装mysql
    centos安装Python2.7
    在遍历或者迭代过程中对集合进行增删 都会发生异常(迭代器的并发异常)
    List
    LinkedList
    增强for循环
    Collection中的迭代器
  • 原文地址:https://www.cnblogs.com/Wuser/p/13631517.html
Copyright © 2011-2022 走看看