第一次用方法拿shell,之前遇到的都是沒有寫入權限的。
站太辣雞,純粹練手,就不打碼了。
此次實戰會用到的HTTP請求方法:
OPTIONS,PUT,MOVE/COPPY
* 戰前准備
0x01 什么是OPTIONS方法?
此方法用於請求獲得由URL標識的資源在請求/響應的通信過程中可以使用的功能選項。通過這個方法,客戶端可以在采取具體資源請求之前,決定對該資源采取何種必要的措施,或者了解服務器的性能。
0x02 什么是PUT方法?
PUT方法是HTTP請求方法中的一中。此方法用於請求服務器把請求中的實體儲存在請求資源下,如果請求資源已經在服務器中存在,那么將會用此請求中的數據替換原先的數據,作為指定資源的最新修改版。如果請求指定的資源不存在,將會創建這個資源,且數據位請求正文。
0x03 什么是MOVE/COPY方法?
這是因為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成功拿下。