zoukankan      html  css  js  c++  java
  • 噗,纪念一下我(在队长指导下)做出的第一道ctf签到题(逃)——下载下载

     其他大佬的wp:http://www.safe-w22.com/index.php/archives/741     安卓之类的(zip)

    https://url.cn/5PyIddy   WEB题

    2019掘安杯,某国家题:下载下载

    我一开始= = 太naive,下载了这个蓝色链接的文件,打开是这样的。(大佬直接burp拿到flag文件)

    虽然我完全是萌新,不过基础操作还是会一点的。F12查看网页源代码。发现注释了几行。

    右键蓝色链接 复制链接,粘贴到地址栏,把txt改成php,下载php文件。

     1 <?php
     2 header('Content-Type: text/html; charset=utf-8'); //网页编码
     3 function encrypt($data, $key) {
     4     $key = md5 ( $key );
     5     $x = 0;
     6     $len = strlen ( $data );
     7     $l = strlen ( $key );
     8     for($i = 0; $i < $len; $i ++) {
     9         if ($x == $l) {
    10             $x = 0;
    11         }
    12         $char .= $key {$x};
    13         $x ++;
    14     }
    15     for($i = 0; $i < $len; $i ++) {
    16         $str .= chr ( ord ( $data {$i} ) + (ord ( $char {$i} )) % 256 );
    17     }
    18     return base64_encode ( $str );
    19 }
    20 
    21 function decrypt($data, $key) {
    22     $key = md5 ( $key );
    23     $x = 0;
    24     $data = base64_decode ( $data );
    25     $len = strlen ( $data );
    26     $l = strlen ( $key );
    27     for($i = 0; $i < $len; $i ++) {
    28         if ($x == $l) {
    29             $x = 0;
    30         }
    31         $char .= substr ( $key, $x, 1 );
    32         $x ++;
    33     }
    34     for($i = 0; $i < $len; $i ++) {
    35         if (ord ( substr ( $data, $i, 1 ) ) < ord ( substr ( $char, $i, 1 ) )) {
    36             $str .= chr ( (ord ( substr ( $data, $i, 1 ) ) + 256) - ord ( substr ( $char, $i, 1 ) ) );
    37         } else {
    38             $str .= chr ( ord ( substr ( $data, $i, 1 ) ) - ord ( substr ( $char, $i, 1 ) ) );
    39         }
    40     }
    41     return $str;
    42 }
    43 
    44 $key="MyCTF";
    45 $flag="o6lziae0xtaqoqCtmWqcaZuZfrd5pbI=";//encrypt($flag,$key)
    46 ?>

    我没学过php,直接看别的无关的php代码,大概知道怎么输出结果,修改了一下。

     1 <?php
     2 header('Content-Type: text/html; charset=utf-8'); //网页编码
     3 function encrypt($data, $key) {
     4     $key = md5 ( $key );//MyCTF:
     5     $x = 0;
     6     $len = strlen ( $data );
     7     $l = strlen ( $key );
     8     for($i = 0; $i < $len; $i ++) {
     9         if ($x == $l) {
    10             $x = 0;
    11         }
    12         $char .= $key {$x};
    13         $x ++;
    14     }
    15     for($i = 0; $i < $len; $i ++) {
    16         $str .= chr ( ord ( $data {$i} ) + (ord ( $char {$i} )) % 256 );
    17     }
    18     return base64_encode ( $str );
    19 }
    20 
    21 function decrypt($data, $key) {
    22     $key = md5 ( $key );
    23     $x = 0;
    24     $data = base64_decode ( $data );
    25     $len = strlen ( $data );
    26     $l = strlen ( $key );
    27     for($i = 0; $i < $len; $i ++) {
    28         if ($x == $l) {
    29             $x = 0;
    30         }
    31         $char .= substr ( $key, $x, 1 );
    32         $x ++;
    33     }
    34     for($i = 0; $i < $len; $i ++) {
    35         if (ord ( substr ( $data, $i, 1 ) ) < ord ( substr ( $char, $i, 1 ) )) {
    36             $str .= chr ( (ord ( substr ( $data, $i, 1 ) ) + 256) - ord ( substr ( $char, $i, 1 ) ) );
    37         } else {
    38             $str .= chr ( ord ( substr ( $data, $i, 1 ) ) - ord ( substr ( $char, $i, 1 ) ) );
    39         }
    40     }
    41     return $str;
    42 }
    43 
    44 $key="MyCTF";
    45 $flag="o6lziae0xtaqoqCtmWqcaZuZfrd5pbI=";//
    46 $ans=encrypt($flag,$key);
    47 print $ans;
    48 ?>

     直接用phpstudy myHomePage运行,莫得结果。

    于是在队长的指点下(其实是直接告诉我)。

    把末尾的 encrypt改成decrypt...

     得到flag.  myCTF{cssohw456954GUEB}


    接下来是看了其他人的wp,所以想要复现一下QAQ。

    http://120.79.1.69:8887/web3/ 

    猜密码

    这个我看了源码..但是我真的没学过php啊。。。看了一会儿,能够感觉它的简单,但是并没有做出来QAQ,还傻乎乎地输了password 之类的,密码错误

    然后直接点击,猜密码(什么也不用输入)

    Flag:jactf{09fb10c51810d92e1b7405d143332886}


     有一题。。回复公众号

  • 相关阅读:
    CSDN如何能实现直接粘贴把图片上传到服务器中
    Blog如何能实现直接粘贴把图片上传到服务器中
    博客如何能实现直接粘贴把图片上传到服务器中
    wordpress如何能实现直接粘贴把图片上传到服务器中
    CMS如何能实现直接粘贴把图片上传到服务器中
    html+Nginx超大视频上传解决方案
    《TrustZone for Armv8-A》阅读笔记
    《ARM Trusted Firmware》阅读笔记
    《Linux/Unix系统编程手册》 第29章 线程:介绍
    《Linux/UNIX系统编程手册》第28章 详述进程创建和程序执行
  • 原文地址:https://www.cnblogs.com/greenaway07/p/10662543.html
Copyright © 2011-2022 走看看