写在前面:本人CTF小白,在web方面的水平更是不高,因此如果文中有不足之处,还请指出。写本文主要有两个目的:一是防止自己将做过的题目知识点遗忘,二是希望可以在一定程度上帮助到像我一样的小白。
本文习题均出自攻防世界的MISC新手区,链接如下:
攻防世界
1.view_source
题目中说右键不好用了,意思是说无法通过点击鼠标右键进行查看网页源代码了。我们可以采取另外一种方式进行查看:F12键。
flag就藏在网页源码中:
cyberpeace{782d7f32db8d52c32523074c085ed65a}
2.robots
题目中提示为“Robots协议”,如果不了解的,可以上网查一下,以下是百度百科中的解释:
于是在所给网址http://111.198.29.45:58686后面加上/robots.txt,访问页面,得到一串字符:
但是尝试过后,这还不是最后的答案,这是一个php文件,因此我们在原网站http://111.198.29.45:58686后加上f1ag_1s_h3re.php,进行访问,就能得到最终的flag:
cyberpeace{a60efe32de5beccdeadbeca3be9b29ed}
3.backup
首先打开网址,发现一句话“你知道index.php的备份文件名吗?”首先判断这是一个php文件,于是在网址后加上index.php进行访问,发现页面并没有发生变化。于是重新思考这句话,考虑到文件还有扩展名,常见的备份文件后缀名有.git.svn.swp.~.bak.bash_history,逐一尝试后发现加上备份文件的扩展名.bak可以,即我们最终访问的网址为http://111.198.29.45:35364/index.php.bak,访问后会让你下载一个文件,在下载的文件中找到flag:
Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}
4.cookie
打开网址,看见一句话“你知道什么是cookie吗?”,我还真的不知道,于是上网去查:cookie (储存在用户本地终端上的数据),虽然不是很懂,但有了前几个题的经验,我们还把它当做php文件试一下,在网址后加上cookie.php,访问后得到了一句新的话“See the http response”(查看http响应 ),于是按F12,在控制台中查看htttp响应,成功找到flag:
cyberpeace{fbd81c539270701d8c97107a12dda413}
5.disabled_button
网页打开后有一个写着“flag”的按钮,根据题意,只要可以点击这个按钮,就能得到flag,于是查看源代码,进行代码审计,查看这个按钮不能点的原因.
发现网页代码中的disabled="",判断是这一代码导致按钮失灵,于是将其删去,发现网页中的按钮可以点击,点击按钮,得到flag:
cyberpeace{c890c3014aa2feb593addda1c9d92e63}
6.weak_auth
打开网页,需要输入用户名和密码。
根据题目中“随手设的密码”可以判断是弱密码,即比较简单的密码,可以通过暴力破解的手段进行获取。首先随便输入一个用户名和密码,访问得到:
因此得知用户名为admin,只需要爆破得到密码即可。
具体爆破流程,由于本人经验爆破不足,请参考大佬的文章:
渗透测试_利用Burp爆破用户名与密码
这篇文章中对使用Burp Suite爆破进行了详细的讲解,让我受益很多。
附上Burp Suite免费版下载地址:下载地址
爆破的总体思想就是让系统一个一个地去进行尝试,最后得到答案,因此只能当答案形式比较简单的时候才比较有效。
最后试出密码为123456,然后在原网页输入用户名admin和密码123456,访问得到falg:
cyberpeace{fd7119a8473439c6a099cbef4cf22cde}
7.simple php
打开题目,这是一个php代码审计的题
通过审计代码可知:当$a==0 并且$a 不为空时,输出flag1 。
这里考察了phpphp弱类型比较,php在字符串和数字比较使用==时,字符串会先转换为数字类型再比较,转换规则如下:
所以随便给$a赋值一个纯字母的字符串,转换后就是0,就可以符合条件
比如赋值为a
然后看变量b,牵扯到了这个函数:is_numeric()
所以$b不能为数字,如果为数字,程序就直接结束了。
然后$b还要大于1234,才能输出flag2,同样用到弱类型的转换,让$b的值为12345a,类型转换后会转换为12345,比1234大,然后输出flag
Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}
8.get_post
打开题目,让用GET方式提交一个a=1
然后再用POST方式提交b=2
我这里用的是火狐浏览器的插件,传post值比较方便,传入b=2后,得到flag
cyberpeace{4dc04bde94c3cddc59b4b5715e34f59c}
9.xff_referer
1.根据题目描述来看,这道题考察xff和referer的伪造
打开环境,发现ip地址必须为123.123.123.123,这就需要我们伪造xff了
burp抓包,改XFF头为123.123.123.123,发包,页面更新了
必须来之https://www.google.com,那就需要改Referer
在文件头中添加Referer: https://www.google.com,发包,获得flag
Referer: https://www.google.com
10.webshell
根据题目描述,应该就是用菜刀或者蚁剑直接连接一句话木马,在网站根目录下获得flag。
打开题目环境,直接给出了一句话木马的代码,密码为shell
用蚁剑添加连接
获得flag
cyberpeace{31b59c4114e184702b39e062114619aa}
11.command_execution
根据题目描述,初步判断是一个命令执行漏洞,因为写了一个ping功能就意味着可以执行ping命令,同时没有写waf,就很容易可以执行其他命令,从而获得flag.
打开题目环境:
先试着ping一下本地,成功了
然后试着拼接命令,看 ls 命令是否可以执行
发现多了一个index.php,说明ls命令被执行了
然后就是找到flag文件在哪,使用find命令
127.0.0.1 && find / -name “flag*”
最后使用cat命令读取flag.txt的内容
cyberpeace{c30fbfe495a9dc11c07e85e25d5604d1}
12.simple_js
打开环境,让输入密码
随便输入一个,返回说是假密码
查看网页源代码,有点东西
3.先将字符串用python处理一下,得到数组[55,56,54,79,115,69,114,116,107,49,50],exp如下。
s="\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)
再转一下ASC||
规范flag格式,可得到Cyberpeace{786OsErtk12}
Cyberpeace{786OsErtk12}
最后,期待和大家共同进步!