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基础的有关知识。
|