风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞php
一些网站因为业务需求,每每须要提供文件下载功能,但若对用户下载的文件不作限制,则恶意用户就可以下载任意敏感文件,这就是文件下载漏洞。
漏洞产生缘由mysql
文件下载的两种方式
一、直接下载:web
<a href=”http://www.a.com/xxx.rar”>下载</a>
二、增长header头sql
<?php $filename = $_GET['filename']; echo '<h1>开始下载文件</h1><br /><br />'; echo file_get_contents($filename); header('Content-Type: imgage/jpeg'); header('Content-Disposition: attachment; filename='.$filename); header('Content-Lengh: '.filesize($filename)); ?>
读取配置文件进行信息收集shell
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 root
C:\Windows\php.ini //php配置信息
C:\Windows\my.ini //Mysql配置信息浏览器
Linux:安全
/root/.ssh/authorized_keys //如需登陆到远程主机,须要到.ssh目录下,新建authorized_keys文件,并将id_rsa.pub内容复制进去
/root/.ssh/id_rsa //ssh私钥,ssh公钥是id_rsa.pub
/root/.ssh/id_ras.keystore //记录每一个访问计算机用户的公钥
/root/.ssh/known_hosts
//ssh会把每一个访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。若是公钥不一样,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。
/etc/passwd // 帐户信息
/etc/shadow // 帐户密码文件
/etc/my.cnf //mysql 配置文件
/etc/httpd/conf/httpd.conf // Apache配置文件
/root/.bash_history //用户历史命令记录文件
/root/.mysql_history //mysql历史命令记录文件
/proc/self/fd/fd[0-9]*(文件标识符)
/proc/mounts //记录系统挂载设备
/porc/config.gz //内核配置文件
/var/lib/mlocate/mlocate.db //全文件路径
/porc/self/cmdline //当前进程的cmdline参数bash
读取代码漏洞审计服务器
通用
.
点,使用户在url中不能回溯上级目录php.ini
配置open_basedir
限定文件访问范围文件下载漏洞修复
download id path ------- download.php?id=1
www.test.com/download?filename=文件名
blog.csdn.net/frozen_fish/article/details/2244870
参考:
http://blog.evalshell.com/2020/12/20/风炫安全web安全学习第三十五节课-文件下载和文件/