激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應(yīng)
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補(bǔ)償
        全部產(chǎn)品
        您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

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

        發(fā)布時(shí)間:  2012/5/18 19:00:28

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

        下面是一個(gè)簡單的文件上傳表單

        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,其中選項(xiàng)upload_max_filesize指定允許上傳的文件大小,默認(rèn)是2M

        $_FILES數(shù)組變量

        PHP使用變量$_FILES來上傳文件,$_FILES是一個(gè)數(shù)組。如果上傳test.txt,那么$_FILES數(shù)組的內(nèi)容為:

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

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

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

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

        存放上傳文件的文件夾

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

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

        上傳文件時(shí)的錯(cuò)誤信息

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

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

        文件上傳漏洞

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

        下面是一個(gè)簡單的文件上傳例子:

        1. php 
        2. // 設(shè)置上傳文件的目錄 
        3. $uploaddir = "D:/www/images/"
        4. // 檢查file是否存在 
        5. if (isset($_FILES['file1'])) 
        6. // 要放在網(wǎng)站目錄中的完整路徑,包含文件名 
        7. $uploadfile = $uploaddir . $_FILES['file1']['name']; 
        8. // 將服務(wù)器存放的路徑,移動到真實(shí)文件名 
        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> 

        這個(gè)例子沒有檢驗(yàn)文件后綴,可以上傳任意文件,很明顯的上傳漏洞


        本文出自:億恩科技【mszdt.com】
        php 
      2. // 設(shè)置上傳文件的目錄 
      3. $uploaddir = "D:/www/images/"
      4. // 檢查file是否存在 
      5. if (isset($_FILES['file1'])) 
      6. // 要放在網(wǎng)站目錄中的完整路徑,包含文件名 
      7. $uploadfile = $uploaddir . $_FILES['file1']['name']; 
      8. // 將服務(wù)器存放的路徑,移動到真實(shí)文件名 
      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> 
      17. 這個(gè)例子沒有檢驗(yàn)文件后綴,可以上傳任意文件,很明顯的上傳漏洞


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

        服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

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

        0371-60135900
        7*24小時(shí)客服服務(wù)熱線