zoukankan      html  css  js  c++  java
  • [实战]记一次PUT方法拿下网站shell

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

  • 相关阅读:
    hdu 1164 Eddy's research I
    hdu 3794 Magic Coupon
    hdu 1460 完数
    hdu 1201 18岁生日
    求一组整数中所有素数之和
    备忘录
    c判断括弧是否匹配
    N!大整数阶乘问题
    计算一个人从出生到现在活了多少天
    java web.xml配置详解(转)
  • 原文地址:https://www.cnblogs.com/loid/p/5734012.html
Copyright © 2011-2022 走看看