檢測流程概述:
1.客戶端檢測后綴?????
思路:由于是客戶端檢測?? 1.通過插件禁檢測機制? 2使用burpsuite修改上傳后綴
2.服務端MIME類型檢測(Content-Type)?
思路:修改文件名驻仅,修改Content-Type
資料:查詢連接:http://tool.oschina.net/commons
3.服務端目錄路徑檢測(服務端檢測后綴)
思路:利用處理特性碎税,例如使用0x00截斷???????? eg:fuck.php .jpeg?? (中間有空格即0x00)
4.服務端文件擴展名檢測
?黑名單檢測
(1)文件名大小寫繞過
(2)名單列表繞過(asa,cer)
??資料:突破asa饿序,cer椿疗,cdx咱圆,php争剿,aspx??? ?http://www.i0day.com/175.html
(3)特殊文件名繞過(test.asp. 或test.asp_? window內. _默認為空格咧擂,linux無此特性)
(4)0x00截斷繞過(test.asp(0x00) .jpg?)
(5).htaccess文件攻擊(上傳自定義htaccess)
(1)??資料:.htaccess文件生成器:????? http://htaccess.uuz.cc/
?白名單檢測
5.服務端文件內容檢測
文件相關信息檢測:
文件加載檢測:?????????????????
1.渲染/加載測試???? 代碼注入繞過
2.二次渲染???????????? 溢出方式攻擊文件加載器
6.解析攻擊
直接解析 :asp.php結尾直接存儲在服務器
配合解析 :先上傳之后再想辦法執(zhí)行
web應用程序解析漏洞
※apache 解析漏洞
解析流程?? 文件名為s1.s2.s3? 首先解析s3窟社,如果無法解析再解析s2
所以可以構建為??? up.php.fuck???? (此方法適用于2.2.8之前的版本)
※IIS 解析漏洞
6.0:解析流程? 如果目錄名中含有.asp字符串券勺,那么就按照asp去解析,如果文件名含有".asp;"? 注意有個 灿里;? 那么就會優(yōu)先按照asp解析
7.0/7.5:在url后面追加字符串“/任意文件名.php”就會按照php方式解析
※Nginx
1??? test.jpg/x.php
2??? %00.php
7上傳攻擊框架
DVWA 實戰(zhàn)檢測:
low
思路:由于無上傳文件格式限制关炼,傳遞一個php文件,
<?php? @eval($_GET['apple']);???>??? @eval:將字符串內容變成代碼執(zhí)行
發(fā)現(xiàn)上傳成功(注:返回了上傳路徑)匣吊,即在服務器已有(后門)儒拂,使用中國菜刀,進行關鍵字相連發(fā)現(xiàn)獲得webshell
過程包含兩次交互:1.上傳文件色鸳,服務器返回成功上傳
???????????????????????????????? 2.中國菜刀發(fā)起POST實現(xiàn)激活連接社痛,服務器運行指令觸發(fā)漏洞
中國菜刀原理:根據(jù)php內容,GET為一種請求方式命雀,可控部分只有Apple蒜哀,菜刀通過apple變量來執(zhí)行不同命令
資料:http://www.daixiaorui.com/read/17.html
medium(出現(xiàn)了上傳僅為圖片格式的限制,因為真實環(huán)境大小不符合會出提示吏砂,所以此處暫不考慮大小限制)
1.本能反應是改后綴.php為.png? 但是測試之后發(fā)現(xiàn)雖然可以上傳撵儿,但是仍舊以png格式保存在服務器乘客,觸發(fā)后只會返回png信息,即php代碼淀歇,但是已經(jīng)不會執(zhí)行易核,所以此方法還有待深入研究
2.上傳.png格式,之后使用burpsuite浪默,強制修改為.php 上傳完畢后執(zhí)行原理及方法與low一致
參考教程后發(fā)現(xiàn)老一點的php版本還有第三種方式
3.大致思路為使用截斷進行對過濾機制的繞過(截斷 0x00(20)后面不會被識別)牡直,此處不做測試
4.使用copy +語句?????? eg:copy 1.jpg/b + 2.php/a??2.jpg
high
由于之前構造的.jpg文件無法上傳,使用burpsuite判斷出應該是在服務器端對內容進行了判斷
查看源代碼:出現(xiàn)判定函數(shù)為
getimagesize(string filename) 函數(shù)判斷是否有文件頭部信息浴鸿,這樣就很好做出繞過井氢,只要使用copy?函數(shù)+用法??? 圖片使用? /B??表示一個二進位文件???? /A???表示一個 ASCII 文本文件。
再burpsuite修改文件后綴完成上傳
常見圖片格式校驗機制:
1.后綴名
2.文件頭文件尾
總結:
upload注入方式無非就是在服務端能把我們想要執(zhí)行的代碼以頁面格式保存(.php)岳链,目的就是傳參后可以調用運行花竞,所以只要能達到此效果,都可以成為upload漏洞掸哑。
以上幾種漏洞表現(xiàn)形式還比較單一约急,有新發(fā)現(xiàn)將做補充!
名詞解釋:
(1)通過htaccess文件苗分,可以幫我們實現(xiàn):網(wǎng)頁301重定向厌蔽、自定義404錯誤頁面、改變文件擴展名摔癣、允許/阻止特定的用戶或者目錄的訪問奴饮、禁止目錄列表、配置默認文檔等功能择浊。