实验步骤:
打开网页,发现是个简单的网页,查看源代码,没有什么异常发现。
在地址栏发现貌似是文件包含,包含以下主页试下,提示错误。
验证任意文件包含,也不行。
可能是限制了只能包含当前目录下的文件。在windows平台上,php的某些函数获取文件时,可以使用<代替其他字符进行猜解。列如输入page=i<<,就可以替代为page=index。
逐位测试,in<<正确,输出效果也是正确的。
Id<<就提示文件不存在了,那么表示当卡目录下没有以id开头的文件。
继续猜别,可以使用burp暴力猜解。此处我们猜出一个keyishere,发现是空白的,即不报文件不存在也不显示内容。
当继续猜下一位的时候,提示文件不存在了,那么这个名字就应该是keyishere,但是不显示内容怎么回事呢。那就可能是目录了。
直接在地址栏中输入这个目录名字,出现登陆页面。
是弱口令没有用,再试下万能口令。
显示被拦截了,说明后台对输入的数据有过处理,也有可能通过某种方式绕过。
此处使用了某数字的一个phpwaf,这里是可以绕过的,waf过滤的不是单引号,而是等号,尝试将等号换成空格。
成功绕过,登录成功。
另外PHP万能账号密码也可以进入。 账号:admin'/* 密码:*/'
实验知识点总结:
1、SQL注入、文件包含知识。
2、PHP相关函数知识。