连接环境。得到入口/flag1ab.html,进入提示这行字的下面一片空白,但是真的什么也没有吗?
则检查源代码,发现
<!--恭喜你找到了网页的源代码,通常在这里题目会放一些提示,做题没头绪一定要先进来看一下-->
<!--flag1: bW9lY3Rm-->
<!--下一步:/flag2hh.php-->
则进入/flag2hh.php。提示想想服务器通过网络传输过来的,除了这个页面,还有什么?
则打开控制台->网络,然后刷新页面,检查传入内容(flag2hh.php的标头),看到标头Nextpage:/flag3cad.php Flag2:e0FmdEV
则进入/flag3cad.php。提示用get方法传入a则,传入?a=a(http://127.0.0.1:31547/flag3cad.php?a=a
)
提示用post传入b参数,则我们使用hackbar或者bp发包(这里使用hackbar展示)
然后提示要用admin身份验证,则我们查看cookie,发现有
则,我们在hackbar添加标头,cookie = verify=admin
然后得到下一关入口flag3: yX3RoMXN
前往下一关提示
则可能是要Referer=http://localhost:8080/flag3cad.php?a=1
则添加头Referer=http://localhost:8080/flag3cad.php?a=1
点击开始,发现提示9,那我们修改前端按钮8为9
点击9,得到提示
console.log输出在控制台,我们查看控制台
得到flag4: fdFVUMHJ 前往:/flag5sxr.php
提示输入这串英文
提交提示
查看源码,发现script有判断,那么我们通过禁用js来绕过判断
然后刷新页面,再次输入,得到
得到flag5: fSV90aDF,点击下一关
审计代码,要get请求参数moe和post请求参数moe,其中moe的值不能是小写的flag,因为第一个判断无法通过,而第二个判断是可以大写所以get请求?moe=FLAG,第一个判断post请求必须有输入则post请求moe=1
得到flag6: rZV9VX2t 点击前往下一关,看到**eval($_POST['what']);**
则想到一句话木马
方法一:直接POST请求
发送post请求what=system('ls /');
看到flag7,则我们直接what=system('cat /flag7');
得到最后flag:rbm93X1dlQn0=
方法二:利用蚁剑等Webshell工具连接
打开工具,将此网址复制,密码为post请求参数what
,并测试链接,连接成功即可,然后添加
添加完成后双击进入,即可提权,进入根目录找到flag7
最后,把所有flag连接起来,组成base64编码字符bW9lY3Rme0FmdEVyX3RoMXNfdFVUMHJfSV90aDFrZV9VX2trbm93X1dlQn0=
解码得到