长度截断
- 文件漏洞的利用方式
- 什么是长度截断通过实操理解
- 00截断对版本要求更高一点,而长度截断则是利用了windows的系统漏洞,就是windows文件名(就是文件名后缀之后)之后如果有空格,或者是点都会被忽略掉,也就是添了和没添一样。
- 举例
这是一篇笔记,记录的是对我而已比较奇特的绕过
文件漏洞的利用方式
什么是长度截断通过实操理解
当一个文件包含,后拼接了一个后缀时,都会在我们的伪协议后加上拼接的后缀,往往这个后缀就会导致我们访问失败,如何绕过?
可以尝试00截断,也可以尝试我们接下来叙述的长度截断。
00截断对版本要求更高一点,而长度截断则是利用了windows的系统漏洞,就是windows文件名(就是文件名后缀之后)之后如果有空格,或者是点都会被忽略掉,也就是添了和没添一样。
就像这样
实际上
而windows文件名的长度最大为256,而linux则为4096超过这个长度的字符为无效字符。
举例
如上面的网页源代码,当后面拼接了一个.html假设我要访问的文件为webshell.php
直接访问的结果是无法访问的因为我们的访问被拼接了后缀,webshell.php.html而文件系统里没有这个文件名,只有webshell.php
此时我们就可以在访问时加上很多点使文件名长度大于256这样再拼接.html时自然长度超过了256所以被无效了,而windows又会自动省略文件名最后的点,导致我们加的点也被自动省略了。所以文件名还是webshell.php。