【web-攻击web服务器】(13.1)Web服务器配置缺陷

目录

攻击web服务器

简介:

一、Web服务器配置缺陷

1.1、简介:

1.2、默认证书

简述:

过程:

1.3、默认内容

简述:

调试功能

样本功能

强大的功能

JMX

Oracle应用程序

过程:

1.4、目录列表

简述:

1.5、WebDAV方法

简述:

过程:

1.6、Web服务器作为代理服务器

简述:

过程:

1.7、虚拟主机配置缺陷

简述:

过程:

1.8、保障Web服务器配置的安全

简述:


攻击web服务器

简介:

1、与任何其他应用程序一样,Web应用程序也依赖于支持它的其他技术栈,包括Web服务器、操作系统与网络基础架构,这些组件中的任何一个都可能成为攻击者的目标应用程序依赖的技术往往可使攻击者能够完全攻破整个应用程序

2、内联防御通常用于保障Web应用程序的安全及识别攻击,避开这些防御是攻破应用程序的关键步骤

3、并未对Web服务器与应用程序服务器进行区分, 因为各种攻击主要针对的是应用程序的功能,无论应用程序以何种方式提供这些功能。实际上大部分表示层、与后端组件的通信,以及核心安全框架都可能由应用程序扩容器管理,这就进一步扩大了攻击范围。如果实现这些框架的技术存在任何漏洞,可用于直接攻破应用程序,这些漏洞将会引起攻击者的关注

4、利用Web服务器中存在的漏洞攻击其上运行的Web应用程序。当攻击Web服务器时,可以利用的漏洞分为两大类:服务器配置缺陷和应用程序服务器软件中的安全漏洞。相关漏洞的列表可能并不全面,因为这类软件总是在不断变化,各种应用程序在执行自己的本地扩展、模块或API,或访问外部功能时可能遇到的常见危险



一、Web服务器配置缺陷

1.1、简介:

即使最简单的Web服务器也带有大量控制其行为的配置选项。以前发布的许多服务器含有不安全的默认选项, 如果不对它们进行强化,可能会使攻击者有机可乘

1.2、默认证书

简述:

许多Web服务器包含可被公众访问的管理接口。这些接口可能位于Web根目录的某个特定位置,或在8080或8443端口上运行。通常管理接口使用众所周知的默认证书,这些证书在安装时不需要进行修改

掌握最常见的管理接口的默认证书

除Web服务器上的管理接口外, 大量设备(如交换机、打印机与无线接入点)还使用禁止修改其默认证书的Web接口


过程:

1、检查应用程序解析过程中得到的结果,确定应用程序使用的、可能包含可访问的管理接口的Web服务器与其他技术

2、对Web服务器进行端口扫描,确定在指向主目标应用程序的不同端口上运行的所有管理接口

3、对于确定的接口,查阅制造商文档资料与常用密码表,获得默认证书,使用Metasploit的内置数据库扫描服务器。

4、如果默认证书无效,尝试猜测有效的证书

5、如果能够访问一个管理接口,审查可用的功能,确定是否可以利用这项功能进一步攻破主机与主应用程序

1.3、默认内容

简述:

大多数Web服务器中含有可用于攻击服务器自身或主目标应用程序的默认内容与功能

以下是一些可能有用的默认内容;

A、为管理员设计的调试与测试功能

B、用于演示某些常见任务的样本功能

C、本应禁止公众访问,但无意中允许公众访问的强大功能

D、包含仅在安装时有用的信息的Web服务器手册


调试功能

为方便管理员进行诊断而设计的功能对攻击者极其有用,因为其中包含与服务器和它上面运行的应用程序的配置及与运行状态有关的重要信息

许多Apache版本中都含有默认页面phpinfo.php,这个页面运行PHP函数phpinfo()并返回其结果,页面中包含大量与PHP环境、配置设置、Web服务器模块和文件路径有关的信息


样本功能

许多服务器默认包含各种样本脚本与页面,其目的在于演示某些Web服务器功能与API的用法。通常这些样本功能并无害处,也不会给攻击者提供攻击的机会。但实际上,基于以下两点原因,事实并非如此

A、许多样本脚本包含安全漏洞、可被攻击者用于执行脚本作者不希望执行的橾作

B、许多样本脚本甚至执行可被攻击者直接利用的功能


强大的功能

许多Web服务器软件包含一些公众无法访问的强大功能,但终端用户通过某种方式可以访问,这些功能。许多时候,只要提供正确的管理证书,应用程序服务器都允许通过应用程序本身使用的同一HTTP端口来部署Web档案(WAR文件)。应用程序的这种部署过程是黑客的主要攻击目标。常见的渗透测试框架能够自动完成以下过程:扫描默认证书、上传包含后门的Web档案, 然后执行该档案以获取远程系统上的命令外壳


JMX

