解析導(dǎo)致的上傳漏洞
1.IIS6.0站上的目錄路徑檢測解析繞過上傳漏洞
默認 遇到/就不解析后面的了
IIS6.0目錄路徑檢測解析,文件的名字為“*.asp/xxx.jpg”,也同樣會被 IIS 當作 ASP文件來解析并執(zhí)行
首先我們請求 /aaa.asp/xxxx.jpg
從頭部查找查找 "."號,獲得 .asp/xxxx.jpg
查找"/",如果有則內(nèi)存截斷,所以/aaa.asp/xxxx.jpg會當做/aaa.asp進行解析
2.IIS6.0站上的解析缺陷繞過上傳漏洞
IIS6.0目錄路徑檢測解析,文件的名字為“*.php;xxx.jpg”,也同樣會被 IIS 當作 PHP 文件來解析并執(zhí)行
首先我們請求 /aaa.php;xxx.jpg
從頭部查找查找 .號,獲得 .php;xxx.jpg
查找;
,如果有則內(nèi)存截斷,所以/aaa.php;xxx.jpg會當做/aaa.php進行解析
3.Apache解析缺陷繞過上傳漏洞
可以用于服務(wù)器端擴展名檢測黑名單繞過。
原理
當瀏覽器將文件提交到服務(wù)器端的時候,服務(wù)器端會根據(jù)設(shè)定的黑白名單對瀏覽器提交上來的文件擴展名進行檢測,如果上傳的文件擴展名不符合黑白名單的限制,則不予上傳,否則上傳成功。
繞過方法
將一句話木馬的文件名【evil.php】,改成【evil.php.xxx】(奇怪的不被解析的后綴名都行)。首先,服務(wù)器驗證文件擴展名的時候,驗證的是【.xxx】,只要該擴展名符合服務(wù)器端黑白名單規(guī)則,即可上傳。另外,當在瀏覽器端訪問該文件時,Apache如果解析不了【.xxx】擴展名,會向前尋找可解析的擴展名,即【.php】
.7z后綴
進行繞過上傳,可以將一句話木馬文件 yijuhua.php文件名加上后綴名為.7z。
7z格式是一種壓縮文件的格式,但Apache不識別7z后綴,Apache解析文件時,如果后綴名不認識,則會繼續(xù)向前解析,會解析到php,這就是Apache的解析漏洞。
防御建議
1.普通用戶與系統(tǒng)管理員的權(quán)限要有嚴格的區(qū)分
2.強迫使用參數(shù)化語句
3.加強對用戶輸入的驗證
4.多使用數(shù)據(jù)庫自帶的安全參數(shù)
5.使用專業(yè)的漏洞掃描工具來尋找可能被攻擊的點
4.htaccess文件上傳解析漏洞 (重寫解析規(guī)則繞過)
.htaccess是apache服務(wù)器中的一個配置文件,不是上傳的文件的黑名單之內(nèi) ,所以.htaccess文件是可以上傳成功。
上傳覆蓋.htaccess文件,重寫解析規(guī)則,將上傳的帶有腳本馬的圖片以腳本方式解析。
編寫.htaccess文件。
打開記事本,將如下代碼寫入文本中:
AddType application/x-httpd-php .jpg
然后點擊文件選中另存為,編寫文件名為.htaccess,選擇保存類型為所有文件。
.htaccess文件里的代碼的含義 是 將上傳的文件后綴名為.jpg格式的文件以 php格式來解析文件。
將.htaccess文件進行上傳,上傳成功。
參考資料:
http://blog.csdn.net/c465869935/article/details/51800354
http://blog.csdn.net/xysoul/article/details/45306209
http://www.cnbeta.com/articles/111752.htm