一、攻击场景
文件包含攻击
描述
文件包含漏洞是“代码注入”的一种,由于程序员未对用户可控的变量进行输入检查,导致用户可以控制被包含的文件,注入一段用户能控制的脚本或代码,成功利用时可以使webserver将用户上传的文件当成PHP执行,从而导致用户可获取一定的服务器权限,文件包含漏洞可能会导致服务器端代码执行、客户端代码执行、敏感信息泄露等问题。
文件包含漏洞包括“本地文件包含”和“远程文件包含”,本地文件包含漏洞出现在当页面接受URL参数作为输入且这个输入没有正确的校验从而可以导致目录遍历字符串注入或者访问到其他页面。远程文件包含漏洞出现在当页面接受URL参数作为输入,且这个输入没有正确的校验从而导致可以将外部的URL作为输入参数,从而导致可以通过服务器访问外部URL以及其他服务器上的文件(比如黑客服务器的攻击代码)。
尽管大多数文件包含的问题出现的PHP脚本中,但是我们也需要注意,其他如JSP,ASP语言也会出现文件包含漏洞。
要想成功利用文件包含漏洞进行攻击,需要满足以下两个条件:
1、Web应用采用include()等文件包含函数通过动态变量的方式引入需要包含的文件
2、用户能多控制该动态变量
测试方法
程序的本意是当提交url为