【Web安全】不安全的HTTP方法

简介: 围绕渗透攻防层面来看不安全的HTTP方法漏洞的检测发现修复等手法。

一、常见的HTTP请求方法如下


GET:Get长度限制为1024,特别快,不安全,在URL里可见,URL提交参数以 ?分隔,多个参数用 & 连接,请求指定的页面信息,并返回实体主体。

HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。

POST:长度一般无限制,由中间件限制,较慢,安全,URL里不可见。请求的参数在数据包的请求body中。

PUT:向指定资源位置上传其最新内容。

DELETE:请求服务器删除指定的页面。

CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向WEB服务器发送’*'的请求来测试服务器的功能性。

TRACE:回显服务器收到的请求,主要用于测试或诊断。


如下图展示:

image.png

二、请求方式安全隐患


PUT:由于PUT方法自身不带验证机制,利用PUT方法可以向服务器上传文件,所以恶意攻击者可以上传木马等恶意文件。

DELETE:利用DELETE方法可以删除服务器上特定的资源文件,造成恶意攻击。

OPTIONS:将会造成服务器信息暴漏,如中间件版本、支持的HTTP方法等。

TRACE:可以回显服务器上收到的请求,主要用于测试或诊断,一般都会存在反射型跨站漏洞(XSS漏洞)


三、渗透攻击检测


使用OPTIONS方法列出服务器使用的HTTP方法。注意,不同目录中激活的方法可能各有不同。

有时被告知一些方法有效,但实际上它们并不能使用,有时即使OPTIONS请求返回的响应中没有列出某个方法,但该方法仍然可用。


  • 手动测试每一个方法是否可用,使用CURL发送OPTIONS请求,查看响应头部分

curl -I -X OPTIONS https://X.X.X.X

image.png


  • 使用burp工具进行查看

image.png

image.png

nc.exe –nvv IP 端口 (其中IP和端口按实际状况填写,用空格隔开)

回车

在新行中输入以下一行,并回车

OPTIONS / HTTP/1.1

image.png

存在响应体中Allow字段或其他显示请求方法的字段中存在以上请求方式,均会对目标应用系统造成影响!


攻击手段这里不做过多介绍,大家自行百度!!!


四、修复方案


禁用OPTIONS不安全的HTTP请求方法!


以下针对不安全的HTTP方法中的TRACE相关的修复建议:


中间件为Apache服务器

image.png

更多详细介绍:

LoadModule rewrite_module modules/mod_rewrite.so #首先激活rewrite模块

RewriteEngine On #启用Rewrite引擎

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) #对Request中的Method字段进行匹配:^TRACE 即以TRACE字符串开头

RewriteRule .* - [F] #定义规则:对于所有格式的来源请求,均返回[F]-Forbidden响应。

image.png

或参考如下方法:

image.png


中间件为Microsoft IIS

image.png


中间件为Sun ONE Web Server releases 6.0

 若是你使用的是Sun ONE Web Server releases 6.0 SP2 或者更高的版本, 在obj.conf文件的默认object section里添加下面的语句:

 <Client method="TRACE">

 AuthTrans fn="set-variable"

 remove-headers="transfer-encoding"

 set-headers="content-length: -1"

 error="501"

 </Client>


中间件为Sun ONE Web Server releases 6.0 SP2


若是你使用的是Sun ONE Web Server releases 6.0 SP2 或者更低的版本, 编译以下地址的NSAPI插件:

http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F50603

目录
相关文章
|
1月前
|
安全
网易web安全工程师进阶版课程
《Web安全工程师(进阶)》是由“ i春秋学院联合网易安全部”出品,资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战,帮助学员纵向提升技能,横向拓宽视野,牢靠掌握Web安全工程师核心知识,成为安全领域高精尖人才。 ## 学习地址
23 6
网易web安全工程师进阶版课程
|
2月前
|
安全 搜索推荐 前端开发
揭秘 HTTPS 加密协议:保护你的网上安全之道
揭秘 HTTPS 加密协议:保护你的网上安全之道
134 0
|
2月前
|
安全 前端开发 网络协议
|
1月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
164 0
|
3月前
|
网络协议 网络架构
HTTP方法有哪些?
HTTP方法有哪些?
|
16天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
17天前
|
SQL 安全 PHP
CTF--Web安全--SQL注入之Post-Union注入
CTF--Web安全--SQL注入之Post-Union注入
|
1月前
|
安全 测试技术 网络安全
Web安全基础入门+信息收集篇
学习信息收集,针对域名信息,解析信息,网站信息,服务器信息等;学习端口扫描,针对端口进行服务探针,理解服务及端口对应关系;学习WEB扫描,主要针对敏感文件,安全漏洞,子域名信息等;学习信息收集方法及实现安全测试,能独立理解WEB架构框架,树立渗透测试开展思路!
18 0
Web安全基础入门+信息收集篇
|
1月前
|
安全 测试技术 API
请描述在 Python WEB 开发中常用的测试方法。
请描述在 Python WEB 开发中常用的测试方法。
18 0