题目url:http://220.249.52.133:47390
代码分析
题目一来就是一段代码,分析一下
show_source() 函数对文件进行语法高亮显示
hello用get方式接收参数直接输出
page参数也是通过get方式接收,strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串,但是区分大小写,如果不区分大小写使用stristr()函数。这里的意思是如果page参数中包含"php://",就替换为空。
通过过滤后包含page参数传来的文件。
方法1 php://input
由分析,这个网页主要是过滤了php伪协议的使用,那肯定是怕我们使用这个功能,他怕什么我们自然要来做什么。
我们知道strstr()函数不区分大小写,我们变可以使用大写方式绕过。
php://input 可以将数据通过post的方式传给当前页面,相当于远程包含漏洞,前提是php配置文件中需同时开启 allow_url_fopen 和 allow_url_include。这里并不知道是否开启这两个功能,我们只管测试就明白了。