日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【W(wǎng)EB開發(fā)】文件上傳常見防御與突破總結(jié)

admin
2025年5月13日 23:39 本文熱度 301

一、簡介

文件上傳是指用戶上傳了一個(gè)可執(zhí)行腳本,并通過此腳本文件獲得了執(zhí)行服務(wù)器端命令的能力。通過就是上傳一句話木馬,然后通過菜刀來連接服務(wù)器。要完成這個(gè)攻擊,需要下面的三個(gè)條件:

1.上傳的文件能夠被web容器解釋執(zhí)行,所以文件上傳后所在的目錄要是web容器所覆蓋到的路徑。

2.用戶能夠從web上訪問這個(gè)文件,如果文件上傳了,但用戶無法通過web訪問,或者無法使得web容器解釋這個(gè)腳本,那也不能稱之為漏洞、

3.用戶上傳的文件沒有被安全檢查,格式化,圖片壓縮等功能改變了內(nèi)容;如果改變了內(nèi)容則可能導(dǎo)致攻擊不成功。

PS:文件上傳功能在大多數(shù)的web應(yīng)用中都存在,比如用戶頭像上傳,文章內(nèi)容的圖片,視頻,音頻,附件上傳,一些cms系統(tǒng)上傳模板文件,數(shù)據(jù)庫備份文件,插件文件等地方

二、防御

在實(shí)際的測試過程中,我們總是發(fā)現(xiàn)程序?qū)ι蟼髁宋募隽烁鞣N限制,導(dǎo)致文件上傳不成功。常用的限制文件上傳的方式有:

1.黑名單過濾(根據(jù)文件擴(kuò)展名)

2.白名單過濾(根據(jù)文件擴(kuò)展名)

3.檢測上傳文件的文件頭(服務(wù)器端MIME類型檢測)

4.服務(wù)器內(nèi)容檢測,檢測是否有惡意代碼

5.服務(wù)端目錄路徑檢測(檢測和path相關(guān)的參數(shù))

三、繞過限制上傳

找到了下面的一個(gè)圖片,總結(jié)的挺全的。

1.黑名單方式

1)文件大小寫繞過:嘗試使用大小寫來進(jìn)行上傳,如ASP,PHp等文件名2)名單列表繞過用名單里沒有的名單進(jìn)行攻擊,例如可以上傳php2,php3,php4,inc,pwml,asa,cer等文件。

能被解析的文件擴(kuò)展名列表:jsp jspx jspfasp asa cer aspxphp php2 php3 php4 perl(pl)exe exee

3)特殊文件名繞過在windows中空格是不允許的,上傳文件以后會自動去掉空格,如上傳test.asp_(下劃線代替空格)4)0x00截?cái)嗬@過假如這時(shí)候獲取到的文件名是 test.asp[\0].jpg(asp后面為 0x00) 而在 gettype()函數(shù)里處理方式是從后往前掃描擴(kuò)展名,所以判斷為jpg;在很多語言的函數(shù)中,比如在c,PHP等語言的常用字符串處理函數(shù)中,0x00被認(rèn)為是終止符。

5).htaccess文件攻擊

但是Apache版本高于2.3.9上傳.htaccess就不在生效。(實(shí)際測試生效)

配合名單列表繞過,上傳一個(gè)自定義的.htaccess,就可以輕松繞過各種檢測

該文件僅在Apache平臺上存在,IIS平臺上不存在該文件,該文件默認(rèn)開啟,啟用和關(guān)閉在httpd.conf文件中配置。該文件的寫法如下:

<FilesMatch "_php.gif">?SetHandler application/x-httpd-php</FilesMatch>

