1        XCTF平台Web新手练习区

 

https://adworld.xctf.org.cn/task/task_list?type=web&number=3&grade=0&page=1

 

 

1.1      view_source

 

  无法右键;

 

  F12,取得flag~

 

1.2      robots

 

  根据题目提示,尝试访问robots.txt;

 

  获得信息:f1ag_1s_h3re.php,访问该php文件;

 

  取得flag~

 

1.3      backup

 

  备份文件,尝试访问index.php.bak文件;

 

 

  下载该备份文件;

 

 

  取得flag~

 

1.4      cookie

 

  查看cookie;

 

  访问cookie.php文件;

 

  查看返回包;

 

  取得flag~

 

1.5      disabled_button

 

  将disabled删掉后点击按钮;

 

  或者POST auth=flag;

 

  取得flag~

 

1.6      weak_auth

 

  尝试输入;

 

 

  用admin;

  提示需要一本字典,应该是弱口令爆破;

 

  尝试了一下123456,取得flag,emmm…

 

1.7      simple_php

 

 

  分析一下代码:

  用GET方法传递两个参数a和b,$a==0为真且$a为真时给flag1,$b不是数字或数字字符串,且$b>1234时给flag2;

 

 

  构造一下取得flag~

 

1.8      get_post

 

  让用GET提交一个名为a值为1的参数;

 

  然后用hackerbar工具用POST提交一个名为b值为2的参数;

 

 

 

  取得flag~

 

1.9      xff_referer

 

  限定了访问IP必须为123.123.123.123;

 

 

  拦包后添加XFF头部参数并添加IP123.123.123.123;

 

  又提示必须来自https://www.google.com;

 

  添加Referer字段,取得flag;

 

1.10  webshell

 

  根据题目,该句话在index.php文件中,直接拿菜刀连;

  我用的是Cknife,好像连不上,直接输命令吧;

 

  可以看到web目录下有一个flag.txt文件;

 

  打印flag.txt文件内容,取得flag~

 

1.11  command_execution

 

 

  用管道符即可输入命令,先判断是什么操作系统;

 

 

  判断为linux系统,当前目录下只有index.php文件;

 

 

  很多文件夹啊,分析一下,根据最近修改时间可以判断只要不是今天的基本可以排除,然后根据文件大小,过小的可以排除,只剩下/etc、/home和/tmp了,一般不会在/tmp临时文件里,看看/etc和/home里都有啥;

 

 

  我首先试了/home,很惊喜啊,直接找到了flag.txt;

 

 

  查看文件内容,取得flag~

 

1.12  simple_js

 

  直接让输入密码,随意输一个试试;

 

  查看源码,分析一下可以发现输入的内容格式大致应为用“,”断开的数字字符串;

 

 

  看到一串字符,先去转换一下变成十进制;

 

 

  试着用了一下这个函数,但是返回的是提示密码错误的返回,然后尝试转为ascii码对应的字符,获得一串字符后,根据题目提示flag格式为Cyberpeace{xxxxxxxxx},输入Cyberpeace{786OsErtk12},成功。