文件上傳白名單繞過方法--mine類型修改與00截斷


常見的MIME類型

      1)超文本標記語言.html文件的MIME類型為:text/html

      2)普通文本.txt文件的MIME類型為:text/plain

      3)PDF文檔.pdf的MIME類型為:application/pdf

      4)MicrosoftWord文件.word的MIME類型為:application/msword

      5)PNG圖像.png的MIME類型為:image/png

      6)GIF圖像.gif的MIME類型為:image/gif

      7)MPEG文件.mpg、.mpeg的MIME類型為:video/mpeg

      8)AVI文件.avi的MIME類型為:video/x-msvideo

   00截斷

      1) 0x00截斷

        0x00是十六進制表示方法,表示ASCII碼為0的字符,在一些函數處理時,會把這個字符當作結束符。

        0x00可以用在對文件名的繞過上,具體原理:系統在對文件名進行讀取時,如果遇到0x00,就會認為讀取已經結束。但要注意是文件的十六進制內容里的00,而不是文件名中的00。也就是說系統是按二進制或十六進制讀取文件,遇到ASCII碼為0的位置就停止,而這個ASCII碼為0的位置在十六進制中是00。

      總之就是利用ASCII碼為0這個特殊字符,讓系統認為字符串已經結束。

      2) %00截斷

        url發送到服務器后被服務器解碼,這時還沒有傳到驗證函數,也就是說驗證函數里接收到的不是%00字符,而是%00解碼后的內容,即解碼成了0x00。總之就是%00被服務器解碼為0x00發揮了截斷作用。

      3)  0x0a

        0x0a是十六進制表示方法,表示ASCII碼為/n的換行字符,具體為換行至下一行行首起始位置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM