zoukankan      html  css  js  c++  java
  • ADWORLD web/upload1

     打开链接,是一个上传窗口

    原想法是上传一句话木马,但是只能上传图片

     查看源码

    <!Doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <script type="text/javascript">
     
    
    Array.prototype.contains = function (obj) {  
        var i = this.length;  
        while (i--) {  
            if (this[i] === obj) {  
                return true;  
            }  
        }  
        return false;  
    }  
    
    function check(){
    upfile = document.getElementById("upfile");
    submit = document.getElementById("submit");
    name = upfile.value;
    ext = name.replace(/^.+./,'');
    
    if(['jpg','png'].contains(ext)){
        submit.disabled = false;
    }else{
        submit.disabled = true;
    
        alert('请选择一张图片文件上传!');
    }
    
    
    }
    
    </script>
    
    </head>
    <body>
    
    
    <form enctype='multipart/form-data' id='aa' name='aaa' method='post' action='index.php'> 
    <input  id="upfile" name='upfile' type='file' onchange="check();" /> 
    
    <input type='submit'  id ='submit' value='上传'> 
    </form> 
    
    
    </body>
    
    <html>



    ['jpg','png'].contains(ext)是判断文件是否为图片的,只有jpg和png格式才能通过,同时通过disabled返回值
     ext = name.replace(/^.+./,’’)删除文件的名称

    在上传不成功的页面打开源码,

     把disabled=“”删除,成功地将一句话木马上传

    通过蚁剑扫描,找到flag

     

    解题过程中遇到了如下情况:

     主要考虑一句话木马的语法是否写对和数据配置是否正确:

     

  • 相关阅读:
    aspose.word 页脚插入图片图片浮动
    Aspose.Words插入表格,表格居中显示
    git常用命令
    openlayers之矢量加载标记点
    三、反射、动态加载
    openlayers交互之多边形
    openlayers轨迹回放
    openlayers交互之线
    关闭2000的默认共享
    开始blog,有点晚,但还是早
  • 原文地址:https://www.cnblogs.com/elegantcloud/p/13797380.html
Copyright © 2011-2022 走看看