DVWA通关 File Inclusion

文件包含漏洞 File Inclusion

  • 程序开发⼈员通常会把可重复使⽤函数写到单个⽂件中,在使⽤某个函数的时候,直接调⽤此⽂件,⽆需再次编写,这种调⽤⽂件的过程通常称为包含。
  • 程序开发⼈员都希望代码更加灵活,所以会把被包含的⽂件的路径设置为变量,来进⾏动态调⽤,但是正是由于这种灵活性,如果被包含⽂件的路径客户端可控,造成⽂件包含漏洞。
  • ⼏乎所有的脚步都会提供⽂件包含的功能,⽂件包含漏洞在PHP Web 应⽤中居多,在JSP/ASP/ASP.NET 程序中⽐较少。

文件包含的原理

  • 配置文件开启文件包含,远程包含功能。
  • 在开发的过程中希望代码更加灵活就把文件路径设置为变量,来进行动态调用。
  • 被包含文件路径客户端可控。

文件包含的特点

  • 无视文件扩展名读取文件
  • 无条件解析PHP代码

漏洞原理

PHP ⽂件包含是程序设计的基础功能之⼀,能够减少代码量,提⾼开发效率。但是使⽤⽂件包含功能时,有类似于以上测试代码的设计,实现了动态包含,就有产⽣⽂件包含漏洞的⻛险。如果实现动态包含的参数,Web 应⽤没有进⾏严格的校验,浏览器客户端⽤户可以影响或控制⽂件包含的路径,就会产⽣⽂件包含漏洞。

Low

低难度文件包含没有对文件路径做任何过滤,我们可以返回上一级路径查看文件内容,也可以选择绝对路径查看或执行文件内容。

Medium

中级难度过滤了../ ..\  http: https://  我们可以双写绕过,或者继续使用绝对路径

high

高难度对file文件开头做了模糊匹配,也就是说必须是传参必须是file开头,我们可以用PHP封装协议file://来进行绕过。

impossible

不可能难度直接匹配了固定文件名。file1.php file2.php file3.php

猜你喜欢

转载自blog.csdn.net/qq_42094992/article/details/107824165