美文网首页信息安全集合
burpsuite上传截断及截断原理介绍

burpsuite上传截断及截断原理介绍

作者: Jewel591 | 来源:发表于2017-08-30 16:57 被阅读104次

    burpsuite上传截断估计很多人都用过,但具体原理是什么,还是有很多人不明白。我自己也存在很多疑惑,所以今天就花点时间认真梳理一下,与君共勉。

    一、简介

    截断的产生核心,就是chr(0)字符 。

    这个字符即不为空(Null),也不是空字符(""),更不是空格!

    当程序在输出含有chr(0)变量时,chr(0)后面的数据会被停止,换句话说,就是误把它当成结束符,后面的数据直接忽略,这就导致漏洞产生的原因。

    二、影响

    2.1 PHP

    在php 5.3.4中修复了0字符,但是在之前的版本中仍然危害巨大。

    简单测试一下 (PHP 版本<5.3.4)

    <?php
    $data = $_GET["filename"]`;
    echo $data;
    ?>
    

    url中输入xx.php?filename=test.php%00.txt,实际输出为test.php.

    常见利用方法:

    • 1.上传时路径可控,使用00截断
    • 2.文件下载时,00截断绕过白名单检查
    • 3.文件包含时,00截断后面限制(主要是本地包含时)
    • 4.其它与文件操作有关的地方都可能使用00截断。

    2.2 ASP

    在文件上传路径可控时出现:

    <%
    response.write(request("Filename"))
    %> 
    

    传入filename=test.asp%00.txt, 获得参数值是test.asp,asp 会自动截断 %00 后面的内容。

    2.3 JSP

    <%
    String temp=request.getRealPath("/")+request.getParameter("path");
     out.println(temp);
     String ext = temp.substring(temp.lastIndexOf(".") + 1);
     out.println(ext);
     %>
    

    传入path=shell.jsp%00.txt 获得后缀是txt,但是操作文件的api是使用 C 实现会导致00截断。因此这个与php相似,利用场景是文件上传 文件下载等。

    三、实例

    相关文章

      网友评论

      • BlingDog:大兄弟,你的题目英文都写错哦:stuck_out_tongue_closed_eyes:
        Jewel591:@BlingDog 谢谢提醒

      本文标题:burpsuite上传截断及截断原理介绍

      本文链接:https://www.haomeiwen.com/subject/aecxjxtx.html