【web-解析目标】(1.2.1)解析应用程序:确定用户输入入口

目录

一、解析应用程序

1.1、简介:

1.2、核心:

二、确定用户输入入口

2.1、简介:

2.2、关键位置:

2.3、URL文件路径

简介:

示例:

2.4、请求参数

概述:

示例:

2.5、HTTP消息头

简介:

2.6、带外通道

概述:


一、解析应用程序

1.1、简介:

一个方面,枚举尽可能多的应用程序内容

另一方面,分析应用程序的功能、行为及使用的技术, 确定它暴露的关键受攻击面, 并探查其中可供利用的漏洞

1.2、核心:

核心功能:特定目的时可利用来执行相关的操作(比如文件上传等)


外围的应用程序:站外链接、错误消息、管理与日志功能、重定向等


核心安全机制及运作方式:会话状态、访问控制、验证机制与逻辑(注册、修改密码、找回密码等)


存在用户输入位置:每个URL 、参数、POST、cookie等的不同位置


前端使用的技术:表单、脚本、组件(Javaapplet 、AcliveX控件和Flash)和cookie等

服务端使用的技术: 静态与动态页面、请求参数类型、SSL使用、Web服务器软件、数据库交互、电子邮件系统和其他后端组件等


任何可收集到的关于服务器端应用程序内部结构与功能的其他信息(客户端可见的功能和行为的后台传输机制)



二、确定用户输入入口

2.1、简介:

在检查枚举应用程序功能时生成的HTI下请求的过程中可以确定应用程序获取用户输入(由服务器处理)的绝大部分位置

2.2、关键位置:

每个URL字符串, 包括查询字符串标记

URL查询字符串中提交的每个参数

POST请求主体中提交的每个参数

每个cookie

HTTP消息头(User-Agent 、Referer 、Accept 、Accept-Language和Host消息头)

2.3、URL文件路径

简介:

查询字符串之前的URL部分井不被视为是进入点,它们只是服务器文件系统上的目录和文件的名称。但是, 在使用REST风格的URL的应用程序中, 查询字符串之前的URL部分实际上可以作为数据参数, 并且和进人点一样项要, 因为用户输人就是查询字符串本身。

用户与应用程序的交互方式由应用程序的开发者决定


示例:

REST风格的URL:

http://eis/shop/buy/clothes/nike

其中clothes和nike就相当于是参数(就相当于规定功能之后,根据用户选择而变的)

2.4、请求参数

概述:

在URL查询字符串、消息主体和HTTP、cookie中提交的参数都是明显的用户输入进入点。但是有的应用程序并不对这些参数使用标准的name=valuel各式。而是使用定制的方案。定制方案采用非标准查询字符串标记和字段分隔符, 甚至可能在参数数据中嵌入其他数据方案(如XML)

示例:

例如(网上随机的幸运观众):

/?qd=36010&plan=office&unit=office%2B下载&keyword=下载office2010&e_matchtype={matchtype}&e_creative={creative}&e_adposition={adposition}&e_pagenum={pagenum}&e_keywordid=50953479013


如果应用程序使用非标准的查询字符串格式, 那么在探查其中是否存在各种常见的漏洞时必须考虑到这种情况。

如果忽略定制格式, 认为其仅包含一个名为xx的参数,因而提交各种攻击有效载荷作为这个参数的值, 对其进行简单处理,那么可能会遗漏处理查询字符串过程中存在的许多漏洞。相反, 如果详细分析它使用的定制格式并将有效载荷提交到嵌入的XML数据字段中, 立即就会发现严重缺陷, 如SQL注人或路径遍历

2.5、HTTP消息头

简介:

许多应用程序执行定制的日志功能。并可能会记录HTTP消息头(如Referer和User-Agent)的内容。应始终将这些消息头视为基于输人的攻击的可能进入点


一些应用程序还对Referer消息头进行其他处理

eg:应用程序可能检测到用户已通过搜索引擎到达, 并提供针对用户的搜索查询的定制响应。一些应用程序可能会回应搜索术语, 或者尝试突出显示响应中的匹配表达式。一些应用程序则通过动态添加HTML关键字等内容, 井包含搜索引擎中最近的访问者搜索的字符串, 以提高它们在搜索引擎中的排名。通过提出大量包含经过适当设计的Referer URL的请求, 就可以不断在应用程序的响应中注入内容。


1、应用程序向通过不同设备(如笔记本电脑、移动电话、平板电脑)进行访问的用户呈现不同的内容。应用程序通过检查User-Agent消息头实现这一目的

2、能直接在User-Agent消息头本身中实施的基于输入的攻击提供”便利” 外,还可以揭示应用程序中的其他受攻击面。通过伪造流行移动设备的User-Agent消息头,攻击者可以访问其行为与主要界面不同的简化用户界面。由于这种界面通过服务器端应用程序中的不同代码路径生成,并且可能并未经过严格的安全测试,攻击者就可以确定主要应用程序界面中并不存在的漏洞(如跨站脚本)


Bp lntruder提供了一个内置的有效载荷列表. 其中包含大量针对不同类型设备的用户代理字符串。攻击者可以执行一次简单的攻击, 即向提供不同用户代理字符串的应用程序主页面提出一个GET请求, 然后检查Bp lntrude,返回的结果, 从中确定表明使用了不同用户界面的反常现象。


1、针对浏览器默认发送或应用程序组件添加的HTTP请求消息头实施攻击

2、通过添加应用程序可能会处理的其他消息头来实施成功的攻击

eg:

许多应用程序会对用户IP地址进行处理, 以执行日志、访问控制或用户地理位置定位等功能。通常应用程序通过平台API可以访问客户的网络连接IP地址。但是如果应用程序位于负载均衡器或代理服务器之后,应用程序可能会使用x-Forwarded-for请求消息头(如果存在)中指定的IP地址。然后, 开发者可能误认为该IP地址是安全的,并以危险的方式处理该地址。在这种情况下,通过添加适当设计的X-Forwarded-For消息头, 攻击者就可以实施SQL注人或持续的跨站脚本攻击。

2.6、带外通道

概述:

用户输入进入点是带外通道。应用程序通过它接收攻击者能够控制的数据。如果只是检查应用程序生成的HTTP流量, 攻击者可能根本无法检测到其中一些进人点, 发现它们往往需要全面了解应用程序所执行的各种功能。


通过带外通过接收用户可控制的数据的Web应用程序包括

处理并显示通过SMTP接收到的电子邮件消息的Web邮件应用程序

具有通过HTTP从其他版务器获取内容功能的发布应用程序

使用网络嗅探器收集数据并通过Web应用程序界面显示这些数据的入侵检测应用程序

任何提供由非浏览器用户代理使用的API接口(如果通过此接口处理的数据与主Web应用程序共享)的应用程序, 如移动电话应用程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

黑色地带(崛起)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值