目录中间件中间件的作用常见的中间件中国的中间件主流的中间件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
金蝶 中创 东方通 中和威
C语言实现的(专门提供HTTP服务)
特性:简单,速度稳定,可配置代理。可以运行在几乎所有的计算机平台。
缺点:配置复杂,不支持动态页面。
默认端口 80
conf : 配置文件目录
htdosc :网页文件目录
logs : 日志文件
日志里有access.log(访问日志)、error.log(错误日志) 安装日志 install.log
自定义安装,注意一些细节就行了(不同的版本不一样)
1、打开安装目录下的httpd.conf文件,搜索Listen 80(把80改成你想改的端口)保存
2、在服务里重启动apache服务
3、访问 http://localhost:80 出现It works!
1、在apach目录下随便新建一个文件,在新建文件里面新建一个html文件
2、找到apach下的httpd.conf文件 编辑打开 搜索DocumentRroot 后面会出现一个路径,把这个路径改成你新创的文件夹的绝对路径
3、再找 Directory 把这个路径改成你新创的文件夹的绝对路径
4、再找DirectoryIndex 后面的网页文件改成你的网页文件
5、重启动服务
6、输入localhost:(端口号,改的就要输入你改的那个)
7、出现你的网页界面就成功了
8(注:修改网络接口和端口 Listen 127.0.0.1:80 改这个)
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
鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取
http://www.567safe.com:4999/web/#/p/8937df12435b7b0b600ba38f06ebeea0
默认端口 80 基于windows
IIS 互联网信息服务,包括web服务器,FTP服务器,NNTP服务器,SMTP服务器
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的步骤如下:
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是否安装成功。
1、解析漏洞
IIS 6.x
IIS 7.x
2、PUT任意文件写入
3、IIS短文件漏洞
4、IIS7 HTTP.SYS远程代码执行(MS15-034)
鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取
http://124.221.171.26:4999/web/#/p/193803464cbf5dffdf809e6104576632
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。
startup 文件:检查
catalina.bat/sh 批处理文件,启动tomcat
catalina 文件:真正启动tomcat文件
tomcat8w文件:图形化控制tomcat
catalina文件:用于存储自定义部署web应用的路径。
server.xml: 是tomcat中最重要的配置文件
tomact_users.xml : 配置tomcat d server 的 manage信息
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 改成你的网页
直接访问
1、Tomcat弱口令&后台getshell
2、AJP文件包含漏洞分析(CVE-2020-1938)&getshell
3、Tomcat 任意文件写入(CVE-2017-12615)&getshell
鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取
http://www.567safe.com:4999/web/#/p/a775d71151ae21255ab151b2bd4eb34c
默认端口 :7001 基于JAVAEE 纯java开发的 大型分别也是web应用的应用服务器。
是市场上占有最大份额的中间件
1、基本目录
Coherence 提供复制的、分布式的数据管理和缓存服务
Logs 系统日志目录
Modules weblogic 运行时需要的jar文件
user_projects 定义域存放的位置
Utiles 用户存放的第三方工具包
wlserver_10.3 weblogic的主目录
Uer_projest 目录
Bin 存放的可执行文件
Config 本域相关的配置文件
Lib 存放的库文件
Security 安全相关的
Servers 包含域的所有服务
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页面就成功了
1、Weblogic 弱口令&& 后台getshell
2、Weblogic 任意文件上传漏洞(CVE-2018-2894)
3、Weblogic SSRF漏洞 (CVE-2014-4210)
4、反序列化漏洞参考:https://www.freebuf.com/column/197339.html
鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取
http://www.567safe.com:4999/web/#/p/b9a8cbb80fb41ce771037eb0d5ae7f40
https://www.cnblogs.com/libin6505/p/11375489.html
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
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只能和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 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
鉴于篇幅问题,这里引用以前写的一个简单加固,如访问有问题可以联系我获取
http://www.567safe.com:4999/web/#/p/949cd2ed448a971344d7d2752371ff3c
默认端口:80
轻量级的web服务器,占有内存少,并发能力强
支持热部署(热部署说的是在使用的时候,可以去升级) 可以做到24小时不停干活
1、作为邮件代理
2、作为负载均衡
3、安装使用便捷
4、在高连接并发的情况下nginx是apach良好的替代品
5、使用C语言编写
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 # 每连接保持时间
1 解压
2 打开DOS 进入到安装路径 例如:cd C:\nginx.1.4.7
3 输入start nginx.exe 启动
4 在网页里输入localhost(端口号) 出现一个安装页面
Nginx的配置文件是在conf目录下的nginx.conf 找到 listen 80 修改端口号
保存 重启 端口就改好了
例如网页文件为 hello.html
(默认网页目录是html 默认主页是index.html)
现在nginx主目录下新建一个文件夹
在文件夹里面新建一个网页
打开nginx.conf 修改端口号(),将默认网页目录和默认主页的注释点
编辑 Root (你文件夹的名字);
Index hello.html hello.htm; (最后这个少了一个L)
重启一下nginx 再从DOS里重新加载配置文件 nginx.exe -s reload
然后,没有然后
1、目录遍历
2、目录穿越
3、文件解析漏洞
4、空字节任意代码执行漏洞
5、CRLF注入漏洞参考:https://www.cnblogs.com/yokan/p/13261571.html
https://blog.csdn.net/guofeng_hao/article/details/110519259
关注公众号【白帽子程序员】
回复“电子书”获取网络安全电子书资料
回复“视频教程”获取400网络渗透教学、编程视频教程
回复CTF视频教程”获取400网络渗透教学、编程视频教程
回复python视频教程”获取python学习教程
回复hw”获取护网资料
回复内网靶场”获取内网靶场
回复渗透镜像”
学习资料截图
往期推荐
我为什么开通公众号?IT人到中年最怕的就是你只有一门技术
个人总结网络安全学习路线(文末电子书、教学视频400G获取)
黑客是怎么入侵一个网站的?(微信交流群、资料共享)