JBoss默认安装的JMX控制台是一种典型的强大默认内容,JMX控制台被描述为JBoss应用程序服务器微内核的原始视图。实际上通过它可以直接访问JBoss应用程序服务器中的任何托管Bean。由于可用功能的数量众多, 因此人们从中发现了大量安全漏洞。其中最简单的利用方法,是使用DeploymentFileRepository中的store方法创建包含后门的WAR文件


Oracle应用程序

1、强大的默认功能的最典型示例,要属Oracle应用程序服务器实施的PL/SQL网关,其他Oracle产品,如电子商务套件也采用了这个网关。这项功能提供一个接口,通过它可向一个后端Oracle数据库提出Web请求(提交任意参数)

2、这项功能本用于将某个数据库执行的业务逻辑转换成用户友好的Web应用程序。但由于攻击者能够指定任意过程, 因此可以利用PL/SQL网关访问数据库中的强大功能(SYS.OWA_UTIL.CELLSPRINT过程执行任意数据库查询)

3、为防止这种攻击, Oracle引入一个名为Pl/SQL排除列表的过滤器。该过滤器检在被访问的包的名称,并阻止攻击者访问任何以下面的表达式开头的包

SYS.

DBMS_

UTL_

OWA_

OWA.

HTP.

HTF.

4、该过滤器旨在阻止攻击者访问数据库中功能强大的默认功能。但上面的列表并不全面,无法阻止攻击者访问数据库管理员拥有的其他功能强大的默认过程,如CTXSYS与MDSYS。

当然PL/SQL网关最初主要用于传送数据包和过程,但此后发现它的许多默认功能都包含漏洞。


过程:

1、Nikto之类的工具可有效确定大多数默认的Web内容

2、使用搜索引擎和其他资源确定与已知应用程序使用的技术有关的默认内容与功能。如果可能,可在本地计算机上安装这些技术,从中查找任何可在渗透测试中利用的默认功能

1.4、目录列表

简述:

1、当Web应用程序收到一个访问目录而非其实文件的请求时,它会以下面这3种方式进行响应

A、返回目录中的一个默认资源,如index.html

B、它返回一个错误,如HTTP状态码403,表示请求被禁止

C、它返回一个列表,显示目录的内容

2、许多时候,目录列表并不会造成安全威胁。如泄露一个图像目录的索引根本不会引起任何不良后果。确实人们常常有意泄露目录列表,因为它们有助于在包含静态内容的站点间导航。但基于以下两个主要原因,获得目录列表有利于攻击者对应用程序实施攻击

A、许多应用程序并不对它们的功能与资源实施正确的访问控制,而是依赖于攻击者忽略用于访问敏感内容的URL

B、日志、备份文件、旧版脚本等文件与目录经常被无意遗漏在服务器的Web根目录中

3、在上述两种情况下,真正的漏洞位于其他地方,其原因在于没有对敏感数据实施正确的访问控制。但由于这些漏洞极其普遍,不安全的资源的名称可能很难猜测, 因此这时获得目录列表对攻击者而言非常重要,往往可以让他们迅速攻破整个应用程序。

向在应用程序解析过程中发现的Web服务器上的每一个目录提出一个请求,确定任何返回目录列表的场合

1.5、WebDAV方法

简述:

1、WebDAV指用于Web分布式创作与版本控制的HTTP方法集合,这些方法得到了广泛应用。最近的云存储和协作应用程序也采用了WebDAV方法,因为这些应用程序需要使用现有的防火墙友好的协议(如HTTP)跨系统访问用户数据。HTTP请求能够使用除标准GET和POST以外的各种方法,WebDAV添加了大量其他可用于操纵Web服务器上的文件的方法。鉴于其提供的功能的特点,如果这些方法可以由低权限用户访问,这些用户就可以利用它们对应用程序实施有效攻击。

A、PUT:向指定位置上传附加文件

B、DELETE:删除指定的资源

C、COPY:将指定的资源复制到Destination消息头指定的位置

D、MOVE:将指定的资源移动到Destination消息头指定的位置

E、SEARCH:在目录路径中搜索资源

F、PROPFIND:获取与指定资源有关的信息(如作者、大小与内容类型)

2、可以使用OPTIONS方法列出某个特定目录允许的HTTP方法。PUT方法特别危险,如果能够上传Web根目录中的任意文件,就可以在服务器上创建将由服务器端模块执行的后门脚本,从而完全控制应用程序,甚至是Web服务器本身

3、应用程序可能会针对每个目录实施不同的权限, 因此在测试过程中需要进行递归检查。这时可以使用DAVTest之类的工具在服务器的所有目录中检查PUT方法,并确定这些目录允许使用哪些文件扩展名。为克服使用PUT上传后门脚本的限制,该工具还会在MOVE方法后使用PUT方法


过程:

要测试服务器如何处理不同的HTTP方法,需要使用某种工具(如Bp Repeater)可以使用该工具发送任意请求,并完全控制消息头和消息主体

1、使用OPTIONS方法列出服务器使用的HTTP方法(不同目录中激活的方法可能各不相同)

2、一些方法可能被告知有效,但实际上它们并不能使用。有时即使OPTIONS请求返回的响应中没有列出某个方法,但该方法仍然可用。因此应手动测试每一个方法,确认其是否可用

