WEB安全梳理-中间件(apache、IIS、tomcat、weblogic、websphere、jboos、nginx)
2022-11-22 22:45:8 Author: 白帽子程序员(查看原文) 阅读量:21 收藏

目录中间件  中间件的作用  常见的中间件  中国的中间件  主流的中间件Apache  一、Apache简介  二、Apache主目录下文件  三、安装  四、Apache更改默认端口  五、Apache更改网站根目录和默认网页  六、Apache常见漏洞  七、Apache加固IIS  一、 IIS简介  二、IIS安装(2003)  三、IIS安装(2008)  四、IIS常见漏洞  五、IIS加固Tomcat  一、tomcat简介  二、tomcat的Bin 目录下各文件含义  三、tomcat的conf目录下各文件含义  四、Tomcat安装  六、Tomcat常见漏洞  七、Tomcat加固Java开发的中间件 Weblogic  一、简介  二、Weblogic重要目录  三、Weblogic安装  四、Weblogic常见漏洞  五、Weblogic加固websphere  一、WebSphere安装部署  二、WebSphere常见漏洞利用方式  三、WebSphere进行安全加固Jboss  一、JBoss安装  二、修改端口  三、 改网页  四、添加用户  五、启动脚本两种方式  六、Jboss漏洞  七、Jboss加固其他中间件Nginx  一、简介  二、Nginx的优势  三、Nginx主目录下的文件  四、NGINX的安装  五、GINX改端口  六、GINX改默认网页  七、Nginx常见漏洞  八、Nginx加固

中间件

中间件:是一个独立的系统软件或者一种服务程序,位于操作系统之上web之下,管理计算机资源和网络通讯(简单来说中间件是提供系统软件和应用软件之间连接的软件)

中间件的作用

屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使软件能够比较平滑的运行在不同平台之上

常见的中间件

Apache Websphere IIS tomcat JBoss Weblogic IBM HTTP Server NGINX

中国的中间件

金蝶 中创 东方通 中和威

主流的中间件

Apache

一、Apache简介

C语言实现的(专门提供HTTP服务)
特性:简单,速度稳定,可配置代理。可以运行在几乎所有的计算机平台。
缺点:配置复杂,不支持动态页面。
默认端口 80

二、Apache主目录下文件

conf : 配置文件目录
htdosc :网页文件目录
logs : 日志文件
日志里有access.log(访问日志)、error.log(错误日志) 安装日志 install.log

三、安装

自定义安装,注意一些细节就行了(不同的版本不一样)

四、Apache更改默认端口

1、打开安装目录下的httpd.conf文件,搜索Listen 80(把80改成你想改的端口)保存
2、在服务里重启动apache服务
3、访问 http://localhost:80 出现It works!

五、Apache更改网站根目录和默认网页

1、在apach目录下随便新建一个文件,在新建文件里面新建一个html文件
2、找到apach下的httpd.conf文件 编辑打开 搜索DocumentRroot 后面会出现一个路径,把这个路径改成你新创的文件夹的绝对路径
3、再找 Directory 把这个路径改成你新创的文件夹的绝对路径
4、再找DirectoryIndex 后面的网页文件改成你的网页文件
5、重启动服务
6、输入localhost:(端口号,改的就要输入你改的那个)
7、出现你的网页界面就成功了
8(注:修改网络接口和端口 Listen 127.0.0.1:80 改这个)

六、Apache常见漏洞

1、目录遍历

Google Hack
intitle:index of

浏览器访问:upload uploads

2、未知扩展名解析漏洞

3、AddHandler导致的解析漏洞

4、Apache HTTPD 换行解析漏洞

漏洞原理:此漏洞形成的根本原因,在于$, 正则表达式中$不仅匹配字符串结尾位置,也可以匹配\n 或 \r
在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

影响范围:2.4.0~2.4.29版本

5、Apache SSI远程命令执行漏洞

参考链接:https://www.cnblogs.com/yokan/p/13261571.html

七、Apache加固

鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取

http://www.567safe.com:4999/web/#/p/8937df12435b7b0b600ba38f06ebeea0

IIS

一、 IIS简介

默认端口 80 基于windows
IIS 互联网信息服务,包括web服务器,FTP服务器,NNTP服务器,SMTP服务器

二、IIS安装(2003)

1、在控制面板找到windows功能>>>添加或者删除程序
2、选中 应用程序服务器 点击下方的详细信息
3、勾选 ASP.NET 点击Internet信息服务IIS 详细信息
4、打开详细信息后添加 万维网服务、文件传输协议(FTP)服务、NNTP Service SMTP service
5、确定 下一步 开始安装 选择安装路径 完成安装
6、在控制面板>>>管理工具>>>Internet服务管理器(IIS)管理器>>打开
7、查看默认站点的目录路径
8、点击网站 >>> 新建一个网站>>>输入网站名字>>>IP地址和端口号
9、在盘符下面新建一个文件,名字就是你的网站的名字
10、勾上 读取 运行脚本 浏览 完成
11、在新建的网站中单机右键>>>属性
12、在主目录中单机配置
13、调试 调试标志全选
14、在选项中 启用父路径
15、选择窗口的上方的文档,点击添加 新增一个你写的文件名
16、在网站的下面单机web服务扩展 除了上面的两个其他的允许
17、访问,出现你的网页的界面就OK了

三、IIS安装(2008)

安装IIS的步骤如下:

1、打开服务器管理器,点击左边菜单栏“角色”调出角色窗口,添加角色。
2、弹出“角色向导”,点击“下一步”进入服务器角色选项。
3、勾选“Web服务器(IIS)”。
4、接下来,它会出现IIS需要安装的一些必要组件,在这里勾选“应用程序开发”和“安全性”里面的选项。
5、“应用程序开发”里,添加ASP.NET 、.NET 扩展性、CGI、ISAPI 扩展、ISAPI 筛选器,去掉 目录浏览(因为大多数网站用不到。)如果需要用到asp则勾选asp,如果需要用shtm需要开启在服务器端的包含文件。安装sqlserver一定要勾选 asp.net和.net扩展性。需要运行php则要安装cgi。一般建议全选。
6、“安全性”里,将里面的“基本身份验证”以及“Windows身份验证”勾选上。
7、初级安装IIS默认基本上这些功能已经足够了,点击”下一步”进入安装选择确认界面。
系统列出了IIS服务器的安装列表,这里可以看到觉的HTTP功能,安全性及管理工具都在安装的列表里面,这时点击“安装”即可对这些组件及功能进行安装。
8、等待安装完闭后关闭向导窗口,在打开浏览器输入本机IP,验证IIS7是否安装成功。

四、IIS常见漏洞

1、解析漏洞
IIS 6.x
IIS 7.x
2、PUT任意文件写入
3、IIS短文件漏洞
4、IIS7 HTTP.SYS远程代码执行(MS15-034)

五、IIS加固

鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取

http://124.221.171.26:4999/web/#/p/193803464cbf5dffdf809e6104576632

Tomcat

一、tomcat简介

Tomcat 免费,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下普遍使用,是应用(java)服务器,可以认为是Apache的扩展,但是可以独立于apache使用,支持静态页,但是效率没有apache高,支持servlet JSP 请求

Java开发的
8080:默认端口
8005:用来关闭TOMCAT服务的端口
8009:负责和其他的HTTP服务器建立连接

注:对于8009端口,ajp connector,它一般用来设置tomcat集群。因为tomcat作为servlet容器,对于处理静态资源的能力不是很好,所以一般大点的项目都会在tomcat前面加个apache服务器,用来处理静态资源和负载均衡,通过预先设定的规则把动态请求通过ajp端口交给tomcat处理,这时可以只使用ajp connector。

二、tomcat的Bin 目录下各文件含义

startup 文件:检查
catalina.bat/sh 批处理文件,启动tomcat
catalina 文件:真正启动tomcat文件
tomcat8w文件:图形化控制tomcat

三、tomcat的conf目录下各文件含义

catalina文件:用于存储自定义部署web应用的路径。
server.xml: 是tomcat中最重要的配置文件
tomact_users.xml : 配置tomcat d server 的 manage信息

四、Tomcat安装

1、下载安装包 直接解压
2、在系统变量中新增CATALINA_HOME 地址就是tomcat的主目录 不带/bin
3、在Path中末尾添加 %CATALINA_HOME%\bin;%CATALINA_HOME%\lib
4、启动服务 在本地能访问到就成功了

五、Tomcat修改配置
1、改端口

在server.xml配置文件里 搜索port 找到8080 可以把端口8080改成其他的

2、改默认网页

在webapps下写一个网页尽量不要起中文名字创建一个网页
搜索Host 标签,在里面加入 <Context path=”” docBbase=”你网页的路径”/>
再到web.xml里修改默认网页最下面 把第一个index.html改成你的
重启tomcat 输入你的url 出现你网页的界面就OK了
在DOS下输入startup.bat 或者去文件里找到 打开 不闪退就行(闪退是路径问题)

3、修改网站主页

先在webapps 下的ROOT下新建一个网页
配置都不改,直接在web.xml 里修改最下面的index.html 改成你的网页
直接访问

六、Tomcat常见漏洞

1、Tomcat弱口令&后台getshell
2、AJP文件包含漏洞分析(CVE-2020-1938)&getshell
3、Tomcat 任意文件写入(CVE-2017-12615)&getshell

七、Tomcat加固

鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取

http://www.567safe.com:4999/web/#/p/a775d71151ae21255ab151b2bd4eb34c

