1所森,檢測javascript類型的繞過(客戶端)
-通常post請求發(fā)送到web服務(wù)器芥备,客戶端javascript驗證上傳
1.php彈窗說上傳格式錯誤溪窒,只允許.jpg坤塞,.jpeg等格式的文件上傳一句話1.php-->1.jpg 然后burp抓包1.jpg-->1.php幅恋,這樣就繞過了js檢測或者F12查看源代碼璧诵,找到onsubmit=”return checkFile()”,將它刪除并編輯保存袱瓮。這個時候頁面就不檢測了宛瞄,直接上傳成功浮禾,或者修改允許的函數(shù)checkfile(),添加我們想上傳的文件格式,也是可以上傳成功的份汗。
2盈电,檢測MIME類型的繞過(服務(wù)端)
-服務(wù)端MIME類型檢測(檢測Content-Type內(nèi)容),burp抓包杯活,修改Content-TypeContent-Type:text/plain -->phpContent-Type:image/jpeg -->image上傳1.jpg--->修改image/jpeg為text/plain匆帚,成功繞過。常見的MIME類型:超文本標(biāo)記語言文本 .html text/htmlxml文檔 .xml text/xml普通文本 .txt text/plainRTF文本 .rtf application/rtfPDF文檔 .pdf application/pdfMicrosoft Word文件 .word application/mswordPNG圖像 .png image/pngGIF圖形 .gif image/gifJPEG圖形 .jpeg,.jpg image/jpegau聲音文件 .au audio/basicMIDI音樂文件 mid,.midi audio/midi,audio/x-midiRealAudio音樂文件 .ra, .ram audio/x-pn-realaudioMPEG文件 .mpg,.mpeg video/mpegAVI文件 .avi video/x-msvideoGZIP文件 .gz application/x-gzipTAR文件 .tar application/x-tar任意的二進(jìn)制數(shù)據(jù) application/octet-stream
3旁钧,檢測目錄路徑類型的繞過(服務(wù)端)-
上傳1.jpg,burp進(jìn)行抓包吸重,Content-Disposition:from-data;name=”path”后面一行upload是我們保存的地址』ナ埃現(xiàn)在我們將upload改為upload/1.php(空格) ,接著我們來到 Proxy->intercept->Hex找到1.php(空格)這個被修改過的代碼嚎幸,找到同一行的數(shù)字20摩幔,改為00 ,成功繞過wenshell:file:///C:\Users\ADMINI~1.1LK\AppData\Local\Temp\ksohtml\wpsB3DB.tmp.png
4,檢測文件內(nèi)容的繞過(服務(wù)端)
檢測內(nèi)容是否合法或含有惡意代碼文件幻數(shù)檢測jpg-->JFIFgif-->GIF89APNG-->NG文件相關(guān)信息檢測常用的是getimaegsize()函數(shù)檢測有文件頭鞭铆,加一些雜亂的東西,迷惑焦影,空的地方添加木馬文件加載檢測API函數(shù)檢測的一次渲染可以繞過车遂,二次渲染就沒戲繞過。
5斯辰,檢測黑名單類型的繞過(服務(wù)端)
將危險的后綴名寫到一個文件里面舶担,禁止指著后綴名的文件執(zhí)行文件名繞過:大小寫組合繞過pHp,PhP,混搭繞過php1,php2,php3,php4,php5列表名繞過:cer,ashx,asa,cer,cdx,htr,繞過(黑名單可能會漏掉的)特殊字符繞過:a.asp改成a.asp_0x00截斷繞過:上傳1.php.jpg burp抓包改成1.php%00.jpg彬呻,或者h(yuǎn)ex-->20改成00當(dāng)解析的時候衣陶,看到空格,后面的那段就不解析了或者upload/1.asp(空格)/上傳闸氮,hex修改20-->00繞過上傳apache解析繞過:help.asp.134.x2,從前向后嘗試解析剪况,直到遇到自己認(rèn)識的擴(kuò)展名為止。雙擴(kuò)展名解析繞過:apache的conf配置有AddHandler php5-script.php沒有注釋掉蒲跨,則译断,文件名1.php.jpg就能當(dāng)作php執(zhí)行.htaccess文件攻擊:自定義.htaccess上傳,下面是內(nèi)容SetHandler application/x-httpd-php同目錄下或悲,上傳一個aaa文件孙咪,沒有擴(kuò)展名,內(nèi)容是一句話巡语,這個時候就成功繞過翎蹈。
6,檢測白名單類型的繞過(服務(wù)端)
-解析漏洞繞過iis6.0解析繞過:目錄繞過:IIS6.0目錄路徑檢測解析,文件的名字為“*.asp/xxx.jpg”同樣唄解析成aspburp進(jìn)行抓包男公,其中Content-Disposition:form-data;name=”path”我們把原本的
upload/ 改為
uploading/1.asp/,filename="yijuhua.asp"修改為filename="yijuhua.asp/1.jpg"荤堪。或者創(chuàng)建文件夾a.php里面放一句話圖片1.jpg??a.php/1.jpg--->php執(zhí)行文件繞過:首先我們請求 /aaa.php;xxx.jpg枢赔,從頭部查找查找 "."號,獲得 .php;xxx.jpg查找";",如果有則內(nèi)容截斷逞力,所以/aaa.php;xxx.jpg會當(dāng)做/aaa.php進(jìn)行解析,除此之外我們還有下面的構(gòu)造方式繞過:a.php;.jpg糠爬,a.php;jpg-->php執(zhí)行iis7.0/7.5解析繞過:在默認(rèn)Fast-CGI開啟的情況下上傳一個文件1.jpg內(nèi)容:');?>然后訪問1.jpg/.php 這樣就會在同級目錄下生成木馬shell.phpNginx<8.0.3解析繞過:上傳1.jpg----burp修改-->1.jpg%00.php空字節(jié)繞過上傳apache解析繞過:a.php.x1.x2 apache從前向后嘗試解析寇荧,直到遇到自己認(rèn)識的擴(kuò)展名為止。.htaccess文件攻擊:自定義.htaccess繞過SetHandler application/x-httpd-php同目錄下执隧,上傳一個aaa文件揩抡,沒有擴(kuò)展名户侥,然后內(nèi)容是“aaa”+一句話,成功繞過峦嗤。
7蕊唐,自動修改后綴的繞過:-上傳php,服務(wù)端自動修改成了gifburp抓包,1.php-->修改成1.pphphp成功繞過