文件包含漏洞

目录

  • ??一、理论
    • ??1.什么是文件包含漏洞?
    • ??2.文件包含漏洞原因
    • ??3.文件包含函数
    • ??4.文件包含漏洞的分类
      • ?? 4.1本地文件包含(LFI)
      • ??4.2远程文件包含(RFI)
    • ??5.php伪协议
    • ??6.文件包含漏洞如何防御?
  • ??二、绕过方式
    • ??1、结合文件上传漏洞绕过
    • ??2、00截断绕过
    • ??3、点加斜杠绕过
    • ??4、去掉后缀名绕过
    • ??5、双写点点杠绕过
    • ??6、method为POST
    • ??7、包含日志文件
  • ??三、待补充

??一、理论

??1.什么是文件包含漏洞?

通过PHP函数引入文件时,传入的文件名没有经过合理的验证,从而操作了预想之外的文件,就可能导致意外的文件泄漏甚至恶意代码注入

??2.文件包含漏洞原因

为了代码更灵活,通常会把被包含的文件设置为变量 ,进行动态调用 ,从而导致客户端可以调用任意文件 ,造成文件包含漏洞。动态包含的文件路径参数,客户端可控web应用对用户的输入没有进行过滤或者严格过滤就带入文件包含函数中执行

??3.文件包含函数

函数

说明

include()

找不到被包含的文件时只产生警告 ,脚本将继续执行

include_once()

此语句和 include() 语句类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含

require()

找不到被包含的文件时会产生致命错误,并停止脚本

require_once()

此语句和 require()语句类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含

其它用于包含的函数:highlightfile()、 showsource()、 readfile()、 filegetcontents()、 fopen()、file()

??4.文件包含漏洞的分类

?? 4.1本地文件包含(LFI)

指通过相对路径/绝对路径 的方式能打开并包含 本地文件的漏洞,大部分情况遇到的文件包含漏洞都是 LFI用户可以 动态控制变量。

你可能感兴趣的:(面试,学习路线,阿里巴巴,android,前端,后端)