文件读取漏洞专题(二)
July 08, 2021
579
任意文件读取漏洞非常基础而又常见,攻击者可以由此收集到大量敏感信息
该专题将对文件读取漏洞的知识进行一些汇总,偶尔会有相关例题解析
文件读取-php(续)
上一篇文章提到了利用php的wrapper读取文件,接下来介绍一下关于php文件读取的技巧
00截断和目录穿越
以下面一道题为例
[WeChall]Training: PHP LFI*
题目简单明了,要求include到solution.php,但是这里出现了问题:filename的前后都是不可控的,路径前面加上了page/,后面又以.html结尾。
page/我们可以简单地用../来返回上一级目录,那又怎么解决后缀的问题呢?
而ascii中0作为特殊字符保留,表示字符串结束,所以我们在文件名后加%00即可造成截断
payload: ?file=../../solution.php%00
一些其他协议
zip和phar协议有时可以用于在遇到文件上传功能时进行文件包含来执行php代码
文件读取-Java
java的一些模块有时未对传入路径作安全限制或限制不严,导致可以读取到一些敏感文件
同时也可能有XXE导致的文件读取
文件读取-Python
作为面向对象的语言,python搭建web应用时的“风格”和php不同,用户和web应用交换往往包含对服务器资源文件的请求,容易出现非预期的读取文件情况