zoukankan      html  css  js  c++  java
  • ADWORLD 攻防世界/web/新手练习题目

    网站  https://adworld.xctf.org.cn/task

     


    01. view_source

        问题描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。

        解决方法: 使用view-source指令查看源码 view-source:http://——————

                                     获取源码的一般方法:1 firefox访问后右键进行查看

                                                                         2 view-source指令(如上)

     


    02.Robots

        问题描述:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。

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

    https://baike.baidu.com/item/Robots%E5%8D%8F%E8%AE%AE

       解决方案:在该地址下直接访问robots.txt,获得如下界面:

                         继续访问   f1ag_1s_h3re.php   即可得到flag


    03.backup

    题目描述:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!

    解决方法:访问地址,根据提示

                      

                      index.php的备份文件名是index.php.bak,直接访问index.php.bak,如下图

                     

                      用txt打开即获得flag


    04.cookie

    题目描述:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?’

    Cookie指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据

    Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。

    解决方法:方法一:使用burpsuite查看requests和response

           

     

     

                       方法二:F12打开火狐的hackbar

                                     点击 网络,在消息头中可以看见    Set-Cookie look-here=cookie.php

                                     继续访问cookie.php

                                     在消息头中可看见flag

            


    05.get post

    问题描述:X老师告诉小宁同学HTTP通常使用两种请求方法,你知道是哪两种吗?

    了解http请求方法,此处考察get和post两个最常用的请求方法。

    HTTP协议中共定义了八种方法或者叫“动作”来表明对Request-URI指定的资源的不同操作方式,具体介绍如下:

    GET:向特定的资源发出请求。

    POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。

    OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。

    HEAD:向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。

    PUT:向指定资源位置上传其最新内容。

    DELETE:请求服务器删除Request-URI所标识的资源。

    TRACE:回显服务器收到的请求,主要用于测试或诊断。

    CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

    https://www.cnblogs.com/qing123tian/p/10785372.html

    https://www.w3school.com.cn/tags/html_ref_httpmethods.asp

    解决方法:1、请用GET方式提交一个名为a,值为1的变量

                            在url后输入 ?a=1

                      2、请再以POST方式随便提交一个名为b,值为2的变量

                          F12进入火狐的hackbar,如下图

                           依次点击 Load URL  >  Post Data   > 输入b=2

                           点击excute得到flag

                           


    06.simple php

      问题描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。

      解决方法:进入题目看见源码如下

    <?php
    show_source(__FILE__);
    include("config.php");
    $a=@$_GET['a'];
    $b=@$_GET['b'];
    if($a==and $a){
        echo $flag1;
    }
    if(is_numeric($b)){
        exit();
    }
    if($b>1234){
        echo $flag2;
    }
    ?>

         大致题意就是给a和b赋值可以各出现半段flag

          在PHP中遇到数字与字符串进行松散比较()时,会将字符串中前几位是数字且数字后面不是”.",“e"或"E"的子串转化为数字,与数字进行比较,如果相同则返回为true,不同返回为false,后面的所有字符串直接截断扔掉。若输入的字符串是字母在前,如abc123,因为字符串首没有数字,只能识别转换成0。

         输入?a=a&b=1235c得到完整flag


    07.webshell

    问题描述:小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。

    webshell是web入侵的脚本攻击工具。简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器web目录中,
    与正常的网页文件混在一起。然后黑客就可以用web的方式,通过asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。

    解决方法:用蚁剑链接地址
                      

                         在数据中发现flag.txt,打开获得flag

                    

                    


    08.weak_auth

    问题描述:小宁写了一个登陆验证页面,随手就设了一个密码。

    解决方法:       随意输入用户名和密码,出现以下提示:

                             

                            继续使用admin为用户名,任意为密码

                                      提示为密码错误

                                      同时源码中可以看见提示

                             使用brupsuite进行抓包

     

     

     

                              发现123456是正确密码,输入得到flag


    09.disabled_button

    题目描述:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?

    解决方法:将源码中的disabled修改为abled


    10.simple_js

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

    行为分析:无论输入什么都是错的,无论怎么输入都返回同一个错误提示。

    解决方法:1 查看源代码,可以发现js代码

                   

    <html>
    <head>
        <title>JS</title>
        <script type="text/javascript">
        function dechiffre(pass_enc){
            var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
            var tab  = pass_enc.split(',');
                    var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;
                            k = j + (l) + (n=0);
                            n = tab2.length;
                            for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
                                    if(i == 5)break;}
                            for(i = (o=0); i < (k = j = n); i++ ){
                            o = tab[i-l];
                                    if(i > 5 && i < k-1)
                                            p += String.fromCharCode((o = tab2[i]));
                            }
            p += String.fromCharCode(tab2[17]);
            pass = p;return pass;
        }
        String["fromCharCode"](dechiffre("x35x35x2cx35x36x2cx35x34x2cx37x39x2cx31x31x35x2cx36x39x2cx31x31x34x2cx31x31x36x2cx31x30x37x2cx34x39x2cx35x30"));
    
        h = window.prompt('Enter password');
        alert( dechiffre(h) );
    
    </script>
    </head>
    
    </html>

       分析发现输出的一直是70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65的ascii输出

      

                               真正的flag藏在下方那一串16进制数中x35x35x2cx35x36x2cx35x34x2cx37x39x2cx31x31x35x2cx36x39x2cx31x31x34x2cx31x31x36x2cx31x30x37x2cx34x39x2cx35x30

                              用python处理得到数组

                                   再转换成ascii码

                                   得到flag   cyberpeace{786OsErtk12}

                            参考 https://www.52pojie.cn/thread-1256623-1-1.html


                

  • 相关阅读:
    磁盘冗余 ---RAID磁盘管理
    linux磁盘管理
    linux基础命令
    Apache配置rewrite
    memcache运维整理
    mysql主从配置
    rsync相关整理
    Lua 学习笔记(六)
    Lua 学习笔记(五)
    Lua 学习笔记(四)
  • 原文地址:https://www.cnblogs.com/elegantcloud/p/13736926.html
Copyright © 2011-2022 走看看