Py学习  »  NGINX

WEB安全梳理-中间件(apache、IIS、tomcat、weblogic、websphere、jboos、nginx)

Hacking黑白红 • 1 年前 • 299 次点击  


目录中间件  中间件的作用  常见的中间件  中国的中间件  主流的中间件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 标签,在里面加入
再到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//config/cells//applications/

.ear/.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


————————————————

【2022HW系列】|10-一次某次攻防演练种的分析溯源

【2022HVV系列】|9-红蓝对抗-红队打点的那些事

【2022HVV系列】|8-应急响应之入侵排查

【2022HVV系列】|7-Windows主机入侵痕迹排查办法

【2022HVV系列】|6-记一次hw中的上线骚姿势(异速联+用友U8)

【2022HVV系列】|5-记一次溯源过程

【2022HVV系列】|4-红蓝对抗 | 红队打点的那些事

【2022HVV系列】|3-服务器入侵排查

【2022HVV系列】| 2-应急响应常用工具

【2022HVV系列】| 1-应急响应方法论思维导图


————————————————


【Hacking黑白红】,一线渗透攻防实战交流公众号

回复“电子书”获取web渗透、CTF电子书:

回复“视频教程”获取渗透测试视频教程;  

回复“内网书籍”获取内网学习书籍;        

回复“CTF工具”获取渗透、CTF全套工具;

回复“内网渗透;获取内网渗透资料;

回复护网;获取护网学习资料 ;

回复python,获取python视频教程;

回复java,获取Java视频教程;

回复go,获取go视频教程


知识星球


【Hacking藏经阁】知识星球致力于分享技术认知

1、技术方面。主攻渗透测试(web和内网)、CTF比赛、逆向、护网行动等;

400G渗透教学视频、80多本安全类电子书、50个渗透靶场(资料主要来自本人总结、以及学习过程中购买的课程)

2、认知方面。副业经营、人设IP打造,具体点公众号运营、抖*yin等自媒体运营(目前主要在运营两个平台4个号)。


如果你也想像我一样,不想35岁以后被动的去面试,那么加入星球我们一起成长。






欢迎加入99米/年,平均每天2毛7分钱,学习网络安全一整年。





渗透实战系列


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

【渗透实战系列】|43-某次通用型漏洞挖掘思路分享

【渗透实战系列】|42-防范诈骗,记一次帮助粉丝渗透黑入某盘诈骗的实战

【渗透实战系列】|41-记一次色*情app渗透测试

【渗透实战系列】|40-APP渗透测试步骤(环境、代理、抓包挖洞)

▶【渗透实战系列】|39-BC渗透的常见切入点(总结)

【渗透实战系列】|38-对某色情直播渗透

【渗透实战系列】|37-6年级小学生把学校的网站给搞了!

【渗透实战系列】|36-一次bc推广渗透实战

【渗透实战系列】|35-旁站信息泄露的dedecms站点渗透

【渗透实战系列】|34-如何用渗透思路分析网贷诈骗链

【渗透实战系列】|33-App渗透 ,由sql注入、绕过人脸识别、成功登录APP

【渗透实战系列】|32-FOFA寻找漏洞,绕过杀软拿下目标站

【渗透实战系列】|31-记一次对学校的渗透测试

【渗透实战系列】|30-从SQL注入渗透内网(渗透的本质就是信息搜集)

【渗透实战系列】|29-实战|对某勒索APP的Getshell

【渗透实战系列】|28-我是如何拿下BC站的服务器

【渗透实战系列】|27-对钓鱼诈骗网站的渗透测试(成功获取管理员真实IP)

【渗透实战系列】|26一记某cms审计过程(步骤详细)

【渗透实战系列】|25一次从 APP 逆向到 Getshell 的过程

【渗透实战系列】|24-针对CMS的SQL注入漏洞的代码审计思路和方法

【渗透实战系列】|23-某菠菜网站渗透实战

【渗透实战系列】|22-渗透系列之打击彩票站

【渗透实战系列】|21一次理财杀猪盘渗透测试案例

【渗透实战系列】|20-渗透直播网站

【渗透实战系列】|19-杀猪盘渗透测试

【渗透实战系列】|18-手动拿学校站点 得到上万人的信息(漏洞已提交)

【渗透实战系列】|17-巧用fofa对目标网站进行getshell

【渗透实战系列】|16-裸聊APP渗透测试

【渗透实战系列】|15-博彩网站(APP)渗透的常见切入点

【渗透实战系列】|14-对诈骗(杀猪盘)网站的渗透测试

【渗透实战系列】|13-waf绕过拿下赌博网站

【渗透实战系列】|12 -渗透实战, 被骗4000花呗背后的骗局

【渗透实战系列】|11 - 赌博站人人得而诛之

【渗透实战系列】|10 - 记某色X商城支付逻辑漏洞的白嫖(修改价格提交订单)

【渗透实战系列】|9-对境外网站开展的一次web渗透测试(非常详细,适合打战练手)

【渗透实战系列】|8-记一次渗透测试从XSS到Getshell过程(详细到无语)

【渗透实战系列】|7-记一次理财杀猪盘渗透测试案例

【渗透实战系列】|6- BC杀猪盘渗透一条龙

【渗透实战系列】|5-记一次内衣网站渗透测试

【渗透实战系列】|4-看我如何拿下BC站的服务器

【渗透实战系列】|3-一次简单的渗透

【渗透实战系列】|2-记一次后门爆破到提权实战案例

【渗透实战系列】|1一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)


    

长按-识别-关注

Hacking黑白红

一个专注信息安全技术的学习平台

点分享

点收藏

点点赞

点在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/135856
 
299 次点击