Web安全之檔案上傳
檔案上傳漏洞原理:
現在很多web應用程式中允許上傳圖片,文字或者其他資源到指定的位置,檔案上傳漏洞就是利用這些可以上傳的地方將惡意程式碼植入到伺服器中,然後通過url去訪問以執行程式碼。
防範措施
對於上傳檔案的字尾名(副檔名)沒有做較為嚴格的限制(可繞過)
對於上傳檔案的MIMETYPE 沒有做檢查
許可權上沒有對於上傳的檔案的檔案許可權,(尤其是對於shebang型別的檔案)
web server對於上傳檔案或者指定目錄的行為沒有做限制
繞過方式
-
1修改前端JS程式碼或抓包
-
檢測擴充名,如果不合法,則拒絕這次上傳,一般有兩種策略:黑名單和白名單,白名單策略是更加安全的,通過限制上傳型別為只有我們接受的型別,可以較好的保證安全,因為黑名單我們可以使用各種方法來進行注入和突破。
-
Nginx空位元組漏洞 xxx.jpg%00.php 這樣的檔名會被解析為php程式碼執行
-
Apache的解析漏洞,上傳如a.php.rar a.php.gif 型別的檔名,可以避免對於php檔案的過濾機制,但是由於apache在解析檔名的時候是N從右向左讀,如果遇到不能A識別的副檔名則跳過,rar等副檔名是apache不能識別的,因此就會直接將型別識別為php,從而達到了注入php程式碼的目的
檢查HTTP Header中的Content-Type(很不安全),HTTP協議規定了上傳資源的時候在Header中加上一項檔案的MIMETYPE,來識別檔案型別,這個動作是由瀏覽器完成的
MIMETYPE
可以通過抓包的方式進行中間人攻擊(BP)
============================================
找到了一位師傅的Writup
檔案上傳進階
相關文章
- Web 安全漏洞之檔案上傳Web
- Web安全-檔案上傳漏洞Web
- WEB安全:檔案上傳漏洞Web
- Java Web之SpringMVC 上傳檔案JavaWebSpringMVC
- php圖片上傳之檔案安全PHP
- 24:WEB漏洞-檔案上傳之WAF繞過及安全修復Web
- Java Web 檔案上傳JavaWeb
- WEB漏洞——檔案上傳Web
- 檔案上傳之解析漏洞編輯器安全
- Ajax 之檔案上傳
- <web滲透-檔案上傳漏洞>Web
- SpringMVC之檔案上傳SpringMVC
- 小程式之檔案上傳
- Express檔案上傳之MulterExpress
- 檔案上傳之WAF繞過及相安全防護
- Web檔案上傳方法總結大全Web
- php檔案上傳之多檔案上傳PHP
- JavaWeb之SpringMVC上傳檔案JavaWebSpringMVC
- Web上傳檔案的原理及實現Web
- Solon Web 檔案上傳的最佳實踐Web
- JAVA Web 之 struts2檔案上傳下載演示(一)(轉)JavaWeb
- 單個檔案上傳和批量檔案上傳
- .NET Core Web APi大檔案分片上傳研究WebAPI
- 檔案上傳
- SpringMVC 單檔案上傳與多檔案上傳SpringMVC
- 安全漏洞問題5:上傳任意檔案
- 探索網路安全:淺析檔案上傳漏洞
- Java大檔案上傳、分片上傳、多檔案上傳、斷點續傳、上傳檔案minio、分片上傳minio等解決方案Java斷點
- Django2 Web 實戰03-檔案上傳DjangoWeb
- 檔案上傳之三基於flash的檔案上傳
- 漏洞重溫之檔案上傳(總結)
- Koa2 之檔案上傳下載
- jmeter之http請求-如何上傳檔案JMeterHTTP
- 前端大檔案上傳/分片上傳前端
- Flask——檔案上傳Flask
- PHP上傳檔案PHP
- JavaScript 檔案上傳JavaScript
- Git上傳檔案Git