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. java 获取String中的数字

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...

  2. nginx+lua 设置跨域

    nginx 配置: header_filter_by_lua_file cros.lua; access_by_lua ' if ngx.var.request_method == "OPT ...

  3. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_03-Eureka注册中心-搭建Eureka高可用环境

    1.3.2.2 高可用环境搭建 Eureka Server 高可用环境需要部署两个Eureka server,它们互相向对方注册.如果在本机启动两个Eureka需要 注意两个Eureka Server ...

  4. LeetCode_70. Climbing Stairs

    70. Climbing Stairs Easy You are climbing a stair case. It takes n steps to reach to the top. Each t ...

  5. K8s常用命令操作

    K8s常用命令操作 一.kubectl命令补全 1.master安装命令补全,并临时生效 yum install -y bash-completion source /usr/share/bash-c ...

  6. Docker安装LogonTracer

    LogonTracer LogonTracer:是一款用于可视化分析Windows安全事件日志寻找恶意登录的工具.它会将登录相关事件中找到的主机名(或IP地址)和帐户名称关联起来,并将其以图形化的方式 ...

  7. Python扫描器-HTTP协议

    1.HTTP协议 1.1.HTTP协议简介 #1.HTTP协议,全称Hyper Text Transfer Protocol(超文本传输协议) HTTP协议是用于从(WWW:World Wide We ...

  8. charles 开始/暂停记录

    本文参考:charles 开始/暂停记录 1.1. stop/start recording 和 2.1 recording settings 是常用的功能了:这里需要注意就是后面的session1代 ...

  9. 偶尔要用的git命令备忘

    文档:https://git-scm.com/docs 列出所有远程空间: git remote -v 重命名远程空间: git remote rename <old> <new&g ...

  10. linux服务器常用密令

    1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多.参考资料:http://e ...