Java开发的中间件

Weblogic

一、简介

默认端口 :7001 基于JAVAEE 纯java开发的 大型分别也是web应用的应用服务器。
是市场上占有最大份额的中间件

二、Weblogic重要目录

1、基本目录

Coherence 提供复制的、分布式的数据管理和缓存服务
Logs 系统日志目录
Modules weblogic 运行时需要的jar文件
user_projects 定义域存放的位置
Utiles 用户存放的第三方工具包
wlserver_10.3 weblogic的主目录
Uer_projest 目录
Bin 存放的可执行文件
Config 本域相关的配置文件
Lib 存放的库文件
Security 安全相关的
Servers 包含域的所有服务

三、Weblogic安装

1、直接进到jdk的bin目录下

输入java -jar 绝对路径 就会弹出安装界面
2、不说的都是下一步(期间可以更换安装路径,自己看)
3、一直默认到完成,不要点完成,点击下一步 出现安装向导
4、第一个创建新域,第二到模板全部勾选>>>>管理员账号,输入口令
5、高级配置选项全选
6、节点管理器。。。输入用户名和口令
7、从集群一直到配置概要都是默认下一步
8、在安装目录找到C:\\Oracle\Middleware\user_project\domains\base_domain下的startWebLogic.cmd 点击 启动脚本,不关闭
9、在网页里输入http://localhost:7001/console 就可以访问WebLogic的控制台了
10、然后输入你的用户名和口令 登陆
11、点击左侧的部署
12、先不急 ,先在随便一个地方新建一个文件夹,放入一个war包(必须是动态的)
13、点击右侧的安装
14、看到输入路径框,选择你刚才war包的路径 下一步 下一步 保存
15、然后在浏览器里输入 http:127.0.0.1:7001/你的war(没有后缀)/
16、出现你web页面就成功了

四、Weblogic常见漏洞

1、Weblogic 弱口令&& 后台getshell
2、Weblogic 任意文件上传漏洞(CVE-2018-2894)
3、Weblogic SSRF漏洞 (CVE-2014-4210)
4、反序列化漏洞

参考:https://www.freebuf.com/column/197339.html

五、Weblogic加固

鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取

http://www.567safe.com:4999/web/#/p/b9a8cbb80fb41ce771037eb0d5ae7f40

websphere

一、WebSphere安装部署

https://www.cnblogs.com/libin6505/p/11375489.html

二、WebSphere常见漏洞利用方式

1、弱口令 && 后台Getshell
2、WebSphere反序列化(CVE-2015-7450)

参考链接

https://blog.csdn.net/weixin_44033675/article/details/121316129?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-1-121316129.pc_agg_new_rank&utm_term=websphere%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8&spm=1000.2123.3001.4430

三、WebSphere进行安全加固

1、账户安全

修改用户口令,口令长度至少 8 位,并包括数字、小写字母、大写字母和特殊符号四类中至少 3 类。

2、日志配置

1)在导航窗格中,单击服务器>应用程序服务器-->单击您要

使用的服务器的名称(server1)-->在“故障诊断”下面,单击NCSA 访问和 HTTP 错误记录 -->在常规属性中,
勾选在服务器启动时启用记录服务。
2)重启服务生效。日志文件地址:${WebSphere}\AppServer\profiles\AppSrv01\logs\server1\http_access.log

3、禁止目录浏览

用文本编辑器打开

$WAS_HOME/<profilepath>/config/cells/<hostname>/applications/

<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xmi

设置fileServingEnabled="false"

设置directoryBrowsingEnabled="false"

4、安全备份

每周备份一次 config 和 properties 目录,至少每月备份一次 WebSphere 全目录,生产环境配置更改前必须先备份

5、启用会话安全性

在导航窗格中,单击服务器>应用程序服务器-->单击您要

使用的服务器的名称(server1)-->单击会话管理 -->在常规属性中,勾选覆盖会话管理和安全性集成 。

Jboss

一、JBoss安装

安装前提:因为jboss只能和JDK7以下版本的使用 高于就会不兼容(后面不知)

1先安装JDK 直接点击下载好的安装
2设置环境变量(有了的跳过) 新建>>> JAVA_HOME>>>变量值填写jdk的安装目录(没bin)
3在新亭变量中找到Path>>>编辑>>>变量值最后面输入>>>
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
4在系统变量中新建CLASSPATH 变量值填写
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
5 在新建变量新建要给JBOSS_HOME 路径为解压的路径(不到bin)
6运行之前要先添加一个用户(新建用户的时候第一个直接空格,不要写东西,直接填username) add-user 在JBossd 的bin 目录先找到add-user运行
添加一个用户 a Relma 这个随便 用户名和密码不能一样
7在启动 bin目录下的standalone
8http://localhost:8080 出现欢迎界面就OK了
9将要部署的war包放入 安装路径下的standalone\deployments
10访问网站 例如 127.0.0.1/hello 出现 jiu OKle

