zoukankan      html  css  js  c++  java
  • 第四届红帽杯小记

    MISC:

    签到

    1、附件下下来是一个名为EBCDIC的文件,打开后看不懂

     上网查到,EBCDIC为一种较为古老的编码方式,最初是对着百科的EBCDIC表一个个写下来的,写完提交还是会有错。

    后发现010支持直接解码。

     

     WEB:

    find_it

    题目可以扫描,找到robots.txt

    随后提示你需要访问1ndexx.php。

    访问1ndexx.php后是空白的。

    访问备份文件,这里再复习一下备份文件。

    .rar
    .zip
    .7z
    .tar.gz
    .bak
    .txt
    .old
    .temp
    .tmp
    等等

    http://eci2zefc95c45rhg0wuefre.cloudeci1.ichunqiu.com/.1ndexx.php.swp

    这里还学到一个之前很少接触的view-source:协议

    用view-source:直接看页面源码,现在只有chrome和火狐支持。

    回显源码为:

    <?php $link = mysql_connect('localhost', 'root'); ?>
    <html>
    <head>
      <title>Hello worldd!</title>
      <style>
      body {
        background-color: white;
        text-align: center;
        padding: 50px;
        font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
      }
    
      #logo {
        margin-bottom: 40px;
      }
    </style>
    </head>
    <body>
      <img id="logo" src="logo.png" />
      <h1><?php echo "Hello My freind!"; ?></h1>
      <?php if($link) { ?>
        <h2>I Can't view my php files?!</h2>
      <?php } else { ?>
        <h2>MySQL Server version: <?php echo mysql_get_server_info(); ?></h2>
      <?php } ?>
    </body>
    </html>
    <?php
    
    #Really easy...
    
    $file=fopen("flag.php","r") or die("Unable 2 open!");
    
    $I_know_you_wanna_but_i_will_not_give_you_hhh = fread($file,filesize("flag.php"));
    
    
    $hack=fopen("hack.php","w") or die("Unable 2 open");
    
    $a=$_GET['code'];
    
    if(preg_match('/system|eval|exec|base|compress|chr|ord|str|replace|pack|assert|preg|replace|create|function|call|~|^|\`|flag|cat|tac|more|tail|echo|require|include|proc|open|read|shell|file|put|get|contents|dir|link|dl|var|dump/',$a)){
      die("you die");
    }
    if(strlen($a)>33){
      die("nonono.");
    }
    fwrite($hack,$a);
    fwrite($hack,$I_know_you_wanna_but_i_will_not_give_you_hhh);
    
    fclose($file);
    fclose($hack);

    分析源码,题目存在flag.php并且已经通过I_know_you_wanna_but_i_will_not_give_you_hhh读取文件内容。

    存在hack.php,并且支持GET方式传入a的值。

    传入的a有经过过滤、判断长度等。

    随后将a写入hack.php

    但是这题有非预期解法,不需要想办法绕过题目限制

    直接/index.php?code=<?=phpinfo();?>将phpinfo写入hack.php

    随后访问hack.php

    发现flag被写进phpinfo全局变量中。

     WebsiteManger

    题目为一登录框

    查看源码后发现登录框内图片格式为image.php?id=1

    此处存在sql盲注,利用布尔盲注脚本。

     看大佬的WP,随后是利用伪协议file://去ssrf读文件

    file:///flag

  • 相关阅读:
    理解javascript中的Array类型
    解决EF 4.0 中数据缓存机制
    vim学习之旅01-文本搜索并高亮显示
    Quartz.Net 学习之路02 初探Quartz.Net
    Quartz.Net 学习之路01 安装Quartz.Net
    EasyUI这个框架用了好久了,总结一下遇到的问题和解决方法
    记录剪切板
    如何将Unicode字符转换成简体字
    ass字幕转换成文本文件
    Change WORDS
  • 原文地址:https://www.cnblogs.com/cmredkulaa/p/14754981.html
Copyright © 2011-2022 走看看