攻防世界-Web-练习区12题解

攻防世界-Web-新手区

一、view_source

题目描述:

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

解决思路:
打开F12,查看网页源代码
在这里插入图片描述

拿到flag

cyberpeace{486c0bb86e85a7a04bf3675de3d9357c} 

二、get_post

题目描述:

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

解决过程:

  1. 打开后发现:请用GET方式提交一个名为a,值为1的变量

  2. 在路径后添加 ?a=1,发现又有新的问题:

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

  3. 用Burp Suite进行抓包重新发送
    在这里插入图片描述

  4. 得到flag

    cyberpeace{b4b8028bbe315eb7ee4a804b72329254}
    

三、rebots

题目描述:

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

解题过程:

  1. 了解robots协议:

    robots:搜索引擎经过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信息。

    您能够在您的网站中建立一个纯文本文件robots.txt,在这个文件中声明该网站中不想被robot访问的部分,

    这样,该网站的部分或所有内容就能够不被搜索引擎收录了,或者指定搜索引擎只收录指定的内容。该文件默认在网站根目录下。

    所以直接访问该地址下的robots.txt文件看到flag文件后,访问该文件便可。

  2. 在这里插入图片描述

  3. 访问flag_ls_h3re.php

    在这里插入图片描述

  4. 得到flag

    cyberpeace{cfd7a84acc3b0314e85b47a2af6987fd}
    

四、backup

题目描述:

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

解题过程:

  1. 通过界面的提示,要找到index.php的备份文件

  2. 百度php备份文件
    在这里插入图片描述

  3. 访问index.php~没找到,访问index.php.bak下载了一个文件

    在这里插入图片描述

  4. 使用文本编译器打开该文件
    在这里插入图片描述

  5. 找到flag

    Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}
    

五、cookie

题目描述:

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

解题过程:

  1. 查看本地cookie,按F22
    在这里插入图片描述

  2. 查看到cookie中给了个提示cookie.php,访问cookie.php

  3. 给了提示,查看请求头,按F12查看请求头

  4. 在这里插入图片描述

  5. 找到flag

    cyberpeace{a85b6d6bd8477b670e6c92ee4f15a12e}
    

六、disabled_button

题目描述:

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

解题过程:

  1. 使按钮能按下去,按F12,找到按钮的网页源代码
    在这里插入图片描述

  2. 删除后再点击按钮
    在这里插入图片描述

  3. 得到flag

    cyberpeace{787d3cfb5e97261e32ba91524b81cc40}
    

七、weak_auth

题目描述

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

解题过程:

  1. 使用1,1登录,提示要用用户名为admin的账户登录

  2. 使用Burp Suite拦截登录请求,使用intrder进行爆破
    在这里插入图片描述
    在这里插入图片描述
    3.上网搜索常见的弱口令字典,进行爆破
    在这里插入图片描述
    4.使用账户名:admin,密码:123456,获得flag

    cyberpeace{2ec781d3320b638faace14f57410ee4a}
    

八、simple_php

题目描述

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

解题过程:

  1. 得到一些代码

    <?php
    show_source(__FILE__);
    include("config.php");
    $a=@$_GET['a'];
    $b=@$_GET['b'];
    if($a==0 and $a){  # 如果a的值==0 并且为空,输出flag1
        echo $flag1;
    }
    if(is_numeric($b)){  # 如果b的值是数字,退出
        exit();
    }
    if($b>1234){       # 如果b的值大于1234,输出flag1
        echo $flag2;
    }
    ?> 
    
  2. 了解php的 == ,构建a =0a,b=1235a,转换后a=0,b=1235符合条件在这里插入图片描述
    在这里插入图片描述

  3. 得到flag

    Cyberpeace{647E37C7627CC3E4019EC69324F66C7C} 
    

九、xff_referer

题目描述:

X老师告诉小宁其实xff和referer是可以伪造的。

