转载

未获取权限下的任意文件读取

*本文作者:freebuf01,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

0×01概述:

在项目实施过程中,任意文件读取漏洞虽说不多,但也能不定期的发现一个。于是在这把自己了解的,做一个小小的总结(好记性不如烂笔头,本编部分案列截图取自wooyun)。通常利用任意文件读取漏洞读取源码,配合代码审计(比如查看文件上传过滤代码,加以绕过),读取配置文件(不仅仅局限于数据库配置,还有网络配置文件等),如果权限足够,还可读取shadow、历史记录等文件,从而收集密码,这些都对后期权限获取有很大帮助。

0×02具体案例:

1、查找任意文件读取漏洞,首先要留意filename、download、inputfile这类的文件名,还可以留意path、name、filename、url、src等参数,不仅是GET类型,POST也同样存在,下图是未进行任何过滤

未获取权限下的任意文件读取

2、服务器或者容器的配置问题,引起的任意文件读取漏洞。

未获取权限下的任意文件读取

3、绕过java安全模式(没碰到过)。

未获取权限下的任意文件读取

4、服务器自身漏洞问题如glassfish

未获取权限下的任意文件读取

5、配合其他手法,如通过xxe、ssrf调用file协议读取文件,结合文件包含漏洞、sql注入(如load_file)等

未获取权限下的任意文件读取

6、javascript文件嵌套调用处,也可能存在

未获取权限下的任意文件读取

7、实际项目实施过程中,肯定会遇到各种过滤的,比如过滤扩展名,从而防止读取(.jsp、.php、.aspx等源码文件),过滤文件名如passwd、web.config,可以通过大小写或者url编码等绕过

未获取权限下的任意文件读取

8、部分系统可能使用白名单,对文件扩展名进行限制,可使用截断进行绕过

未获取权限下的任意文件读取

9、部分系统会过滤“../”,替换为空,可使用“…/./”绕过(灵活运用),有些是过滤“..”(没找到图)

欢迎各位补充

*本文作者:freebuf01,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

原文  http://www.freebuf.com/articles/web/168506.html
正文到此结束
Loading...