【Web安全】檔案上傳漏洞原理分析

來源:互聯網
上載者:User

標籤:orm   分享   val   image   頭像   特定   color   程式設計語言   apach   

0x01 檔案上傳漏洞簡介

  為了讓使用者將檔案上傳到網站,就像是給危機伺服器的惡意使用者開啟了另一扇門。即便如此,在今天的現代互連網的Web應用程式,它是一種常見的要求,因為它有助於提高業務效率。企業支援門戶,給使用者各企業員工有效地共用檔案。允許使用者上傳圖片,視頻,頭像和許多其他類型的檔案。向使用者提供的功能越多,Web應用受到攻擊的風險和機會就越大,這種功能會被惡意使用者利用,獲得到一個特定網站的許可權,或危及伺服器的可能性是非常高的。上傳檔案本身沒有錯,問題與漏洞在於伺服器怎麼處理上傳的檔案

 

0x02 上傳漏洞的危害

  這個漏洞在DVBBS6.0時代被駭客們利用的最為猖獗,利用上傳漏洞可以直接得到WEBSHELL,危害等級超級高,現在的入侵中上傳漏洞也是常見的漏洞。

 

0x03 上傳漏洞成因

  上傳檔案的時候,如果伺服器指令碼語言,未對上傳的檔案進行嚴格的驗證和過濾,就容易造成上傳任意檔案,包括上傳指令檔。如果是正常的PHP檔案,對伺服器則沒有任何危害。PHP可以像其他的程式設計語言一樣,可以查看目錄下的檔案,查看檔案中的嗎內容,可以執行系統命令等。上傳檔案的時候,如果伺服器端指令碼語言,未對上傳的檔案進行嚴格的驗證和過濾,就有可能上傳惡意的PHP檔案,從而控制整個網站,甚至是伺服器。

 

0x04 上傳漏洞原理

index.html: 

 1 <html>   2 <head>   3 <meta charset="utf-8"> 4 <title>檔案上傳漏洞 - 燁</title>    5 </head>   6 <body>   7 <center> 8 <h2>檔案上傳漏洞</h2> 9 <p>2017.7.30 By.燁</p>10 <p>11 檔案上傳漏洞是指使用者上傳了一個可執行檔指令檔,並通過此指令檔獲得了執行伺服器端命令的能力。<br>12 這種攻擊方式是最為直接和有效,“檔案上傳”本身沒有問題,有問題的是檔案上傳後,伺服器怎麼處理、解釋檔案。<br>13 如果伺服器的處理邏輯做的不夠安全,則會導致嚴重的後果。<br>14 </p>15 <hr>16 <h2>漏洞示範</h2>17 <form action="upload.php" method="post" onsubmit="checkFile()" enctype="multipart/form-data">  18     <input type="file" name="file" id="file"> 19     <input type="submit" value="上傳檔案" name="submit">  20 </form>  21 </center>22 </body>  23 </html>  

upload.php:

 1 <?php   2     error_reporting(0); //抑制所有錯誤資訊 3     @header("content-Type: text/html; charset=utf-8"); //語言強制 4     ob_start(); 5  6     if(isset($_POST["submit"])){   7         $name = $_FILE[‘file‘][‘name‘];  8         $name = md5(date(‘Y-m-d h:m:s‘)).strrchr($name,".");//上傳檔案重新命名 9         $size = $_FILES[‘file‘][‘size‘];10         $tmp = $_FILES[‘file‘][‘tmp_name‘];11         move_uploaded_file($tmp,$name);  12         echo "檔案上傳成功!path:".$name;  13     }  14 ?>

我們提前準備一個上傳的檔案 1.php

1.php的源碼如下:

<?phpphpinfo()?>

然後我們在本地搭建網站上傳測試一下:

 

上傳成功,我們來開啟我們上傳的檔案

成功開啟我們的檔案,這時再查看我們的網站根目錄:

 

0x05 解析漏洞

接下來為大家列舉一些比較常用的解析漏洞:

nginx解析漏洞:

http://www.xxxx.com/1.jpg/a.php
http://www.xxxx.com/1.jpg%00.php

IIS7.0/7.5解析漏洞:

http://www.xxxx.com/UploadFiles/image/1.jpg/.php

IIS6.0解析漏洞:

http://www.xxxx.com/UploadFiles/image/1.jpg;x.php

Apache解析漏洞:

http://www.xxxx.com/test.php.x1.x2.x3

 

【Web安全】檔案上傳漏洞原理分析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.