CTF_Web:攻防世界新手区基础12题WP

0x00 前言

Web新手区的12题全部是最基础的工具运用与实践,但也考核了一定的知识积累,最近刚好在重新刷这部分,将题解记录一下。

0x01 view_source

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

根据题目名称的提示,查看源代码,但右键被禁用,直接使用Ctrl + U,看到flag。

0x02 robots

题目描述: X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
打开网页一片空白,根据提示输入robots.txt,里面的信息一般用来告诉搜索引擎哪些东西不想被搜索到,哪些东西可以被搜索到。输入后访问如下:

看到了f1ag_1s_h3re.php的提示,访问得到flag。

0x03 backup

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

index.php的备份文件可以有很多种,例如“.svn”、“ .swp”、“.~”、“.bak”、“.bash_history”、“.bkf”等后缀,在本题目中使用最常见的index.php.bak,访问下载,得到flag。

0x04 cookie

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

cookie作为网页浏览中一种保存用户登录信息的手段,在提交请求的头部会显示本次请求携带的cookie值,我们使用开发者工具或者其他抓包工具即可看到。


访问获得提示See the http response,查看响应头。

0x05 disabled_button

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

前端的所有内容都可以使用F12审查元素进行修改,在这里使用前端验证的按钮,直接将 disabled属性去掉即可。


点击按钮,获得flag。

0x06 weak_auth

题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。
这个题目考的是弱口令与常见用户名,本意是要burp进行爆破测试,得到用户名密码。


随便输入一个用户名密码,使用burp抓包,提交给Intruder模块进行攻击,选择password字段进行测试,

这里的攻击模式选择

sniper,意思是当有一个参数时,将payload全部顺序执行一遍,当有两个参数时,爆破第一个,第二个保持不变,这也是我们常用的方式

另一种模式是

Battering ram,意思是当有两个参数时,将会把这两个参数一一对应起来进行测试,也就是说每次测试,两个参数都会变化。

其他的模式用到的时候比较少,可以自行了解。



在爆破的过程中,每隔几秒就点一下length字段,如果有长度不一样的,需要我们重点关注,例如本次测试434都是错误的返回,437则是正确的,在3425次测试后找到了正确密码。


这个题目仅仅是教大家学习去使用Intruder模块,本身的答案可能手动去测也可以猜到。

0x07 simple_php

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


这里涉及到的php基础知识有:

  • GET方式传递参数,在url后加?+参数名称+=+参数值,例如http://x.x.x.x/?a=1&b=2
  • php弱等于,==在php中是弱等于,不比较变量类型,直接转化为同一类型比较,这里要满足参数a等于0,且参数a为真,根据php弱类型比较的特点,当a 的值为字母时,会将其转换为整型再比较,这里a传入一个任意字母即可。
  • b的要求为is_numeric,表示判断这个变量是否为字母和数字的组合,且b的值需要大于1234,这里传入6666a,既符合数字字母的组合,又在转换后只剩下了6666,大于1234。
    访问如图。


0x08 get_post

题目描述:X老师告诉小宁同学HTTP通常使用两种请求方法,你知道是哪两种吗?
本题考查的知识点就是传递参数的两种方式,一是get,在url后直接加上要传递参数的名称与值,二是post,在表单中添加参数名称与具体的值。


提交方式为:?a=1

这里使用了火狐的hackbar,post指定的值,还可以使用burp抓包进行,方式并不唯一。

0x09 xff_referer

题目描述:X老师告诉小宁其实xff和referer是可以伪造的。
xff全名为X-Forwarded-For,表示当前请求来自哪个ip地址
referer表示当前请求从哪个域名发起。

0x10 webshell

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


根据题目的提示,一句话木马的文件名为index.php,连接的密码为shell,传参方式为POST,这里主要考察为蚁剑、菜刀的用法,直接连接获取flag即可。

0x11 command_execution

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


输入地址就会ping,使用命令拼接和联合的方式执行其他命令。

在linux中联合执行命令的基本方式为
;,"不管前面的命令是不是成功,都执行后面的。"
&&,"前面的成功,继续执行后面的,保证所有命令都成功。"
||,"前面的失败,执行后面的,直到某一条命令成功。"

这里使用ls和cd跨目录方式查找flag即可。



查看得到flag。


0x12 simple_js

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


题目涉及的知识点为js代码基础知识,根据分析每次输入的密码都会被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,先转一次ascii,得到10进制的串,再转一次ascii,得到文本,加上flag头即可。


最终为:786OsErtk12。

0x13 小结

后续也会对其他的基础题目进行练习,重新学习web基础的有关知识。

你可能感兴趣的:(CTF_Web:攻防世界新手区基础12题WP)