攻防世界web新手区题目解析
web新手区题目解析
- view_source
- robots
- backup
- cookie
- disabled_button
- weak_auth
- simple_php
- get post
- xff_referer
- webshell
- command_execution
- simple_js
view_source
这个题就直接看页面源代码,就会发现flag
robots
对robots协议有一定的了解之后,直接访问网站的robots.txt文件
根据提示访问网站下的“f1ag_1s_h3re.php”
backup
百度得知,index.php的备份文件名为B开头,bak
输入后缀
自动弹窗,保存文件,记事本打开
cookie
题目问是否知道cookie,按f12打开网络条,发现cookie里写了“look-here=cookie.php”
访问cookie.php,提示看响应头,即可发现flag
disabled_button
去看一看页面源代码,发现属性是disabled
理所当然我们就会着手把disabled改成abled
按钮就可以点击了,点击之后flag也就随之出现了
weak_auth
查看页面源代码发现了“check.php”
访问,发现说需要dictionary,也就是字典,通过burpsuite**
通过随便输入用户名和密码,得知要用admin用户名
然后设置相关数据进行**
进行攻击发现一个长度不同的数据
点击查看response即可发现flag
simple_php
可以发现,是通过get方法获取a和b的值,且只有a0 a为真,b不是数值,且b>1234时能够返回flag
关于a和b的取值问题如下解释php手册里面写道:当一个字符串当作一个数值来取值,其结果和类型如下:如果该字符串没有包含’.’,’e’,’E’并且其数值值在整形的范围之内,该字符串被当作int来取值,其他所有情况下都被作为float来取值,该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0如:“0e11”"0e22"比较的时候,会将这类字符串识别为科学技术法的数字,所以0的多少次方都是零。“A”==0比较的时候,会将A转化成数值,强制转化,由于A是字符串,转化的结果是0自然和0相等。“1A”==1比较的时候会将1A转化成为数值1;但“A1“==1结果却为false,也就是"A1"转化成了0
所以在url输入?a=0abc&b=123456abc
get post
hackbar勾选Post,load URL内容为:http://111.198.29.45:33495/?a=1,post data内容为:b=2,然后点击Execute即可看到flag了
flag:cyberpeace{c4e43c9c9d0f729358dd9417219a9da0}
xff_referer
[原理]
X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的。
用fiddler抓包,然后加入X-Forwarded-For:123.123.123.123
出现下列画面
然后加入Referer:https://www.google.com
webshell
这个题目又让我接触到一个新的工具,中国菜刀
直接把网址输入,题目也提示了密码是“shell"
就可以看到目录里有一个flag.txt
打开即得flag
command_execution
ping命令一般pin回环地址,发现可以,然后同时看一看有没有flag文件
发现有,可以获取一下
即可得到flag
simple_js
打开之后随便输入一个密码,会说错误,然后看网页源代码,会发现一个js代码
这里就提示我们是要输出“fromCharCode”这个字符串对应的字符,这个函数就是一个输出十进制数对应的字符串,可以看到两个for循环都是在输出tab2,没有输出tab,说明它根本就没有去获得你输入的东西去校验。所以我们,有两种方法,一个是改代码让其达到本来的目的,通过网站直接得到flag,另一种方式是去找到“fromCharCode”对应的字符。
先把其转为字符串发现得到数组[55,56,54,79,115,69,114,116,107,49,50]
在密码输入框输入得到的数组
并把代码进行更改
运行,可得到写成flag形式即可