概述
檔案上傳漏洞是發生在有上傳功能的應用程式中,如果應用程式對使用者上傳檔案沒有控製或有缺陷,攻擊者可以利用應用程式上傳功能的缺陷,上傳木馬、病毒等有危害的文件到伺服器上面,控制伺服器。
漏洞成因及危害
檔案上傳漏洞產生的主要原因是:應用程式中存在上傳功能,但是上傳的檔案沒有經過嚴格的合法性檢驗或檢驗函數有缺陷,導致可以上傳木馬文件到伺服器。文件上傳漏洞危害極大因為可以直接上傳惡意程式碼到伺服器上,可能會造成伺服器的網頁篡改、網站被掛馬、伺服器被遠端控制、被安裝後門等嚴重的後果。
下面我們就檔案上傳的幾種驗證及繞過方法:
1.本地驗證(前端驗證)
前端JS過濾繞過上傳漏洞是因為應用程式是在前端透過JS程式碼進行的驗證,而不是在程式後端進行的驗證,這樣就可以透過修改前端JS程式碼的方式進行繞過上傳過濾,上傳木馬。
那麼如何判斷是否為前端驗證呢?我個人覺得我們可以看在進行上傳抓包的時候是否能到資料包,是否有資料流過,或者可以看上傳圖片是否頁面會顯示上傳的圖片地址等。
繞過:將過濾程式碼刪除,修改或停用Javascript。
2.後端驗證及繞過
文件上傳常見驗證:後綴名(直接驗證),文件,文件頭(間接驗證)。
2.1 後綴名
2.1.1 黑名單(明確不允許上傳的腳本格式後綴)
檔案名稱過濾繞過漏洞主要是因為透過黑名單的方式判斷了文件上傳的類型,而且並沒有完整的過濾,導致攻擊者透過上傳黑名單類型以外的文件。
黑名單判斷方法:上傳文件,系統提示不允許上傳xxx格式檔案。
繞過:使用其他格式(php5,Phtml,php3)或檔案大小寫,同時也可以加入一些幹擾符號實作繞過。
2.1.2 .htaccess(偽靜態協定)-重寫解析(Apache才有並且開啟偽靜態模組)
.htaccess檔案上傳是利用.htaccess檔案可以對Web伺服器設定的功能,實作對jpg、png等後綴的檔案當做PHP檔案解析的過程。
.htaccess檔案(分散式設定檔)提供了一種基於每個目錄進行設定變更的方法,包含一個或多個設定指令的檔案放在特定的文件目錄中,檔案中的指令適用於該目錄及其所有子目錄。 .htaccess是Web伺服器的一個設定文件,可以透過.htaccess檔案實現Web伺服器中的定義檔的解析方式、重定向等設定。
繞過方法:先上傳1.htaccess檔。 2.再上傳圖片馬。
2.1.3 空格繞過
繞過方法:封包中檔案後綴名後加上一個空格實作繞過。
2.1.4 .繞過
繞過方法:跟空格繞過方法類似,封包中檔案後綴名後加一個.實作繞過。
2.1.5 ::$data繞過
這是windows特有的一種協議,在window的時候如果檔案名稱"::$DATA"會把::$DATA之後的資料當成檔案流處理,不會偵測後綴名,且保持::$DATA之前的檔案名,他的目的就是不檢查後綴名。
2.1.6 循環過濾
繞過:程式碼將字串裡的php替換為空。
如:a.pphphp 會變成->a.
2.1.7 白名單:明確可以上傳的格式後綴(更安全)
#
3.文件類型驗證
3.1 文件頭檢測:文件頭內容資訊(如gif89a)
不同的文件都有特定的文件頭格式,開發者透過檢查上傳文件的文件頭檢測文件類型,但是這種檢測方式同樣可以被繞過,只要在木馬文件的頭部添加對應的文件頭,這樣既可以繞過檢測又不影響木馬文件的正常運行。
常見的檔案頭如下:
JPEG 0xFFD8FF
PNG0 x89504E470D0A1A0A
GIF 47 49 4638 39 61(#GIF 47 49 4638 39 61(GIF8#過方法:
更改頭部資訊達到欺騙,如在木馬的頭檔中添加圖片檔案的檔案頭即可繞過偵測。- GIF89a
?>
製作圖片馬- 直接在圖片中插入一句話木馬,進行上傳。 ———利用文件包含原理。
使用cmd指令將一張正常圖片 1.jpg 與一個包含一句話木馬的 a.txt文件,合成一個新的test.php木馬文件。
cmd 指令:copy 1.jpg/b a.txt test.php。
3.2 Content-Type偵測
Content-Type用於定義網路檔案的類型和網頁的編碼,用來告訴檔案接收者將以什麼形式、什麼編碼讀取這個檔案。不同的檔案都會對應的不同的Content-Type,例如jpg檔案的Content-Type為image/jpeg,php檔案的Content-Type為application/octet-stream。 Content-Type是在封包的請求包頭中,開發者會通Content-Type的類型判斷檔案是否允許上傳。
繞過:Content-Type的類型可以透過抓包來竄改,這樣就可以透過抓包修改封包的Content-Type來繞過Content-Type判斷。
MIME:可以透過判斷類型猜測檔案後綴名,利用抓包工具將Content-Type進行篡改,如改為image/pjpeg、image/jpeg、image/gif、image/png四個中的一個即可繞過過濾。
4. 內容及其他
4.1 邏輯安全:條件競爭(相當於系統佔用)
定義:競爭條件是指多個執行緒在沒有進行鎖定操作或同步操作同時存取同一個共享程式碼、變數、檔案等,運行的結果依賴不同執行緒存取資料的順序。先將檔案上傳到伺服器,伺服器依照規則對圖片選擇保存與刪除,漏洞點在於檔案在儲存到伺服器之前並沒有進行合法性的檢查,雖然儲存後進行了檔案的檢查,但是透過競爭條件漏洞,透過上傳有寫入檔案功能的木馬,在刪除木馬之前造訪已經上傳的木馬,就可以寫入新的木馬。
繞過:將文件上傳到伺服器後,我們就不斷進行文件路徑訪問,由於條件競爭,就會達到上傳Webshell的目的,漏洞利用就是發送請求通過不斷上傳內容,這樣的訪問會產生新的木馬文件,然後再發送另一個請求不斷存取此文件,如果競爭條件漏洞利用成功就會產生新的木馬。
4.2 目錄命名
繞過:透過新增/.後綴讓伺服器辨識檔案為資料夾形式,達到上傳的目的,如-x.php/.
5.其他漏洞
腳本函數漏洞-cve
CVE-2017-12615
CVE-2015-5254
CVE-2019-2618
......
這些漏洞網路上都有利用教程,有興趣的師傅可以去查閱一下資料。
6.中間件解析漏洞
6.1 IIS 6.0 解析漏洞
解析漏洞快速判斷,/.php看是否有亂碼,有則存在,無則不存在。
6.1.1 以資料夾執行
正常檔案名稱:image/aa.jpg。
繞過:image.asp/aa.jpg aa.jpg就會被當作asp解析。
6.1.2 以檔案執行
正常檔案名稱:image.jpg。
繞過:image.asp;.jpg或xxx.asp;xxx.jpg 此檔案會當作asp執行。
asp可以換做php 如果換了php,那麼就可以當作php執行。
7.WAF繞過
要繞過WAF,我們需要了解哪些參數可以修改,如:
Content-Disposition:一般可修改。- name:表單參數值,不能修改。
- filename:檔名,可以修改。
- Content-Type(檔案自帶類型):檔案MIME,視情況變更。
- waf繞過的核心就是在可以修改的參數名稱後不斷修改測試,嘗試繞過。
- 常見繞過方法:
7.1 資料溢出(垃圾資料填充)
利用WAF偵測上限,增加大量垃圾數據,讓其匹配不到,類似溢位漏洞,一般可在上傳參數後面加入乾擾數據,垃圾數據和參數之間要記得新增;,否則封包會報錯。
7.2 符號變異('";)
利用程式開發漏洞,對資料包中上傳參數中的符號進行替換,新增、刪除,達到上傳目的。如
如x.jpg;.php 分號代表一個資料的結束。
7.3資料截斷(
以上是淺談權限取得方法之檔上傳的詳細內容。更多資訊請關注PHP中文網其他相關文章!

i站是名叫“iwara”的网站,又称“爱弹幕”,是一家弹幕视频分享网站,主要分享动漫资讯、番剧、漫画小说、游戏等资源,可以说是一家二次元文化圈网站。i站里的漫画资源非常丰富,且基本都是免费的,很多网上热议漫画、最新的漫画包括日韩漫画都可以在i站观看。

解决Python网站访问速度问题,使用索引、缓存等数据库优化方法在开发和维护Python网站的过程中,经常会遇到网站访问速度慢的问题。为了提高网站的响应速度,我们可以使用一些数据库优化方法,如索引和缓存。本文将介绍如何使用这些方法来解决Python网站访问速度问题,并提供相应的代码示例供参考。一、使用索引优化数据库查询索引是数据库中数据的快速查找结构,可以大

默认情况下,大多数iPhone用户在iPhone上使用Safari浏览器。他们在Safari浏览器上浏览和访问不同类型的网站。一些iPhone用户报告说,他们厌倦了在iPhone上启动Safari浏览器后在初始屏幕上看到经常访问的网站。为了更改初始屏幕的外观,您应该对其进行编辑。如果您希望从Safari浏览器中删除经常访问的网站,我们在这里提供一些简单的步骤,解释如何轻松做到这一点。如何从iPhone的Safari中删除经常访问的网站步骤1:您应该首先在iPhone上启动Safari浏览器。第2

区别:1、a站全称叫“acfun”,b站全称叫“bilibili弹幕网”。2、a站的内容比较综合,主要是以视频为载体,逐步发展成基于原作进行二次创作的一种形式;而B站更偏向于acg,更有针对性的内容带来的是数量大但是范围更狭窄的受众群体。3、A站用户群体年龄稍稍偏大,热情有余行动力不足;B站用户普遍年龄偏小,戾气较重但集群性很强。

php的网站:1、Facebook,世界上最大的社交媒体平台之一;2、WordPress,开源的内容管理系统,用于快速创建和管理各种类型的网站;3、Magento,功能强大的电子商务平台,用于创建和管理在线商店;4、Joomla,流行的开源内容管理系统,用于构建各种类型的网站;5、Wikipedia,免费的在线百科全书,提供各种主题的知识和信息;6、Digg,社交新闻网站等等。

“itch.io”是一个专注于独立游戏内容的数字商店网站;该网站是由程序员出身并且尝试过游戏开发的“Leaf Corcoran”创立,开发者可以在这里上传自己的游戏售卖,玩家可以在这里找到自己喜欢的产品。

有时,出于多种原因,我们希望在MicrosoftEdge上阻止某些网站,无论是出于家长控制,时间管理,内容过滤,甚至是安全问题。一个常见的动机是提高生产力并保持专注。通过阻止分散注意力的网站,人们可以创造一个有利于工作或学习的环境,最大限度地减少潜在的干扰。最后,内容过滤对于维护安全和尊重的在线环境非常重要。阻止包含露骨、冒犯性或令人反感内容的网站在教育或专业环境中尤其重要,在这些环境中,维护适当的标准和价值观至关重要。如果您可以与这种情况相关,那么本文适合您。下面介绍了如何在Edge中阻止对网

使用域名访问网站是指使用域名来进入一个网站,就是在浏览器里直接输入网站的网址来访问网站。网站都是存放在服务器上的,服务器有一个地址,也就是网站的ip地址,是一串数字,但是数字很难记,域名和DNS应用而生,DNS就是将网址和网站的ip地址对应起来;这样用户可以输入网址(域名),就相当于输入了网站的ip地址,就可以访问网站了。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3漢化版
中文版,非常好用

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中