0x00 Web中间件概述

通俗来说,中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。Apache的Tomcat、IBM公司的WebSphere、BEA公司的WebLogic、Kingdee公司的Apusic都属于中间件。中间件技术已经不局限于应用服务器、数据库服务器。围绕中间件,在商业中间件及信息化市场主要存在微软阵营、Java阵营、开源阵营。

本文主要讨论关于web中间件的漏洞。

0x01 IIS实验

1.1 端口修改

将80修改为8080

验证

1.2 IP地址绑定

将unsigend改为dhcp到的ip

1.3 新建index.html

index.html 显示效果:

1.4 开启目录浏览

开启前:

开启后:

1.5 默认启用页面,例如a.html

文件目录结构:

启用后:

1.6 去掉匿名验证

去掉后访问时:

输入用户名密码后访问成功:

1.7 限制ip

限制规则:

限制后:

0x02 IIS解析漏洞

Web容器解析漏洞会将其他格式的文件,都当做该脚本语言的文件进行解析,执行里面的代码。

一般解析漏洞都是配合文件上传的功能一起进行利用。

例如,在parse_vul目录下新建a.asp,内容为:

访问此文件:

2.1 文件名解析

分号;截断

.asa 后缀

.cer 后缀

2.2 文件夹解析

带有.asp 字符串的目录

0x03 IIS put上传实验

题目链接 http://host.name/index/Topology/?id=162&name=course

3.1 利用Burp抓包

3.2 修改请求方法为OPTIONS


发现开启WebDAV,支持PUT方法

3.3 PUT 一句话asp马


失败

3.3 PUT 后缀为.txt 的一句话asp马


成功

3.4 MOVE 修改文件名


成功

3.5 上菜刀


bingo!

0x04 Apache实验

4.1 修改端口8080

4.2 修改网站默认路径

更改

效果

0x05 Apache解析漏洞

题目链接 http://host.name/index/Topology/?id=75&name=course

Apache在解析一个文件时,会从文件的右边开始解析,直到遇到一个可以识别的后缀,则停止解析。实验中的文件“2.php.rea”就会被解析为php文件。而在网页上传文件时,文件类型的判别是从文件的右边开始,“2.php.rea”就会被认为是rea文件(虽然这并不是一个正常的后缀名);如果网站是通过设置黑名单来判断能否上传文件,那么黑客就能利用这个漏洞上传一个木马到网站目录下。

0x06 Tomcat弱口令实验

题目链接 http://host.name/index/Topology/?id=153&name=course

6.1 打开tomcat

6.2. 打开www.any.com/manager/html

6.3.输入 用户名tomacat 密码tomcat 发现弱口令可以登录

6.4.上传war


上传成功

6.5.验证

6.6成功

0x07 总结

综上,当中间件配置不好时,很容易被攻击者利用,因此在部署中间件时,要遵循最小原则,用不到的功能全部关闭,如webDAV,这是运维人员的责任,同时也是开发人员需要注意的地方。加固参考以下几点:

  • 如果将项目上线到生产环境测试,需要注意修改iis端口,同时修改DocumentRoot路径,例如将www改成www_JhUAQlja,防止sqlmap猜解
  • Apache服务器配置规则过滤掉含.php的路径请求
  • 口令一定要复杂,并定期更换
  • 服务器软件保持更新,因升级需要成本就放弃升级,是不负责任的表现

web中间件的更多相关文章

  1. web服务器、Web中间件和Web容器的区别

    web服务器>web中间件>web容器 Tomcat(servlet容器)  是  Tomcat中间件  也是  Tomcat服务器 看了谢公子的csdn文章,让我彻底分清了这三者的区别. ...

  2. web中间件之nginx

    web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b   对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...

  3. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  4. 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结

    本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...

  5. Java Web中间件

    目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...

  6. 常见web中间件漏洞(四)Tomcat漏洞

    这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...

  7. 常见web中间件漏洞(一)IIS漏洞

    web中间件作为web安全的重要一块,经常会有人问balabala,虽然有很多已经人尽皆知并且基本不再构成威胁了,但是还是有必要说一下,了解历史,了解我们从哪里来 鉴于内容实在是太多,本来打算一起写完 ...

  8. 监控分析——Web中间件

    发现 中间件监控看是否有性能瓶颈 核心:主要看中间件的线性池进程池有没有排队情况,请求是否处理及时就OK Apache 以前php都是用apache,现在基本用nginx了. 首先自己启动apache ...

  9. Web中间件常见漏洞总结

    一.IIS中间组件: 1.PUT漏洞 2.短文件名猜解 3.远程代码执行 4.解析漏洞 二.Apache中间组件: 1.解析漏洞 2.目录遍历 三.Nginx中间组件: 1.文件解析 2.目录遍历 3 ...

随机推荐

  1. HTML5 地理位置定位API(2)

    HTML5 Geolocation API (地理位置应用程序接口) 目前PC浏览器支持情况: Firefox 3.5+Chrome 5.0+Safari 5.0+Opera 10.60+Intern ...

  2. mysql占用服务器cpu过高的原因以及解决办法

    登陆Mysql: mysql -p<port> -u<user> -p<pwd> mysql> show processlist; show processl ...

  3. Cisco设备自动定时备份配置

    前言 当我们管理的网络设备为个位数的时候,手动的把配置通过tftp方式copy出来还是可以的.但是当我们管理几十台甚至上百台(有点夸张,都这个级别了肯定用专业的运维软件或者开发运维平台进行管理)的时候 ...

  4. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_02-Eureka注册中心-搭建Eureka单机环境

    我们先搭建单机环境 govern是治理的意思, 这样就把工程创建好了 创建包 创建SpringBoot的启动类. 在父工程里面已经确定了Spring Cloud的版本了.相当于锁定了版本 接下里只需要 ...

  5. 一百四十二:CMS系统之帖子详情页面布局

    定义一个404页面 <!DOCTYPE html><html lang="en"><head> <meta charset="U ...

  6. web自动化-selenium+Chrome驱动国内下载地址+驱动对应Chrome版本号

    selenium各版本下载地址 http://selenium-release.storage.googleapis.com/index.html 国内下载:http://npm.taobao.org ...

  7. ABAP程序并行处理

    CASE1. 程序中 start new task ,并在后面获取处理结果 *"------------------------------------------------------- ...

  8. (错误)在VMmare中安装centos后不能联网

    一.问题 在VMmare中安装centos后不能联网 在Xshell无法连接centos 二.解决方法 2.1 点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成N ...

  9. 【Leetcode_easy】747. Largest Number At Least Twice of Others

    problem 747. Largest Number At Least Twice of Others 题意: solution1: class Solution { public: int dom ...

  10. socket 异步接收连接和接收数据

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...