zoukankan      html  css  js  c++  java
  • web做题记录

    2020.1.19 南邮ctf 签到题

    题目:key在哪里?

      在火狐浏览器中右键选择打开查看源代码,在源代码可以看到如下

     因为是第一次做这个题,不知道提交啥,我先提交了“admiaanaaaaaaaaaaa”,其后提交了“flag_admiaanaaaaaaaaaaa”,最后觉得提交的应该带上网站的关键信息,我这才提交了nctf{flag_admiaanaaaaaaaaaaa}  (一言难尽)

    2020.1.19 南邮ctf 这题不是WEB

    题目:

     

    当时看见这个题目我是懵逼的,感觉应该是和那个gif文件有关

    ,在参考了下面这个知识点后,我尝试打开那个解码网页(但是!!姥姥家的信号是真的差,打不开网页,只能放弃

    选择了另存为图片在本地用记事本打开。看到了在一堆乱码中的flag

     2020.1.19 南邮ctf 单身二十年

    题目:到这里找key

      在题目网页中点击“到这里找key”会出现跳转http://chinalover.sinaapp.com/web8/search_key.php一瞬间后闪到http://chinalover.sinaapp.com/web8/no_key_is_here_forever.php

    过后在跳转网页中查看网页源代码,没有什么发现,选择用burp suite进行抓包,在http://chinalover.sinaapp.com/web8/no_key_is_here_forever.php时抓包并没有什么发现,后选择退出去在http://chinalover.sinaapp.com/web8/中进行抓包 repeater后得到flag

    2020.1.21 南邮ctf md5 collision

    题目:$md51 = md5('QNKCDZO');

    $a = @$_GET['a'];

    $md52 = @md5($a);

    if(isset($a)){

    if ($a != 'QNKCDZO' && $md51 == $md52) {

        echo "nctf{*****************}";

    } else {

        echo "false!!!";

    }}

    else{echo "please input a";}

    这是一个php源码的题,首先对@提出了疑问,经过百度后,得到如下结果

    然后对isset()函数提出了疑问,经过百度后得到:isset函数用于判断一个变量是否已经声明,且当判断一个变量存在且不为空时 先使用isset函数再使用empty函数

    了解后再看代码,发现还是看不懂,才发现是对MD5不明了,搜索后发现是一种加密方式,然后在网上搜索查看了’QNKCDZO’对应的加密结果发现是’0e830400451993494058024219903391’,所以尝试以get方式输入http://chinalover.sinaapp.com/web19/?a=0e830400451993494058024219903391后得到的结果是false。再读源码后发现需要的不是0e830400451993494058024219903391而是另一串未解码前的a,通过下图的提示,搜索以0e开头的以get方式得到的a

     如此得到了flag

    2020.1.21 南邮ctf 签到题2

    题目:

    在输入框输入zhimakaimen后,发现页面没有变化。选择了抓包,在抓包后发现如下问题

     

    即是text1的结果不是zhimakaimen 而是zhimakaime

    发送到repeater后,对这串数据进行修改并Go得到如下,由此得到了flag

    2020.1.21 南邮ctf COOKIE

    题目:please login in first   (另给出TIP0==not

    点击网页进入后出现了please login in first”的字样,因为题目的名字是cookie,便感觉应该与cookie有关,在火狐网页中F12打开存储中的cookie选项,得到如下

     发现值为0,有根据题中所给的提示,对值进行修改,将0改为1后,刷新页面,即可得到flag,如图

    2020.2.6 南邮ctf 单身一百年也没用

     “单身二十年”一题非常类似。点击下图连接后,发现链接从http://chinalover.sinaapp.com/web9/http://chinalover.sinaapp.com/web8/no_key_is_here_forever.php

     

    所以联想到web8,进行抓包,得到flag

    2020.2.6 南邮ctf SQL注入1

    题目:

     

    首先提交了一下查询,不出意料的错了,点击查看了source,发现了下图,要求user格需要输入admin

     直接去尝试(没用到sql注入,但还是去尝试了),当然还是错了,又去看代码,思考密码的要求,网上搜索后,发现了下图的思路

    又去看代码发现,下图语句,看出userpass是一起检测的,所以尝试在输入admin时直接将后面关于密码的部分注释

    #),同时保证注释掉后面的部分后,关于user的部分仍然闭合,执行如下,得到flag

     

    2020.2.16 南邮ctf php是世界上最好的语言

    题目进去后就是404 Not Found ,查看源码后没有什么发现,在网上搜了一下说是挂了??

    2020.2.16 南邮ctf sql注入2

    题目:主要考察union

    查看代码,与上一道注入题不同的是,用户名和密码不是一同查询的了,所以直接注释掉密码的方法不可行了,分析代码,(strcasecmp用忽略大小写比较字符串.,通过strcasecmp函数可以指定每个字符串用于比较的字符数,strncasecmp用来比较参数s1s2字符串前n个字符,比较时会自动忽略大小写的差异)

    返回值:

    该函数返回:

    0 - 如果两个字符串相等

    <0 - 如果 string1 小于 string2

    >0 - 如果 string1 大于 string2

    需要if语句为真才能得到flag,即需要密码不为空且!Strcasecmp($pass,$query[pw])为真,因为两者相等时,值为0,!0即为真,所以需要我们输入的密码与数据库中的密码相等

    这时,查看sql语句"select pw from ctf where user='$user'"我们可以通过union查询语句,自己设定密码,即让色块部分失效,又因为密码是md5加密的,那么在数据库中,密码也应该是md5加密的,所以加入我们设定密码为username,那么就需要对username进行加密

    执行’union select ‘14c4b06b824ec593239362517f538b29’# 密码输入username,得到flag

     

     参考资料:https://wenku.baidu.com/view/3f3e03c84431b90d6c85c7fb.html

    2020.2.16 南邮ctf 起名字真难

    题目:源码:<?php

    function noother_says_correct($number)

    {

           $one = ord('1');   //数字1

           $nine = ord('9');  //数字9

           for ($i = 0; $i < strlen($number); $i++)

           {   

                   $digit = ord($number{$i});

                   if ( ($digit >= $one) && ($digit <= $nine) )

                   {

                           return false;    //一串数字每一个数字不能是1-9

                   }

           }

              return $number == '54975581388';

    }

    $flag='*******';

    if(noother_says_correct($_GET['key']))  //需要与54975581388相同

       echo $flag;

    else

       echo 'access denied';

    ?>

    分析源码,想要得到flag需要函数执行为真,那么分析函数,其中ord表示“ASCLL码值转换为字符”,根据别人的wp,得知可将54975581388转换成十六进制:0xCCCCCCCCC=54975581388url中以get方式输入,即可得到flag

    2020.2.23 南邮ctf 文件包含(不是很懂

    题目:没错 这就是传说中的LFI

    ok,看不懂是什么意思,搜了一下lfi,是一种漏洞的名字,具体参考https://blog.csdn.net/qq_29419013/article/details/81202358

    可以通过构造一个漏洞,来查看需要的代码,即:?file=php://filter/read=convert.base64-encode/resource=index.php ,可以得到如下

    进行解码,可以得到如下代码,即可得到flag

    <html>
        <title>asdf</title>
        
    <?php
        error_reporting(0);
        if(!$_GET[file]){echo '<a href="./index.php?file=show.php">click me? no</a>';}
        $file=$_GET['file'];
        if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
            echo "Oh no!";
            exit();
        }
        include($file);
    //flag:nctf{edulcni_elif_lacol_si_siht}

    ?>
    </html>

    2020.2.23 南邮ctf php decode

    题目:见到的一个类似编码的shell,请解码

     对源码进行分析,经过搜索得知,gzinflate是一种解压函数,把这个代码直接拿来运行,不造为什么出现下面的报错

     wa,突然发现我好傻。。。echo,哎,把代码改成如下

     还是直接运行代码得到flag

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    2020.2.1 攻防世界 cookie

    题目:你知道什么是cookie

    在火狐浏览器中,使用F12快捷键,在存储中查看cookie,如下图发现值是cookie.php

     将浏览器网页地址改为http://111.198.29.45:44150/cookie.php,得到如下,根据提示,查看网络

    点击F12快捷键,在网络中可看到如下,如此可得到flag

    2020.2.1 攻防世界 Robots

    题目:robots协议

    根据提示,本题主要考察robots协议,题目的第一个页面是空白页面在查看网页源代码没有发现后,首先网络搜索robots协议得到

        robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据Metadata,又称元数据)。

    robots协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。

      对此协议有了一定了解之后尝试在网页中查询一个网页的robots协议,即将网址改成http://111.198.29.45:45981/robots.txt即可查看到一个网页的robots协议,得到flagphp

     

    起初,我得到f1ag_1s_h3re.php后,选择直接在http://111.198.29.45:45981/robots.txt后添加/f1ag_1s_h3re.php即:http://111.198.29.45:45981/robots.txt/f1ag_1s_h3re.php    但发现网页出现404,再次思考robots协议后,理解到/robots.txt只是让我们可以查看到网页的robots,但是已经不是原网页,所以将网址修改为http://111.198.29.45:45981/f1ag_1s_h3re.php后,得到flag

    2020.2.1 攻防世界 simple_is

    题目:小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )

    打开题目后没有什么发现,就查看了网页源代码得到如下

     这个东西真的时看了半天也没看明白,但代码中有两串数字:

    70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65

    x35x35x2cx35x36x2cx35x34x2cx37x39x2cx31x31x35x2cx36x39x2cx31x31x34x2cx31x31x36x2cx31x30x37x2cx34x39x2cx35x30"

    第二串数字看着是十六进制,又因为题目给到的提示是flag的格式为Cyberpeace{xxxxxxxxx}  联想到其他的flag答案,利用ASCII码对应将这串数字70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65  转换成字符得到:FAUX PASSWORD HAHA  是错误答案,于是尝试第二串数字

    将第二串数字以同样的方式转换得到一串十进制数55565479115691141161074950,将得到的数字参考ASCII码转换成字符得:786OsErtk12

    根据题目要求的flag格式得到flag为:Cyberpeace{786OsErtk12}

    2020.2.1 攻防世界 backup

     题目:寻找备份文件

     打开题目后查看了网页源代码,没有发现什么,网络搜索“如何查看php的备份文件”没有收获,就去参考了别人的答案,得到了如下结果,利用http://111.198.29.45:41189/index.php.bak

     将该文件下载后查看网页源代码即可得到flag

    但是有一个疑问:为什么是http://111.198.29.45:41189/index.php.bak

    搜索后得知php.bak文件是有些编辑器在编辑文件时自动备份的文件,用于紧急恢复

     

     

  • 相关阅读:
    怎么修改android飞行模式wifi
    斐讯n1盒子装远程迅雷
    Spring使用大全
    面向对象7大设计原则
    Mybatis之SqlNode解析
    【转载】MongoDB的C#驱动程序教程
    【转载】 mongodb C# 基本类库
    【转载】列举MongoDB C#驱动的几个Query方法
    【转载】MongoDB开发学习
    【转载】sql全国省市区数据库建表过程
  • 原文地址:https://www.cnblogs.com/B-roin/p/12317697.html
Copyright © 2011-2022 走看看