攻防世界web新手区题目解析

web新手区题目解析

  1. view_source
  2. robots
  3. backup
  4. cookie
  5. disabled_button
  6. weak_auth
  7. simple_php
  8. get post
  9. xff_referer
  10. webshell
  11. command_execution
  12. simple_js

view_source

这个题就直接看页面源代码,就会发现flag

攻防世界web新手区题目解析
攻防世界web新手区题目解析

robots

对robots协议有一定的了解之后,直接访问网站的robots.txt文件
攻防世界web新手区题目解析
根据提示访问网站下的“f1ag_1s_h3re.php”
攻防世界web新手区题目解析

backup

百度得知,index.php的备份文件名为B开头,bak
输入后缀
攻防世界web新手区题目解析
自动弹窗,保存文件,记事本打开
攻防世界web新手区题目解析

cookie

题目问是否知道cookie,按f12打开网络条,发现cookie里写了“look-here=cookie.php”

攻防世界web新手区题目解析

访问cookie.php,提示看响应头,即可发现flag
攻防世界web新手区题目解析

disabled_button

去看一看页面源代码,发现属性是disabled
攻防世界web新手区题目解析
理所当然我们就会着手把disabled改成abled
按钮就可以点击了,点击之后flag也就随之出现了
攻防世界web新手区题目解析

weak_auth

查看页面源代码发现了“check.php”

攻防世界web新手区题目解析

访问,发现说需要dictionary,也就是字典,通过burpsuite**
通过随便输入用户名和密码,得知要用admin用户名
然后设置相关数据进行**
攻防世界web新手区题目解析
进行攻击发现一个长度不同的数据
攻防世界web新手区题目解析
点击查看response即可发现flag

simple_php

攻防世界web新手区题目解析
可以发现,是通过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
攻防世界web新手区题目解析

get post

hackbar勾选Post,load URL内容为:http://111.198.29.45:33495/?a=1,post data内容为:b=2,然后点击Execute即可看到flag了

攻防世界web新手区题目解析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
出现下列画面

攻防世界web新手区题目解析
然后加入Referer:https://www.google.com
攻防世界web新手区题目解析

webshell

这个题目又让我接触到一个新的工具,中国菜刀
直接把网址输入,题目也提示了密码是“shell"
就可以看到目录里有一个flag.txt

攻防世界web新手区题目解析

打开即得flag

攻防世界web新手区题目解析

command_execution

ping命令一般pin回环地址,发现可以,然后同时看一看有没有flag文件
攻防世界web新手区题目解析
发现有,可以获取一下
攻防世界web新手区题目解析
即可得到flag

simple_js

打开之后随便输入一个密码,会说错误,然后看网页源代码,会发现一个js代码
攻防世界web新手区题目解析
这里就提示我们是要输出“fromCharCode”这个字符串对应的字符,这个函数就是一个输出十进制数对应的字符串,可以看到两个for循环都是在输出tab2,没有输出tab,说明它根本就没有去获得你输入的东西去校验。所以我们,有两种方法,一个是改代码让其达到本来的目的,通过网站直接得到flag,另一种方式是去找到“fromCharCode”对应的字符。
先把其转为字符串
攻防世界web新手区题目解析发现得到数组[55,56,54,79,115,69,114,116,107,49,50]
在密码输入框输入得到的数组
并把代码进行更改

攻防世界web新手区题目解析

运行,可得到攻防世界web新手区题目解析攻防世界web新手区题目解析写成flag形式即可