第一次用方法拿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成功拿下。