風炫安全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安全學習第三十五節課-文件下載和文件/