文件包含漏洞长度截断

长度截断

  • 文件漏洞的利用方式
  • 什么是长度截断通过实操理解
    • 00截断对版本要求更高一点,而长度截断则是利用了windows的系统漏洞,就是windows文件名(就是文件名后缀之后)之后如果有空格,或者是点都会被忽略掉,也就是添了和没添一样。
    • 举例

这是一篇笔记,记录的是对我而已比较奇特的绕过

文件漏洞的利用方式

文件包含漏洞长度截断_第1张图片

什么是长度截断通过实操理解

当一个文件包含,后拼接了一个后缀时,都会在我们的伪协议后加上拼接的后缀,往往这个后缀就会导致我们访问失败,如何绕过?
可以尝试00截断,也可以尝试我们接下来叙述的长度截断。
文件包含漏洞长度截断_第2张图片

00截断对版本要求更高一点,而长度截断则是利用了windows的系统漏洞,就是windows文件名(就是文件名后缀之后)之后如果有空格,或者是点都会被忽略掉,也就是添了和没添一样。

就像这样
文件包含漏洞长度截断_第3张图片
实际上
文件包含漏洞长度截断_第4张图片
而windows文件名的长度最大为256,而linux则为4096超过这个长度的字符为无效字符。

举例

如上面的网页源代码,当后面拼接了一个.html假设我要访问的文件为webshell.php
直接访问的结果是无法访问的因为我们的访问被拼接了后缀,webshell.php.html而文件系统里没有这个文件名,只有webshell.php
此时我们就可以在访问时加上很多点使文件名长度大于256这样再拼接.html时自然长度超过了256所以被无效了,而windows又会自动省略文件名最后的点,导致我们加的点也被自动省略了。所以文件名还是webshell.php。

你可能感兴趣的:(笔记,安全)