二、修改端口

http://localhost:9990/console 这个可以进入控制台
进入JBoss安装目录C:\jboss7\standalone\configuration目录,
修改其下的standalone.xml目录,在此文件中搜索8080,将其改成你想要的端口即可(例如8088);

三、 改网页

直接把他的index.html 删除 在新建一个index.html

四、添加用户

1 调出DOS窗口 输入 add-user a)管理员 b)应用用户
2 下一步直接回车 默认作用域

五、启动脚本两种方式

./run.sh //linux run.bat //windows

六、Jboss漏洞

JBoss 5.x/6.x反序列化漏洞(CVE-2017-12149)
2、JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501)
JBossMQ JMS反序列化(CVE-2017-7504)
JBoss EJBInvokerServle反序列化漏洞(CVE-2013-4810)

参考:https://www.freebuf.com/column/240174.html

七、Jboss加固

鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取

http://www.567safe.com:4999/web/#/p/949cd2ed448a971344d7d2752371ff3c

其他中间件

Nginx

一、简介

默认端口:80
轻量级的web服务器,占有内存少,并发能力强
支持热部署(热部署说的是在使用的时候,可以去升级) 可以做到24小时不停干活

二、Nginx的优势

1、作为邮件代理
2、作为负载均衡
3、安装使用便捷
4、在高连接并发的情况下nginx是apach良好的替代品
5、使用C语言编写

三、Nginx主目录下的文件

1、conf : 配置文件目录

在conf里fastcgi.conf 相关参数的配置文件
mime.types 媒体类型
nginx nginx 默认的主配置文件

2、html : 默认网页目录

logs 日志目录
nginx.exe 启动文件

3、其他相关文件

/etc/nginx/snippets # 需要复⽤的配置⽚段
/var/log/nginx/access.log # 访问⽇志
/var/log/nginx/erroe.log # 错误⽇志
/etc/nginx/site-enable/ # 启⽤的虚拟主机
/etc/nginx/nginx.conf # 主配置⽂件
user www-data # nginx 进程帐号
Worker_processes # 进程数
Worker_connections # 每进程连接数(与进程数相乘为总连接数)
Sendfile on # 内核实现(静态性能主要来源)
tcp_nopush # 优化发包⼤⼩
tcp_nodelay # 优化发包延时
keepalive timeout # 每连接保持时间

四、NGINX的安装

1 解压
2 打开DOS 进入到安装路径 例如:cd C:\nginx.1.4.7
3 输入start nginx.exe 启动
4 在网页里输入localhost(端口号) 出现一个安装页面

五、GINX改端口

Nginx的配置文件是在conf目录下的nginx.conf 找到 listen 80 修改端口号
保存 重启 端口就改好了

六、GINX改默认网页

例如网页文件为 hello.html
(默认网页目录是html 默认主页是index.html)
现在nginx主目录下新建一个文件夹
在文件夹里面新建一个网页
打开nginx.conf 修改端口号(),将默认网页目录和默认主页的注释点
编辑 Root (你文件夹的名字);
Index hello.html hello.htm; (最后这个少了一个L)
重启一下nginx 再从DOS里重新加载配置文件 nginx.exe -s reload
然后,没有然后

七、Nginx常见漏洞

1、目录遍历
2、目录穿越
3、文件解析漏洞
4、空字节任意代码执行漏洞
5、CRLF注入漏洞

参考:https://www.cnblogs.com/yokan/p/13261571.html

八、Nginx加固

https://blog.csdn.net/guofeng_hao/article/details/110519259

本文作者:m0be1, 转载请注明来自FreeBuf.COM
侵权请私聊公众号删文
扫码加好友

关注公众号【白帽子程序员】

回复“电子书”获取网络安全电子书资料

回复视频教程获取400网络渗透教学、编程视频教程

回复CTF视频教程获取400网络渗透教学、编程视频教程

回复python视频教程获取python学习教程

回复hw获取护网资料

回复内网靶场获取内网靶场

回复渗透镜像

学习资料截图

往期推荐

我为什么开通公众号?IT人到中年最怕的就是你只有一门技术

个人总结网络安全学习路线(文末电子书、教学视频400G获取)

黑客是怎么入侵一个网站的?(微信交流群、资料共享)

FOFA可以访问了!我的自留地-【白帽子程序员】公众号开通了


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg3Mjc0MDQ2Nw==&mid=2247489808&idx=1&sn=7fdbba56b6b10fea8f8d3617fd82ab5a&chksm=ceebfa0cf99c731ae9de146eccd3494261e5f419353895377334bc239dd0a2ea2fe8045921e7#rd
如有侵权请联系:admin#unsafe.sh