3、如果发现一些WebDAV方法被激活,应使用激活WebDAV的客户端进行深入调查,如"以Web文件夹方式打开"选项

A、尝试使用PUT方法上传一个良性文件,如文本文件

B、如果上传成功,尝试使用PUT上传一个后门脚本

C、如果运行脚本所需的扩展名受到阻止,尝试以.txt扩展名上传该文件,并使用MOVE方法将其移动到采用新扩展名的文件中

D、如果以上方法均无效,尝试上传一个JAR文件,或一个浏览器会将其内容显示为HTML的文件

E、使用davtest.pl之类的工具遍历所有目录

1.6、Web服务器作为代理服务器

简述:

1、Web服务器有时被配置为转发或反向HTTP代理服务器。如果一台服务器被配置为转发代理服务器,那么根据它的配置,可以利用该服务器执行以下各种攻击。

A、攻击者可以使用该服务器攻击因特网上的第三方系统,对攻击目标而言,恶意流量似乎是来自易受攻击的代理服务器。

B、攻击者可以使用代理服务器连接组织内部网络中的任意主机,攻击从因特网无法直接访问的目标

C、攻击者可以使用代理服务器反向连接代理服务器主机上运行的其他服务,突破防火墙限制,并利用信任关系避开身份验证

2、可以使用两种主要的技巧让转发代理服务器进行正向连接。

3、第一种方法是:发送一个包含完整URL的HTTP请求,该URL中包括一个主机名称与一个端口号(可选)

如果配置服务器将请求转发到指定的主机,那么它将返同那台主机的内容。但一定记得核实返回的内容不是来自最初的服务器,大多数Web服务器接受包含完整URL的请求,许多服务器则完全忽略在URL中指定的主机,从它们自己的Web根目录中返回被请求的资源

4、第二种方法是:利用代理服务器的方法是使用CONNECT方法指定到目标主机与端口号

如果服务器以这种方式做出响应,就表示它正在代理该连接。通常第二种技巧的功能更强大,因为现在代理服务器将转发传送到指定主机以及由该主机送出的所有流量,允许穿透连接中的其他协议,攻击非HTTP服务。但大多数代理服务器对通过CONNECT方法可到达的端口实施严格的限制, 通讯只允许连接瑞口443


过程:

1、使用GET与CONNECT请求,尝试用Web服务器作为代理服务器,连接因特网上的其他服务器,并获取其中的内容

2、尝试使用前面描述的两种技巧连接主机基础架构中的不同IP地址与端口

3、尝试使用前面描述的两种技巧,在请求中指定127.0.0.1为目标主机,连接Web服务器上的常用端口号

1.7、虚拟主机配置缺陷

简述:

除DocumentRoot指令外,还可以使用虚拟主机容器为Web站点指定其他配置选项。这时常犯的一个错误是忽略默认主机,导致任何安全配置仅适用于一台虚拟主机,而在访问默认主机时却可轻易避开


过程:

1、使用以下方式向根目录提交GET请求(正确的Host消息头、随意Host消息头、Host消息头中的服务器IP地址、无Host消息头)

2、对这些请求的响应进行比较,常见的结果是,在Host消息头中使用一个IP地址可获得目录列表,还可以获得各种默认内容

3、如果观察到不同的行为,使用生成不同结果的Host消息头重复应用程序解析过程。一定要使用-vhost选项进行一次Nikto扫描,确定在最初的应用程序解析过程中忽略的任何默认内容

1.8、保障Web服务器配置的安全

简述:

从本质上讲,保障Web服务器配溢的安全并不困难,通常疏忽大意与缺乏安全意识是造成问题的主要原因。最重要的是必须充分了解所使用的软件的文档资料及有关的强化指南

就需要解决的常见配置问题而言,确保包括以下所有领域

A、尽可能修改所有默认证书,包括用户名和密码,删除任何不必要的账户

B、在Web根目录的相关路径上应用访问控制列表( ACL),或对非标准端口设置防火墙,阻止公众访问管理接口

C、删除所有实现商业目的并不完全需要的默认内容与功能,浏览Web目录中的内容,确定任何遗留的项目,使用Nikto工具进行重复检查

D、如果需要保留任何默认功能,尽量对其进行强化,禁用不必要的选项与行为

E、在所有Web目录中查找目录列表,如有可能,在一个控制整个服务器的配置中禁用目录列表,还可以确保每个目录包含服务器默认提供的index.html文件

F、除应用程序常用的方法外, 禁用其他所有方法

G、确保没有将Web服务器配置为代理服务器,如果确实需要这项功能,应尽量强化其配置,只允许它迕接可合法访问的特定主机与端口,还可以执行网络层过滤,以此作为另一层防御,控制Web服务器向外发出的请求

H、如果Web服务器支持虚拟主机,确保在默认主机上实施服务器采用的所有安全强化措施,执行前面描述的测试,证明确实实施了安全强化

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色地带(崛起)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值