溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

shell上傳繞過檢測(cè)方法

發(fā)布時(shí)間:2020-06-04 09:01:30 來源:網(wǎng)絡(luò) 閱讀:1360 作者:董小洋 欄目:網(wǎng)絡(luò)安全

  文件上傳漏洞是所有漏洞中最為直接,有效的獲取服務(wù)器權(quán)限的方法。但是想要利用好他并不容易,因?yàn)樗纳蟼髯藙?shì)實(shí)在是太過花哨(多)。所以這里介紹一些簡(jiǎn)單的上傳姿勢(shì)。望大牛誤噴


shell上傳條件:

1、上傳點(diǎn)

2、絕對(duì)路徑

3、要有權(quán)限


文件上傳檢驗(yàn)姿勢(shì)

 1、客戶端javascript校驗(yàn)(一般只校驗(yàn)后綴名)

 2、服務(wù)端校驗(yàn) 

    ①文件頭content-type字段校驗(yàn)(image/gif)

    ②文件內(nèi)容頭校驗(yàn)(GIF89a)

    ③后綴名黑名單校驗(yàn)

    ④后綴名白名單校驗(yàn)

    ⑤自定義正則校驗(yàn)

 3、WAF設(shè)備校驗(yàn)(根據(jù)不同的WAF產(chǎn)品而定)


開始上傳(先試著上傳小馬,然后在上傳大馬,因?yàn)橛袝r(shí)大馬更容易被吃掉)

1、直接上傳shell,即php文件 (對(duì)文件類型不做限制)


2、更改后綴  

    上傳其他允許上傳格式的文件例如png、jpg。然后通過bp抓包再改后綴為php  

(在前端驗(yàn)證黑白名單。判斷方式:在瀏覽加載文件,但還未點(diǎn)擊上傳按鈕時(shí)便彈出對(duì)話框,內(nèi)容如:只允許上傳.jpg/.jpeg/.png后綴名的文件,而此時(shí)并沒有發(fā)送數(shù)據(jù)包。一般是javascript腳本)


3、利用解析漏洞(即在文件的絕對(duì)路徑后加上 /xx.php)

    上傳例如png的文件,利用解析漏洞  (含有解析漏洞的web服務(wù)器,iis6.0,iis7.0,iis7.5,Nginx低版本)


4、不可識(shí)別的后綴 (服務(wù)器端為黑名單驗(yàn)證)

    上傳例如shell.php.abc文件,服務(wù)器因?yàn)椴荒茏R(shí)別abc后綴,所以向前查找可解析的后綴名。

   (此項(xiàng)只針對(duì)apache服務(wù)器 apache對(duì)文件后綴名的識(shí)別是從后向前進(jìn)行匹配的,以單個(gè).作為分隔符。當(dāng)遇到未知的文件后綴名時(shí),會(huì)繼續(xù)向前匹配,直到遇到可以識(shí)別的后綴名為止。 apache的這個(gè)特性,可以被用來繞過一些上傳文件的檢測(cè)。如果一個(gè)文件上傳的頁(yè)面,通過黑名單的方式禁止上傳php文件,那么我們就可以將文件名修改為test.php.abcd的方式進(jìn)行上傳)


5、00截?cái)?/p>

    上傳類似shell.php.jpg文件,用burpsuit抓包之更改hex值,在hex下找到shell.php.jpg將第二個(gè)點(diǎn)的值(我記得是2e)改為00,然后點(diǎn)擊forward(將包放行)


6、圖片馬

    在win系統(tǒng)cmd下可以很容易將php文件與jpg或者png文件結(jié)合起來,例 copy /b 1.jpg+1.php shell.jpg 即可將圖片與碼結(jié)合起來了,因?yàn)橛行┓?wù)器會(huì)檢測(cè)圖片頭,若不是圖片頭是不允許上傳的。將圖片與碼結(jié)合起來可以有效的隱藏***。這里別忘了要上傳的是php文件,可以使用以上的那些方法

(這個(gè)是針對(duì)服務(wù)端content-type字段檢驗(yàn)的)


7、.htaccess 文件***上傳shell(服務(wù)器端為黑名單驗(yàn)證)

    .htaccess文件是Apache服務(wù)器中的一個(gè)配置文件,它負(fù)責(zé)相關(guān)目錄下的網(wǎng)頁(yè)配置.通過htaccess文件,可以實(shí)現(xiàn):網(wǎng)頁(yè)301重定向、自定義404頁(yè)面、改變文件擴(kuò)展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認(rèn)文檔等功能。

    ①、寫.htaccess文件

            需要用到的代碼如下:

              <FilesMatch "cimer">

              SetHandler application/x-httpd一php

              </FilesMatch>

            (通過.htaccess文件,調(diào)用php的解析器解析一個(gè)文件名只要包含“cimer”這個(gè)字符串的任意文件。)

            然后保存文件(名稱、類型如下)

           shell上傳繞過檢測(cè)方法

    ②、上傳.htaccess文件

    ③、將shell后綴改為cimer

    ④、然后上傳shell.cimer

    ⑤、然后就可以連接了

    如果看不懂看以參考  http://www.sohu.com/a/125498727_609556


上傳方法很多,也有各種各樣的奇葩繞過方法,我知道的也是九牛一毛,這里對(duì)奇葩事例記錄一下,為防止以后忘記。

事例:海盜云商  會(huì)員改頭像  burpsuit抓包后在content-type下加上文件大小 就可以getshell

    或者上傳圖片后再加入***,就可以getshell(這里有一個(gè)問題,就是<?php @eval($_POST['aaa'])  ?> 一句話是沒有分號(hào)的,有分號(hào)            反而不成功)



https://www.cnblogs.com/shellr00t/p/6426945.html  這個(gè)網(wǎng)址不錯(cuò)可以看看

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI