第一次用方法拿shell,以前遇到的都是沒有寫入權限的。html
站太辣雞,純粹練手,就不打碼了。shell
這次實戰會用到的HTTP請求方法:windows
OPTIONS,PUT,MOVE/COPPY服務器
* 戰前準備curl
0x01 什麼是OPTIONS方法?工具
此方法用於請求得到由URL標識的資源在請求/響應的通訊過程當中可使用的功能選項。經過這個方法,客戶端能夠在採起具體資源請求以前,決定對該資源採起何種必要的措施,或者瞭解服務器的性能。性能
0x02 什麼是PUT方法?url
PUT方法是HTTP請求方法中的一中。此方法用於請求服務器把請求中的實體儲存在請求資源下,若是請求資源已經在服務器中存在,那麼將會用此請求中的數據替換原先的數據,做爲指定資源的最新修改版。若是請求指定的資源不存在,將會建立這個資源,且數據位請求正文。spa
0x03 什麼是MOVE/COPY方法?3d
這是由於WebDav(WebDav是一中基於HTTP/1.1協議的通訊協議)擴展了HTTP協議,在GET,POST,HEAD等幾個HTTP標準方法之外添加了一些新的方法,使HTTP協議更強大。
COPY和MOVE,也就是複製和移動,這兩個也起着更名的做用。
*實戰開始
1.用OPTIONS方法查看服務器信息。
咱們能夠看到
服務器容器爲IIS6.0
網頁腳本是ASP
被容許的方法有OPTIONS,TRACE,GET,PUT,MOVE,COPY等方法。
2.用PUT方法嘗試寫入一個asp。
(可是發現並不能寫入,cer格式的也嘗試了。)
可是發現.html後綴卻可以寫!
天無絕人之路,服務器容器是IIS6.0能幹嗎?答案是利用解析漏洞啊!
(curl不會用copy和move命令,而後也找了好久沒找到合適的copy方法利用的工具,乾脆打開虛擬機用windows軟件來搞)
3.PUT+COPY/MOVE對文件修改拿下shell
順便說一句,爲什麼一開始不用windows的工具用PUT方法寫?由於windows下的那款工具,直接寫PUT會報錯,因此必需要先存在一個文件,而後從新PUT一次,而後COPY/MOVE更名。
第二次對文件寫入shell,方法爲PUT。
而後用COPY/MOVE對文件更名,這裏只用COPY更名。
訪問shell。
OK成功拿下。