2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)

Web2

最基本的Web题,考察查看网页源代码

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第1张图片

按F12查看网页源代码,flag在一条注释里。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第2张图片

总结:在Web题中,查看网页源代码是非常重要的操作,网页源代码里经常有flag、hint或者一些做题必要的信息。

计算器

考察修改页面源代码

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第3张图片

答案是两位数字,但是输入框只能输入一个数字。

把这个maxlength属性改掉再输入答案就能得到flag。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第4张图片

web基础$_GET

最基本的Web题,考察提交GET请求,只要稍微有一点PHP基础就可以做

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第5张图片

输入what=flag得到flag。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第6张图片

web基础$_POST

同上,但是这个题考察的是提交POST请求

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第7张图片

提交POST请求需要用到一个叫做hackbar的插件,使用这个插件,先Load URL,再点Post data,填入what=flag,最后点Execute提交即可。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第8张图片

矛盾

考察使用空字符%00让is_numeric函数将数字判断为字符串

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第9张图片
2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第10张图片

PHP代码显示要求传入“num”参数,其值为1,但是需要is_numeric()函数判断num不是数值型。

is_numeric函数对于空字符%00,无论是%00放在数值的前还是后都可以判断为非数值,所以构造num=1%00,提交得到flag。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第11张图片

Web3

考察查看网页源代码,以及Unicode编码的解码

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第12张图片

打开链接发现一直在弹框,屏蔽之。

其实这个效果是使用JavaScript实现的,后面查看网页源代码也没发现有循环结构,所以如果浏览器没有屏蔽弹窗的功能,也可以把它点完。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第13张图片

点完之后什么都没有,查看页面源代码,在脚本的最后发现一串Unicode编码的字符串。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第14张图片

解码得到flag。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第15张图片

域名解析

考察hosts文件的作用——解析域名

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第16张图片

根据提示,在hosts文件内添加以下内容:

然后访问一下flag.baidu.com,得到flag。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第17张图片

你必须让他停下

考察Burp Suite中的Repeater模块的基础使用

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第18张图片

打开链接发现页面不停刷新,这时候就要用Burp Suite抓包。

抓到数据包之后按Ctrl+R发送到Repeater模块,然后一直点Go到flag出现为止。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第19张图片

其实这道题我看过一些别人的wp,有人是使用禁用JavaScript的方法做的,只不过我不知道怎么做……如果有会这种方法的欢迎指教。

本地包含

这道题貌似挂了,现在打开所有的页面都只有空白页。

等恢复之后再写吧。

变量1

考察$GLOBALS超全局变量

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第20张图片

提示“flag in the variable”,就是flag在某个变量里。

var_dump函数的作用如下:

var_dump();———>>输出展示展示代码内容,结构与类型。
该函数作可以窥探所有内容的类型,以及内部信息。
(转自百度百科)

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第21张图片

要求传入args参数,这段参数要符合正则表达式。

“args”使用了两个美元符号($)以后,就可以作为一个可变变量的变量了。这时,两个变量都被定义了,$args的内容是我们传入的值,$$args相当于$(我们传入的值),从这里和下面的var_dump函数可以猜测到这里需要用$GLOBALS超全局变量,也就是传入args=GLOBALS。

传入args=GLOBALS得到flag。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第22张图片

Web5

考察查看网页源代码,JSF*ck编码的加密与解密

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第23张图片

查看网页源代码发现一些JSF*ck编码的字符串,解码得到一个新的字符串。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第24张图片

题目中提示“字母大写”将新字符串中的字母全部大写后提交,得到提示。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第25张图片

这应该就是flag了,提交了一下,果然是。

头等舱

考察HTTP响应头的查看

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第26张图片

用Fiddler抓一下包,就可以在原始响应头里看到flag。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第27张图片

网站被黑

考察使用扫描工具扫描网站后台和使用Burpsuite爆破。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第28张图片

打开一看发现一个黑页,这个鼠标特效还挺好玩的(

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第29张图片

在学习期间经常在书上看到有webshell的页面一般都是……/shell.php,打开看了看真的有,不过按正常操作来的话肯定是要先扫一下后台了。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第30张图片

提示输入密码,但是没有任何其他提示,爆破之。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第31张图片

随便写点东西然后抓包,设置爆破位置。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第32张图片

Payload类型我用了Simple list,Options选择Password

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第33张图片

开始爆破,在Payload为hack时找到了flag。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第34张图片

管理员系统

考察查看网页源代码、X-Forwarded-For请求头的使用。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第35张图片

打开一看是登录页面,一开始以为是sql注入题。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第36张图片
管理员系统2.png

随便注入了一下发现并不是。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第37张图片

提示“IP禁止访问”,联想到以前做过的一道叫babyweb的题提示“你的IP地址不在允许范围内”,而那道题是使用“X-Forwarded-For: 127.0.0.1”绕过,看来这里也是一样的做法。

在请求头添加X-Forwarded-For: 127.0.0.1,发包。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第38张图片

又报错了,看来还有没注意到的地方。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第39张图片

看了一眼源码发现一条BASE64编码的注释。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第40张图片

解码得到test123,看来这个应该是密码。既然是“管理员系统”,那用户名应该是admin。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第41张图片

输入用户名和密码,发送,抓包,加上X-Forwarded-For: 127.0.0.1,发包,得到flag。

2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第42张图片
2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统)_第43张图片

你可能感兴趣的:(2019-03-13 BugkuCTF Writeup之Web(Web2——管理员系统))