文件包含导致的泄露
文件包含导致的泄露
网站备份压缩文件
漏洞产生
备份文件泄露又分为两种情况 一种是运维人员偷懒地直接在网站根目录用类似tar -czvf bakup.tgz 的命令将网站进行备份, 这样整站的源代码都能直接被用户打包下载了; 另一种是开发或者运维人员使用的编辑器修改文件时自动备份了所编辑的网页内容, 如vim的.swp, 从而泄露了该网页的源代码。
漏洞利用
对于打包文件而言,渗透测试人员可以用{常用文件名}+{常用压缩包后缀}的方式扫描网站,说不定会有意外惊喜。 对于网页的临时备份文件,可以扫描对应页面的.swp或者.bak等后缀,说不定也能找到有用的信息。
漏洞工具:御剑、dirsearch
WEB-INF/web.xml泄露
漏洞产生
-
在Java的Servlet文档中,说到WEB-INF目录“包含了所有web应用会用到但是不处于web路径中的资源”,也就是说,WEB-INF目录下的内容是不属于公开页面的。web应用可以通过getResource等API在servlet的上下文中访问到这些资源。
-
通常开发者会把许多JSP文件,Jar包,Java的类文件放在该目录下。一般目录的内容都是可以预测的
- WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
- WEB-INF/database.properties : 数据库配置文件
- WEB-INF/classes/ : 一般用来存放Java类文件(.class)
- WEB-INF/lib/ : 用来存放打包好的库(.jar)
- WEB-INF/src/ : 用来放源代码(.asp和.php等)
漏洞利用
通过web.xml文件推测应用组件相关类的名字,然后在src目录下查找代码,如果没有源代码可以直接下载class文件反编译即可。
DS_Store文件泄露
漏洞产生
.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。
漏洞利用
.DS_Store的格式为二进制,内部数据结构为Proprietary格式,可以自行解析并递归下载所有文件,参考lijiejie的ds_store_exp。
cat DS_Store
漏洞利用工具:ds_store_exp
ds_store_exp github项目地址:https://github.com/lijiejie/ds_store_exp
vim缓存泄露
漏洞产生
在编辑文件时产生的临时文件,操作正常,则会删除缓存文件,如果意外退出,缓存文件保留下来
以index.php来说,
第一次退出后,缓存文件名为 .index.php.swp
第二次退出后,缓存文件名为 .index.php.swo
第三次退出后文件名为 .index.php.swn
漏洞利用
直接访问/index.php.swp,即可下载源码