保存為.htaccess文件。該文件的意思是,只要遇到文件名中包含有”_php.gif”字符串的,統(tǒng)一按照php文件來執(zhí)行。該文件在Apache里默認(rèn)是啟用的,如果沒啟用,啟用方法見:http://www.jb51.net/article/25476.htm 然后就可以上傳一個(gè)帶一句話木馬的文件,例如a_php.gif,會被當(dāng)成php執(zhí)行。該方法其實(shí)不是漏洞,是Apache的特性。該方法常用于黑客入侵網(wǎng)站之后,不想被發(fā)現(xiàn),留一個(gè)隱蔽的后門。在PHP手冊中提到一句話,move_uploaded_filesection,there is awarning which states‘If the destination file already exists,it will be overwritten.’服務(wù)器端如果采用了黑名單的形式限制上傳,但是黑名單中卻沒有.htaccess文件,那么我們可以上傳.htaccess文件覆蓋掉原來的文件。

6)解析調(diào)用/漏洞繞過

這類漏洞直接配合上傳一個(gè)代碼注入過的非黑名單文件即可,再利用解析調(diào)用/漏洞。如下面的解析漏洞

Apache解析漏洞:Apache對于文件名的解析是后往前解析的,直到遇到一個(gè)Apache認(rèn)識的文件類型。比如:phpshell.php.rar.rar.rar.rar,Apache不認(rèn)識rar這個(gè)文件類型,所有會一直遍歷到php。Apache認(rèn)識的文件類型定義在Apache的mime.type文件中。(Apache 1.x,2.x)

nginx和iis7.5/7.0解析漏洞

此解析漏洞其實(shí)是php的配置錯(cuò)誤導(dǎo)致。

php為了支持path info模式創(chuàng)造了fix_pathinfo這個(gè)選項(xiàng),當(dāng)它被打開時(shí),fpm就會判斷請求的文件是否存在,如果不存在就去掉最后一個(gè)\開始的內(nèi)容,再次查看文件是否存在,不存在再去掉從\開的內(nèi)容,循環(huán)往復(fù)。所以當(dāng)請求http://192.168.1.100/admin/upload/shell.jpg/.php這么個(gè)文件時(shí),fpm會把/.php去掉把shell.jpg當(dāng)作php執(zhí)行。

后來出現(xiàn)了seccurity.limit_extensions選項(xiàng),這個(gè)選項(xiàng)默認(rèn)配置.php文件才能被fpm執(zhí)行。

