Web2
最基本的Web题,考察查看网页源代码
按F12查看网页源代码,flag在一条注释里。
总结:在Web题中,查看网页源代码是非常重要的操作,网页源代码里经常有flag、hint或者一些做题必要的信息。
计算器
考察修改页面源代码
答案是两位数字,但是输入框只能输入一个数字。
把这个maxlength属性改掉再输入答案就能得到flag。
web基础$_GET
最基本的Web题,考察提交GET请求,只要稍微有一点PHP基础就可以做
输入what=flag得到flag。
web基础$_POST
同上,但是这个题考察的是提交POST请求
提交POST请求需要用到一个叫做hackbar的插件,使用这个插件,先Load URL,再点Post data,填入what=flag,最后点Execute提交即可。
矛盾
考察使用空字符%00让is_numeric函数将数字判断为字符串
PHP代码显示要求传入“num”参数,其值为1,但是需要is_numeric()函数判断num不是数值型。
is_numeric函数对于空字符%00,无论是%00放在数值的前还是后都可以判断为非数值,所以构造num=1%00,提交得到flag。
Web3
考察查看网页源代码,以及Unicode编码的解码
打开链接发现一直在弹框,屏蔽之。
其实这个效果是使用JavaScript实现的,后面查看网页源代码也没发现有循环结构,所以如果浏览器没有屏蔽弹窗的功能,也可以把它点完。
点完之后什么都没有,查看页面源代码,在脚本的最后发现一串Unicode编码的字符串。
解码得到flag。
域名解析
考察hosts文件的作用——解析域名
根据提示,在hosts文件内添加以下内容:
然后访问一下flag.baidu.com,得到flag。
你必须让他停下
考察Burp Suite中的Repeater模块的基础使用
打开链接发现页面不停刷新,这时候就要用Burp Suite抓包。
抓到数据包之后按Ctrl+R发送到Repeater模块,然后一直点Go到flag出现为止。
其实这道题我看过一些别人的wp,有人是使用禁用JavaScript的方法做的,只不过我不知道怎么做……如果有会这种方法的欢迎指教。
本地包含
这道题貌似挂了,现在打开所有的页面都只有空白页。
等恢复之后再写吧。
变量1
考察$GLOBALS超全局变量
提示“flag in the variable”,就是flag在某个变量里。
var_dump函数的作用如下:
var_dump();———>>输出展示展示代码内容,结构与类型。
该函数作可以窥探所有内容的类型,以及内部信息。
(转自百度百科)
要求传入args参数,这段参数要符合正则表达式。
“args”使用了两个美元符号($)以后,就可以作为一个可变变量的变量了。这时,两个变量都被定义了,$args的内容是我们传入的值,$$args相当于$(我们传入的值),从这里和下面的var_dump函数可以猜测到这里需要用$GLOBALS超全局变量,也就是传入args=GLOBALS。
传入args=GLOBALS得到flag。
Web5
考察查看网页源代码,JSF*ck编码的加密与解密
查看网页源代码发现一些JSF*ck编码的字符串,解码得到一个新的字符串。
题目中提示“字母大写”将新字符串中的字母全部大写后提交,得到提示。
这应该就是flag了,提交了一下,果然是。
头等舱
考察HTTP响应头的查看
用Fiddler抓一下包,就可以在原始响应头里看到flag。
网站被黑
考察使用扫描工具扫描网站后台和使用Burpsuite爆破。
打开一看发现一个黑页,这个鼠标特效还挺好玩的(
在学习期间经常在书上看到有webshell的页面一般都是……/shell.php,打开看了看真的有,不过按正常操作来的话肯定是要先扫一下后台了。
提示输入密码,但是没有任何其他提示,爆破之。
随便写点东西然后抓包,设置爆破位置。
Payload类型我用了Simple list,Options选择Password
开始爆破,在Payload为hack时找到了flag。
管理员系统
考察查看网页源代码、X-Forwarded-For请求头的使用。
打开一看是登录页面,一开始以为是sql注入题。
随便注入了一下发现并不是。
提示“IP禁止访问”,联想到以前做过的一道叫babyweb的题提示“你的IP地址不在允许范围内”,而那道题是使用“X-Forwarded-For: 127.0.0.1”绕过,看来这里也是一样的做法。
在请求头添加X-Forwarded-For: 127.0.0.1,发包。
又报错了,看来还有没注意到的地方。
看了一眼源码发现一条BASE64编码的注释。
解码得到test123,看来这个应该是密码。既然是“管理员系统”,那用户名应该是admin。
输入用户名和密码,发送,抓包,加上X-Forwarded-For: 127.0.0.1,发包,得到flag。