声明:
由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。
环境:
训练网站:https://adworld.xctf.org.cn/task/task_list?type=web&number=3&grade=0
工具:FireFox,Kail Linux
001. view source
思路:无法在网页右击,可以判断是js禁止了我们右击。
解题:
1.我们禁用js后,刷新页面,右击->查看网页源代码,即可得到flag。
2.使用抓取网络请求的Respond,在返回的数据中即可看到源码和flag。
Flag: cyberpeace{38acf4e3641244fc86b1d53ea445e4c7}
002. robots
思路:根据题目提示,我们访问robots.txt文件
解题:访问robots.txt文件,得到一个该路径下该存在一个php文件。
我访问这个页面,即可得到flag。
flag: cyberpeace{587e789161756e3b2308784d040699fd}
003. backup
思路:index.php的备份文件有index.php.~或index.php.bak等。我们依次尝试。
解题:打开index.php.bak,我们可以下载到一个文件。
打开文件,即可得到flag。
flag: Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}
004. cookie
思路:涉及到cookie,我们先抓包试试。
解题:抓取数据包,分析到响应头中有一行Set-Cookie属性。提示我们查看地址。
进入后,提示我们,查看Respond,我们在响应头中发现有flag属性,得到flag。
flag: cyberpeace{0cd57b0ef9f5ac410e9aa1bee9abb5ce}
005. disabled_button
思路:根据提示,这里是一个不能点的button,想让它可以点击,只需将它的disabled属性去除即可。
解题:F12,定位到元素位置,删除disabled属性。
按钮变为可点击的。
点击,得到flag。
flag: cyberpeace{daa1ad16d98df768e44d073cb62e9efd}
006. weak_auth
思路:根据提示,这个网站的密码是个弱密码,我们使用爆破破解。
解题:我们先尝试登陆一下。
这里提示我们使用admin登陆,我们确定了用户名,使用BurpSuite对密码爆破即可。
我们得到密码为123456和flag。
flag: cyberpeace{d73be757a8e991226ceabd97dbaf5962}
007. simple_php
思路:给出后端的php代码,考察代码审计。这里考察php的===和==的区别。
“===”: 比较两个变量的值和类型
“==”:仅比较两个变量的值
解题:我们令$a='0',$b=1235b,http://111.200.241.244:62884/?a='0'&&b=1235b。
即可得到flag。
flag: Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}
008. get_post
思路:按照要求执行步骤。
解题:get提交一个a,a=1。
post提供一个b,b=2。即可得到flag。
flag: cyberpeace{371eb06ba5b2435cae1cd767c36a6fd5}
009. xff_referer
思路:根据提示按照步骤进行。
解题:要求ip地址必须为123.123.123.123,我们抓包增加xff(X-Forwarded-For)参数即可。
根据提示我们请求要来自https://www.google.com。
我们增加referencer属性。即可得到flag。
flag: cyberpeace{39524c2645feef7941da97e3c0f75cc9}
010. web_shell
思路:我们通过post一个shell参数,进行远程命令,通过远程命令查找flag。
解题:我执行一段system('ls'),查看当前目录下的文件。
找到了flag.txt,我们使用system('cat flag.txt')命令查看文件。即可得到flag。
flag: cyberpeace{2763043d91291fc3186387f94c3772c8}
011. command_execution
思路:根据提示,告知我们对方没有写WAF,对输入的数据没有检测和过滤。我们使用远程命令查找flag。
解题:由于是测试ping命令,我们使用本地环路地址作为测试地址,速度要快很多。后面接上&& 和命令。我们使用ls查看当前目录。
没有发现flag相关文件,我们使用查找命令,查找flag相关文件。
查找到/home下有flag.txt,我们cat该文件即可得到flag。
flag: cyberpeace{3eb1feea576795edfcadd60017e7ac47}
012. simple_js
解题:我们禁用js,进行前端代码审计。
发现了验证算法。分析得到下面的为flag。
看到编码,可以猜想为ASCII编码,我们保存这段字符串,转为十进制,在转为对应的ASCII编码即可。
得到flag。
flag: Cyberpeace{786OsErtk12}