解题过程:

  1. 了解xff和referer

    xff:X-Forwarded-For。是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。

    refer:HTTP来源地址。 是HTTP表头的一个字段,用来表示从哪儿链接到当前的网页,采用的格式是URL。 简单的讲,referer就是告诉服务器当前访问者是从哪个url地址跳转到自己的

  2. 规定了ip地址必须为:123.123.123.123,使用Burp Suite伪造请求,添加

    X-Forwarded-For: 123.123.123.123
    

    在这里插入图片描述

  3. 添加

    Referer:https://www.google.com
    

    在这里插入图片描述

  4. 获取flag

    cyberpeace{9a130273e54c9830b1b148706c0dedec}
    

十、webshell

题目描述:

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

解题过程:

  1. 了解webshell

    webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。

    使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站和服务器的管理。

    正因如此,也有小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的。

    webshell是一种通过上传脚本就可以管理网站和服务器的环境,

    “一句话木马”的原理

    最基础的一句话如下:

    <?php @eval($_POST[‘value’]);?>

    参数和符号解释:
    eval函数将括号内的代码通过php语言执行括号内就是通过POST方式传递一个名为’value’的表单(value也可以换成其他的名字)加上@后忽略了服务器的报错。

    过程:

    1. 黑客将包含“一句话”的脚本到服务器,服务器执行;
    2. 黑客便可以利用中国菜刀、蚁剑、冰蝎等工具进行连接(菜刀的原理可以见下面的博客);
    3. 一句话执行的代码会返回目录的句柄,从而拿到网站服务器的webshell;达到浏览、控制的目的。
  2. 使用kali的weevely,连接失败

    ┌──(kali㉿kali)-[~]
    └─$ weevely http://111.200.241.244:60850/ shell
    
    [+] weevely 4.0.1
    
    [+] Target:     111.200.241.244:60850
    [+] Session:    /home/kali/.weevely/sessions/111.200.241.244/_2.session
    
    [+] Browse the filesystem or execute commands starts the connection
    [+] to the target. Type :help for more information.
    
    weevely> help
    Backdoor communication failed, check URL availability and password
    
  3. 只好用中国菜刀试一下
    在这里插入图片描述
    在这里插入图片描述

  4. 得到flag

    cyberpeace{b7612a5ad012c8b3dc3d5feb9fb8ca62}
    

十一、command_execution

题目描述:
小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。

解题过程:

  1. 了解shell

    # 先执行 command1,如果为真,再执行 command2
    command1 && command2 
    
    # 只执行 command2
    command1 | command2 
    
    # 先执行 command2 后执行 command1
    command1 & command2 
    
    # 先执行 command1,如果为假,再执行 command2
    command1 || command2 
    
  2. 先试一试 ls,展示目录
    在这里插入图片描述

  3. 查看位置
    在这里插入图片描述

  4. 进入主目录看一下
    在这里插入图片描述

  5. 打开flag.txt
    在这里插入图片描述

  6. 得到flag

    cyberpeace{e4430c545c196a9bfc962d6cdf63c8fd}
    

十二、simple_js

题目描述:

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

解题过程:

  1. 按F12查看网页源代码,发现无论输入什么,都是用的假密码

    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("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));
    
        h = window.prompt('Enter password');
        alert( dechiffre(h) );
    
  2. 注意到 一串的\x组成的字符串,百度查看\x在编码中代表的意思
    在这里插入图片描述

  3. 使用python将其转成10进制,再通过ASCII找到对应的字符(chr()函数返回当前整数对应的 ASCII 字符)

    ──(kali㉿kali)-[~]
    └─$ python   
    Python 3.9.10 (main, Jan 16 2022, 17:12:18) 
    [GCC 11.2.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> str = "\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"
    >>> print(s)
    [55, 56, 54, 79, 115, 69, 114, 116, 107, 49, 50]
    >>> s = [55, 56, 54, 79, 115, 69, 114, 116, 107, 49, 50]
    >>> for i in s:
    ...    print(chr(i),end='')
    ... 
    786OsErtk12>>> 
    
  4. 得到flag

    Cyberpeace{786OsErtk12}
    
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值