利用條件:1、fast-cgi模式運(yùn)行2、Fix_pathinfo為1 (默認(rèn)為1)3、seccurity.limit_extensions選項(xiàng)允許。(默認(rèn)只解析.php

ISS文件解析漏洞

1);截?cái)啵?dāng)文件名為abc.asp;xx.jpg時(shí),iis6會將此文件解析為abc.asp2)文件夾拓展名出錯(cuò),導(dǎo)致/*.asp/目錄下的所有文件都作為asp文件進(jìn)行解析。(iss6)

7)PHP CGI路徑解析問題:nginx配置fastcgi使用PHP時(shí),會存在文件解析漏洞。


2.白名單檢測

1).htaccess文件攻擊

白名單檢測可以通過.htaccess的文件方式來進(jìn)行利用


四、文件頭檢測

1)偽造一個(gè)合法的文件頭,而將真實(shí)的php代碼附在合法的文件頭以后。圖像文件相關(guān)信息檢測常用的就是 getimagesize()函數(shù)

2)我們可以通過抓包,將content-type字段改為image/gif

POST /upload.php HTTP/1.1TE: deflate,gzip;q=0.3Connection: TE, closeHost: localhostUser-Agent: libwww-perl/5.803Content-Type: multipart/form-data; boundary=xYzZYContent-Length: 155--xYzZYContent-Disposition: form-data; name="userfile"; filename="shell.php"Content-Type: image/gif (原為 Content-Type: text/plain)php system($_GET['command']);?>--xYzZY-

3) 在木馬內(nèi)容基礎(chǔ)上再加了一些文件信息,有點(diǎn)像下面的結(jié)構(gòu)

GIF89a<?php phpinfo(); ?>


五、文件加載檢測

繞過方法:

針對渲染加載測試:代碼注入繞過

針對二次渲染測試:攻擊文件加載器


六、配合操作系統(tǒng)文件命令規(guī)則

(1)上傳不符合windows文件命名規(guī)則的文件名

1、文件名長度最大為255個(gè)英文字符。(或者是127個(gè)中文字符+1個(gè)英文字符)2、全路徑最大長度最大為260個(gè)字符。3、訪問文件不區(qū)分大小寫(部分應(yīng)用程序使用時(shí)除外),顯示文件時(shí)有大小寫。4、開頭不能使用空格,其他地方可以。5、文件名不能包含:< > | / \ * ? :  test.asp.  test.asp(空格)  test.php:1.jpg  test.php::$DATA  shell.php::$DATA…….會被windows系統(tǒng)自動去掉不符合規(guī)則符號后面的內(nèi)容。

(2)linux下后綴名大小寫

?在linux下,如果上傳php不被解析,可以試試上傳pHp后綴的文件名。1、文件名最大長度為2552、全路徑長度最大為4096(16級最大文件長度)3、區(qū)分大小寫4、除“/”之外所有字符都可以使用5、linux不以文件擴(kuò)展名區(qū)分文件類型,對linux來說一切皆文件。

七、zip數(shù)據(jù)包可能導(dǎo)致的問題

1.未處理解壓文件

2.為遞歸檢測上傳目錄導(dǎo)致繞過

3.條件競爭繞過

4.解壓產(chǎn)生異常退出實(shí)現(xiàn)逃過

5.解壓特殊文件實(shí)現(xiàn)繞過(../)

繞過方式做一個(gè)總結(jié)

操作

說明

前端禁用JS

前端限制,禁用JS,去除input標(biāo)簽的accept屬性

修改文件后綴

抓包工具,修改文件后綴為黑名單之外的后綴

修改文件后綴

修改文件后綴為index.jpg.php

修改文件后綴

%00截?cái)?,比?/span>index.php%00.jpg

修改文件后綴

文件名末尾添加::$DATA,windows會把::$DATA之后的數(shù)據(jù)當(dāng)成文件流,不會檢測后綴名.且保持::$DATA之前的文件名

修改文件后綴

linux主機(jī)上的文件名大小寫敏感,文件后綴大小混寫

修改文件后綴

在文件末尾添加空格,黑名單的方式?jīng)]法兒檢測

修改文件類型

抓包工具,修改Content-Type:image/png

修改文件后綴

修改文件名shell.php:.jpg,上傳后會得到一個(gè)空的文件shell.php,然后修改文件名為shell.>>>或者shell.<、shell.<<<、shell.>><再上傳,重寫shell.php

換行解析

Apache2.4.0~2.4.29換行解析漏洞%0d,%0a(CR,LF(回車,換行))

未知后綴名

Apache配置AddHandler application/x-httpd-php .php不當(dāng)導(dǎo)致未知后綴腳本執(zhí)行

后綴名正則替換

這種需要構(gòu)造,使得替換之后的可以重組成為新的可執(zhí)行后綴,雙后綴名繞過

修改上傳路徑

name="upload_file/1.php%00"; filename="shell.jpg"

條件競爭

條件競爭刪除/重命名文件時(shí)間差繞過

圖片馬

copy code.jpg/b + shell.php/b hourse.jpg

圖片重繪包含馬

做一個(gè)就好了

上傳壓縮包

配合PHP偽協(xié)議、文件協(xié)議等讀取執(zhí)行本地文件

數(shù)據(jù)庫寫文件

UDF,select查詢輸入


八、防止文件上傳的方式

在做實(shí)際項(xiàng)目的時(shí)候,一般我們只會關(guān)注7,8,9。

文件權(quán)限做控制,上傳文件做控制,訪問權(quán)限做控制。

九、總結(jié)

本篇文章總結(jié)了常見的文件上傳方式,以及在一些過濾情況下的繞過方式,最后還說了如何通過正確的方式去防止文件上傳漏洞。


閱讀原文:原文鏈接


該文章在 2025/5/14 9:29:03 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved