1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        PHP漏洞全解-文件上傳漏洞

        發布時間:  2012/5/18 19:00:28

        一套web應用程序,一般都會提供文件上傳的功能,方便來訪者上傳一些文件。

        下面是一個簡單的文件上傳表單

        1. <form action="upload.php" method="post" enctype="multipart/form-data" name="form1"> 
        2. <input type="file" name="file1" /><br /> 
        3. <input type="submit" value="上傳文件" /> 
        4. <input type="hidden" name="MAX_FILE_SIZE" value="1024" /> 
        5. form> 

        php的配置文件php.ini,其中選項upload_max_filesize指定允許上傳的文件大小,默認是2M

        $_FILES數組變量

        PHP使用變量$_FILES來上傳文件,$_FILES是一個數組。如果上傳test.txt,那么$_FILES數組的內容為:

        1. $FILES 
        2. Array 
        3. [file] => Array 
        4. [name] => test.txt //文件名稱 
        5. [type] => text/plain //MIME類型 
        6. [tmp_name] => /tmp/php5D.tmp //臨時文件 
        7. [error] => 0 //錯誤信息 
        8. [size] => 536 //文件大小,單位字節 

        如果上傳文件按鈕的name屬性值為file

        1. <input type="file" name="file" /> 

        那么使用$_FILES['file']['name']來獲得客戶端上傳文件名稱,不包含路徑。使用$_FILES['file']['tmp_name']來獲得服務端保存上傳文件的臨時文件路徑

        存放上傳文件的文件夾

        PHP不會直接將上傳文件放到網站根目錄中,而是保存為一個臨時文件,名稱就是$_FILES['file']['tmp_name']的值,開發者必須把這個臨時文件復制到存放的網站文件夾中。

        $_FILES['file']['tmp_name']的值是由PHP設置的,與文件原始名稱不一樣,開發者必須使用$_FILES['file']['name']來取得上傳文件的原始名稱。

        上傳文件時的錯誤信息

        $_FILES['file']['error']變量用來保存上傳文件時的錯誤信息,它的值如下:

        錯誤信息 數值 說 明
        UPLOAD_ERR_OK 0 沒有錯誤
        UPLOAD_ERR_INI_SIZE 1 上傳文件的大小超過php.ini的設置
        UPLOAD_ERR_FROM_SIZE 2 上傳文件的大小超過HTML表單中MAX_FILE_SIZE的值
        UPLOAD_ERR_PARTIAL 3 只上傳部分的文件
        UPLOAD_ERR_NO_FILE 4 沒有文件上傳

        文件上傳漏洞

        如果提供給網站訪問者上傳圖片的功能,那必須小心訪問者上傳的實際可能不是圖片,而是可以指定的PHP程序。如果存放圖片的目錄是一個開放的文件夾,則入侵者就可以遠程執行上傳的PHP文件來進行攻擊。

        下面是一個簡單的文件上傳例子:

        1. php 
        2. // 設置上傳文件的目錄 
        3. $uploaddir = "D:/www/images/"
        4. // 檢查file是否存在 
        5. if (isset($_FILES['file1'])) 
        6. // 要放在網站目錄中的完整路徑,包含文件名 
        7. $uploadfile = $uploaddir . $_FILES['file1']['name']; 
        8. // 將服務器存放的路徑,移動到真實文件名 
        9. move_uploaded_file($_FILES['file1']['tmp_name'], $uploadfile); 
        10. ?> 
        11. …… 
        12. <form method="post" enctype="multipart/form-data" name="form1"> 
        13. <input type="file" name="file1" /><br /> 
        14. <input type="submit" value="上傳文件" /> 
        15. <input type="hidden" name="MAX_FILE_SIZE" value="1024" /> 
        16. form> 

        這個例子沒有檢驗文件后綴,可以上傳任意文件,很明顯的上傳漏洞


        本文出自:億恩科技【www.endtimedelusion.com】
        php 
      1. // 設置上傳文件的目錄 
      2. $uploaddir = "D:/www/images/"
      3. // 檢查file是否存在 
      4. if (isset($_FILES['file1'])) 
      5. // 要放在網站目錄中的完整路徑,包含文件名 
      6. $uploadfile = $uploaddir . $_FILES['file1']['name']; 
      7. // 將服務器存放的路徑,移動到真實文件名 
      8. move_uploaded_file($_FILES['file1']['tmp_name'], $uploadfile); 
      9. ?> 
      10. …… 
      11. <form method="post" enctype="multipart/form-data" name="form1"> 
      12. <input type="file" name="file1" /><br /> 
      13. <input type="submit" value="上傳文件" /> 
      14. <input type="hidden" name="MAX_FILE_SIZE" value="1024" /> 
      15. form> 
      16. 這個例子沒有檢驗文件后綴,可以上傳任意文件,很明顯的上傳漏洞


        本文出自:億恩科技【www.endtimedelusion.com】
        -->

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      17. 您可能在找
      18. 億恩北京公司:
      19. 經營性ICP/ISP證:京B2-20150015
      20. 億恩鄭州公司:
      21. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      22. 億恩南昌公司:
      23. 經營性ICP/ISP證:贛B2-20080012
      24. 服務器/云主機 24小時售后服務電話:0371-60135900
      25. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      26. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          1
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线