攻防世界:web题(新手)

攻防世界 web题(新手)

view_source

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

  • 获取在线场景,进入网页

  • 由于右键没法使用,直接从设置里进入

  • 得到flag,so easy…….

  • 看别人的博客发现还可通过view-source:的方法来访问源码:view-source:url

get_post

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

  • 打开场景网页,显示让我们使用get方式提交一个a值为1的数据,那么可以直接再链接后面添加?a=1即可

  • 又让我们使用post方式提交数据,可以写一个简单的包含form表单的页面来实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
        </head>
        <body>
            <form method="POST" action="http://111.198.29.45:55483/?a=1">
                <input type="text" name="b" value="2">
                <input type="submit">
            </form>
        </body>
    </html>

    打开页面点击提交即可。

  • 得到答案:cyberpeace{5bb0e92a4c1b563c6ae7b2190d27f12d}

  • 当然使用浏览器的插件更加方便,懒得下载了,以后没办法了再说吧。。。。。

robots

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

  • 关于robots协议的

    robots协议就是告诉爬虫什么网页是不能爬的,爬了就要违法的,一般存放于网站的根目录,可以直接通过 域名+robots.txt获取

  • 我们访问http://111.198.29.45:37876/robots.txt的到了下面的东西

    User-agent: *
    Disallow: 
    Disallow: f1ag_1s_h3re.php
  • 接着访问http://111.198.29.45:37876/f1ag_1s_h3re.php的到flag

    cyberpeace{b6a3011aae65e9fd2d857594413f50b1}

backup

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

备份文件

  • 备份文件就是编辑器或管理员再编写文件时为了防止不小心删除文件时方便的恢复而做的备份,而网站往往对备份文件疏于保护,使我们可以直接获取到。
  • 关于备份文件的详细讲解,有篇博文写的挺好的备份文件:被低估的Web威胁

解题

  • 多试几次index.php的备份文件名,就行了
  • 访问:http://111.198.29.45:54006/index.php.sava 的到一个文件,用记事本打开的到答案
  • 答案:flag=”Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}”

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

  • 打开网址,右键查看NETwork信息,选择all发现了两个文件,再requests headers里找到cookie字段:look-here:cookie.php

  • 访问http://111.198.29.45:44784/cookie.php

  • 还是查看network中的cookie.php,找到response headers发现了flag

    cyberpeace{35d2b66f27b94ab715ccd8d8d49431f0}

  • 如果netword里面没有文件就刷新一下

disabled_button

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

  • 访问网址,右键检查
  • 找到按钮标签,发现按钮有个属性disabled 将其直接删除,这样按钮就可以点击了
  • 点击获取答案cyberpeace{938cf1757b57a24994fc33fa86b4089a}

simple_js

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

  • 打开链接,让输入密码,瞎写了一个,错了。

  • 查看网页源代码

    • 发现了这个var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65"; 本来以为他是密码,转换成了 acill 码转换成字符的到了'FAUX PASSWORD HAHA' 输入HAHA, 不对

    • 下面还有一个像是答案的东西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"));,16进制转换成字符得到了786OsErtk12

      a = "\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"
      a = [int(i) for i in a.split(',')]
      s = ''.join([chr(i) for i in a])
      print(s)
  • 构建提交答案:Cyberpeace{786OsErtk12} )

xff_referer

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

weak_auth

分析过程

  • 打开获取到的链接,发现选用登录,胡乱输入

  • 然后让我以admin管理员登录,输入admin,输入一个密码,对我说密码错误。

  • 查看网页源代码http://111.198.29.45:51759/check.php,有提示

  • 很明显的弱口令爆破提示:dictionary。使用burp suite爆破即可

实现过程

实现过程极为艰辛,我都快哭了,还好最后百度知道里的大佬救了我,其实也是因为我太沙雕了,,,,,

  • 下载-安装-使用burp suite请移步我的另一篇博客。

  • 加载弱口令文件,开始爆破

    123456 的返回长度不一样,点击查看response发现答案cyberpeace{748c243fe73aa5339bc8795a3fa04d1d}

webshell

解题过程

  • 打开链接,发现

  • 一句话木马放在了index.php中,利用shell命令可以获取到后台

  • 使用中国菜刀,获取到网站后台

  • 点击flag.txt获取到答案 cyberpeace{466ada95b53dd9bce5adfd430dc401f0}

菜刀下载

command_execution

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

Linux 命令行执行多条命令

  • command1 && command2

    顺序执行,遇到执行失败的命令则终止

  • command1 || command2

    顺序执行,如果有命令执行成功则终止

  • command1 ; command2

    顺序执行,无论命令是否执行成功,直到执行完所有命令

分析过程

  • 没有设置waf代表我们输入的任何东西会直接进入程序中

  • 随意输入一个地址得到ping的结果发现程序应该是直接和系统的shell进行交互的

  • 那么我们首先就是要构造命令查看当前目录下的文件

    adsf; ls

    发现就只有一个php文件

  • 由于我们无法得到任何的文件夹名,只能向上查看文件夹中的内容,执行

    asdf; ls ../../../可以查看向上三层的文件夹中的内容

  • 发现了一个名为 home的文件夹,查看文件夹中的内容

    asdf; ls ../../../home发现了flag.txt

  • 执行asdf; cat /home/flag.txt获取到答案

    cyberpeace{d02b8c511da6fc03c9851f347af4414f}

其实可以执行 asdf; find / -name flag*的到全部目录下所有以flag开头的文件

Linux下各种查找命令(find, grep, which, whereis, locate)

simple_php

is_numeric 绕过

  • isnumeric() 用来判断是否位数字,为数字则返回true, 由于php为弱类型语言,则将数字后面加上空格(%20) / 空白符(%00) 或者任意字符即可绕过
  • 当a=0%20 是,进行if(a==0)判断返回的结果还是true,但if(a) 的结果为非零也为真。

解题过程

  • 访问 题目地址+/?a=0%20&b=5555%20即可得到答案

    Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}


   转载规则


《攻防世界:web题(新手)》 ZS 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录