web攻击-文件包含漏洞

文件包含漏洞

当服务器开启allow_url_include选项的时候,通过php某些特征函数,如include()、include_once()、require_once()使用url动态的去包含文件,此时如果对包含的文件没有进行过滤。就可能导致任意文件读取和任意命令执行。

文件包含分为本地文件包含和远程文件包含

远程文件包含是因为allow_url_fopen=on开启,导致本地服务器可以包含远程服务器上的一个文件,如果对这个文件没有进行审查,可能会导致意想不到的结果。

利用方式:

1、包含上传文件

 在上传的文件中写入脚本、在知道路径的情况下可以连接拿shell

2、使用一些php伪协议

防御方法:

1、在不必须得情况下,关闭allow_url_include选项进行

2、使用白名单和黑名单对可包含的文件进行限制

3、尽量不使用动态包含

4、在服务端和客户端都进行过滤

绕过方法:

1、00% 进行阶段,00%可以阶段file变量后面的字符串

2、使用./ 构造超长字符串进行截断

3、使用../进行目录便利

4、使用?进行截断,使用原理和%00相同

posted @ 2020-06-01 15:58  金朵  阅读(447)  评论(0)    收藏  举报