目录浏览(目录遍历)漏洞和任意文件读取/下载漏洞
目录
目录浏览(目录遍历)漏洞
任意文件读取/下载漏洞
目录浏览(目录遍历)漏洞
目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件、配置文件等,攻击者利用该信息可以为进一步入侵网站做准备。
目录浏览漏洞的探测 :可以利用web漏洞扫描器扫描web应用进行检测,也可通过搜索,网站标题包含 “index of” 关键词的网站进行访问
目录浏览漏洞的危害:攻击者通过访问网站某一目录时,该目录没有默认首页文件或没有正确设置默认首页文件,将会把整个目录结构列出来,将网站结构完全暴露给攻击者; 攻击者可能通过浏览目录结构,访问到某些隐秘文件(如PHPINFO文件、服务器探针文件、网站管理员后台访问地址、数据库连接文件等)。
目录浏览漏洞的预防:
- IIS中关闭目录浏览功能:在IIS的网站属性中,勾去“目录浏览”选项,重启IIS。
- Apache中关闭目录浏览功能:打开Apache配置文件httpd.conf,查找“Options Indexes FollowSymLinks”,修改为“ Options -Indexes”(减号表示取消,保存退出,重启Apache)。
- Nginx 中默认不会开启目录浏览功能,若您发现当前已开启该功能,可以编辑nginx.conf文件,删除如下两行:autoindex on;autoindex_exact_size on,然后重启Nginx。
任意文件读取/下载漏洞
任意文件读取/下载漏洞比目录浏览漏洞危害更大,他不仅会泄露网站的目录结构,而且攻击者可以直接获得网站文件的内容。攻击者可以因此获取到很多机密的文件,比如配置文件,比如 /etc/passwd、/root/.bash_history文件等。
任意文件读取/下载漏洞的挖掘:
- 通过web漏洞扫描工具对网站实施扫描可能发现任意文件读取/下载漏洞,发送一系列”../”字符来遍历高层目录,并且尝试找到系统的配置文件或者系统中存在的敏感文件。
- 也可通过判断网站语言,并根据其url中部分提供的参数,进行构造相关的路径信息,如收集到网站中间件版本为apache,则想办法构造../../../ WEB-INF/web.xml等,然后查看其是否可被读取或者下载出来。
- 有些WAF会过滤../,可以构造 /.%252e/.%252e/.%252e/ , %25对应的是%,%2e对应的是.,所以 .%252e/ 对应的是 ../
任意文件读取/下载漏洞的危害:下载服务器任意文件,如脚本代码、服务及系统配置文件等。可用得到的代码进一步代码审计,得到更多可利用漏洞。
Windows:C:\boot.ini //查看系统版本C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件C:\Windows\repair\sam //存储系统初次安装的密码C:\Program Files\mysql\my.ini //Mysql配置C:\Program Files\mysql\data\mysql\user.MYD //Mysql rootC:\Windows\php.ini //php配置信息C:\Windows\my.ini //Mysql配置信息...
Linux:/etc/passwd #查看用户文件/etc/shadow #查看密码文件/etc/my.cnf /etc/httpd/conf/httpd.conf #查看apache的配置文件/root/.bash_history #查看历史命令/root/.mysql_history #mysql历史命令记录文件/var/lib/mlocate/mlocate.db #本地所有文件信息/etc/ssh/sshd_config #ssh配置文件,如果对外开放可看到端口/proc/self/fd/fd[0-9]*(文件标识符)/proc/mounts/porc/config.gz/root/.ssh/authorized_keys /root/.ssh/id_rsa /root/.ssh/id_ras.keystore/root/.ssh/known_hosts程序的配置文件
apache:/etc/httpd/conf/httpd.conf/etc/apache2/httpd.conf/etc/apache2/apache2.confnginx:/etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf/usr/local/etc/nginx/nginx.confredis:/etc/redis.confindex.php?f=../../../../../../etc/passwd
针对Linux系统任意文件下载的几种思路:
- 下载源代码审计
- 数据库备份
- 信息收集
- 中间件
任意文件读取/下载漏洞的预防:
- 净化数据:对用户传过来的文件名参数进行统一编码,对文件类型进行白名单控制,对包含恶意字符或者空字符的参数进行拒绝。
- web应用程序可以使用chroot环境包含被访问的web目录,或者使用绝对路径+参数来访问文件目录,使其即使越权也在访问目录之内。www目录就是一个chroot应用。由chroot创造出的那个根目录,叫做“chroot监狱”(所谓"监狱"就是指通过chroot机制来更改。某个进程所能看到的根目录,即将某进程限制在指定目录中,保证该进程只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全,详细具体chroot的用法,可参考http://blog.csdn.net/frozen_fish/article/details/2244870
- 任意文件下载漏洞也有可能是web所采用的中间件的版本低而导致问题的产生,例如ibm的websphere的任意文件下载漏洞,需更新其中间件的版本可修复。
- 要下载的文件地址保存至数据库中。
- 文件路径保存至数据库,让用户提交文件对应ID下载文件。
- 用户下载文件之前需要进行权限判断。
- 文件放在web无法直接访问的目录下。
- 不允许提供目录遍历服务。
- 公开文件可放置在web应用程序下载目录中通过链接进行下载。
任意文件读取/下载漏洞的场景:出现在文件读取或者展示图片等对文件读取交互的功能块。
目录浏览(目录遍历)漏洞和任意文件读取/下载漏洞相关推荐
- 任意文件读取与下载漏洞学习
原理: 任意文件读取漏洞属于文件操作类漏洞,一般常见于PHP/java/python语言中.任意文件读取漏洞,就是可以任意读取服务器上部分或者全部文件的漏洞,攻击者利用此漏洞可以读取服务器敏感文件如/ ...
- 【MetInfo任意文件读取】--任意文件读取漏洞
文章目录 漏洞信息 一.漏洞产生的原因 二.漏洞利用 1.对靶机网址进行burp抓包 2.对上述请求包进行修改 三.漏洞修复与绕过--四种修复与绕过 1.置空../和./ 2.对$dir进行判断 3. ...
- wsgiserver python 漏洞_新型任意文件读取漏洞的研究
0x00 前言 早前发现boooom在乌云上发了很多个任意文件读取的漏洞,都是形如 http://target/../../../../etc/passwd 这样.当时感觉很新奇,因为正常情况下,通常 ...
- Web漏洞-任意文件读取漏洞
任意文件读取漏洞 原理 任意文件读取是属于文件操作漏洞的一种,通过提交专门设计的输入,攻击者就可以在被访问的文件系统中读取或写入任意内容,往往能够使攻击者从服务器上获取敏感文件,正常读取的文件没有经过 ...
- 畅捷通T+ v17任意文件上传漏洞复现
1.前言 8月29晚上就开始收到通知,让我们来排查一下是否有使用畅捷通的系统,说是疑似0day导致很多用户被植入勒索病毒,一时间风头十足.第二天很多平台都更新的防护策略,本次漏洞是任意文件上传漏洞,如 ...
- CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析
title: CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析 date: 2021-05-19 01:07:08 categ ...
- glassfish任意文件读取漏洞
glassfish任意文件读取漏洞 1.简介 1.1.漏洞类型 1.2.漏洞成因 1.3.语法搜索 1.4.影响版本 2.漏洞复现 2.1.POC 2.2.访问地址 2.3.GlassFish的敏感目 ...
- CTFer成长之路之任意文件读取漏洞
任意文件读取漏洞CTF 任意文件读取漏洞 afr_1 题目描述: 暂无 docker-compose.yml version: '3.2'services:web:image: registry.cn ...
- CVE-2021-43798 Grafana 未经授权的任意文件读取漏洞
CVE-2021-43798 Grafana 未经授权的任意文件读取漏洞 目录 漏洞原理 漏洞信息 受影响版本 FOFA搜集相关资产 漏洞分析&漏洞复现 解决方案 漏洞原理 Grafana是一 ...
最新文章
- xhr请求python_python爬取boss直聘职位数据,并保存到本地
- iPhone SDK Examples
- 19 条 MySQL 技巧,效率至少提高 3倍!
- Flex和java开发的参考书
- 二 RHEL7.2下的Docker配置
- MTK6589下传感器框架结构和代码分析以及传感器的参数指标
- 理解Flexbox弹性盒子
- 【POJ - 2387】 Til the Cows Come Home(单源最短路Dijkstra算法)
- 新当选ACM Fellow李向阳教授:心有理想 向阳而生
- eclipse编写wordcount提交spark运行
- 音量已经调到100%,如何再调整
- 工作笔记-安装完virtualbox,新建好虚拟机却提示无法打开
- 树叶节点_茶,一片树叶的旅程
- 【设计模式】—— 备忘录模式Memento
- android BaseAdapter多布局缓存
- linux mc服务器 mod_使用阿里云服务器搭建饥荒联机版服务器(最新有效2020.2.9更新)...
- PHP中cURL的curl_getinfo函数返回的CURLINFO_HTTP_CODE是0
- pytorch深度学习入门_立即学习AI:01 — Pytorch入门
- 宽带网速如何测试软件,怎么测网速(教你精准测速的方法)
- 华硕win10键盘失灵_华硕键盘失灵一键修复的方法_win10华硕快捷键失灵的解决方法...