4.1 枚举内容与功能

4.1.1 Web抓取

1、利用爬虫可获取页面,即深度搜索技术。

4.1.2 用户指定的抓取

1、用户使用它通过标准浏览器以常规方式浏览应用程序,试图枚举应用程序的所有功能。

4.1.3 发现隐藏的内容

1、应用程序常常包含没有直接链接或无法通过课件内容访问的内容和功能,

2、蛮力技巧:利用自动技巧,尝试猜测隐藏功能的名称或标识符。

3、通过公布的内容进行推测:许多应用程序对内容与功能使用某种命名方案。通过应用程序中已经存在的资源进行推断,可以调整自动枚举操作,提高发现其他隐藏内容的可能性。

4、利用公共信息:应用程序一些内容与功能可能并没有与主要内容建立连接,但过去曾经连接过,历史记录可能保存隐藏内容的引用。利用两类主要的公共资源查找隐藏内容:

①搜索引擎

②Web档案

5、利用Web服务器:Web服务器层面存在的漏洞有助于攻击者发现Web应用程序中并未建立连接的内容与功能。如:可枚举目录内容,获取服务器可执行的动态页面的原始内容。

4.1.4 应用程序页面与功能路径

1、通常是一个URL对应一个请求,获取相应数据,同时URL后面的参数是为动态获取数据或者是更精确获取数据页面。

4.1.5 发现隐藏的参数

1、如果应用程序使用其他参数以别的方式控制其逻辑,那么它使用请求参数说明应执行何种功能的情况就会出现变化。

4.2 分析应用程序

4.2.1 确定用户输入入口点

1、在检查枚举一场游戏功能时生成的HTTP请求过程中,可以确定应用程序获取用户输入的大部分内容。

2、URL文件路径:使用REST风格的URL应用程序中,查询字符串之前的URL部分可以作为数据参数,并且和进入点一样重要,因为用户输入就是字符串本身。

3、请求参数:有些应用程序不对参数使用name=value格式,而是定制方案,定制方案采用非标准查询字符串标记和字段分隔符。

4、HTTP消息头:一些日志会记录HTTP消息头(如Referer和User-Agent)的内容,应始终像这些消息头视为基于输入的攻击的可能进入点。有时攻击者还可以通过添加应用程序可能会处理的其他消息头来实施成功的攻击。

5、带外通道:应用程序通过它接收攻击者能够控制的数据。通过带外通道接收用户可控制的数据的Web应用程序包括:

4.2.2 确定服务器端技术

1、提取版本信息:许多Web服务器公开与Web服务器软件本身和所有安装组间有关的详细版本信息。

2、HTTP指纹识别:理论上,服务器返回的任何消息都可以定制或伪造,Server也不例外,大部分应用程序服务器允许管理员配置在Server HTTP消息头中返回的旗标。

3、文件扩展名:URL使用的文件扩展名能揭示应用程序执行相关功能所使用的平台或编程语言。

4、目录名称:一些目录名称常常便是应用程序使用的相关技术。

5、会话令牌:许多Web服务器与Web应用程序平台默认生成的回话令牌名称也揭示其所使用的技术信息。

6、第三方代码组件:许多Web应用程序整合第三方代码组件执行常见的功能。如:购物车、登录机制、广告牌。

4.2.3 确定服务器端功能

1、仔细分析请求:分析URL可确定部分信息。

2、推测应用程序的行为:通常应用程序以统一方式执行其全部功能,可能因为由同一位开发者编写,或者遵循设计规范相同。

3、隔离独特的应用程序行为:许多应用程序采用一致的框架防止各种类型的攻击。如跨站点脚本、SQL注入、未授权访问等。

4.2.4 解析受攻击面

1、根据常见操作,推测可能出现的漏洞。

4.2.5 解析Extreme Internet Shopping应用程序

1、EIS基本目录结构

①/auth目录:包含验证功能

②/core目录:接受由管道符(|)分隔的参数构成的数组

③/gb目录:包含该站点留言板

④/home目录:经过验证的用户内容

⑤/pub目录:REST风格的资源

⑥/shop目录:网上购物站点和大量URL

4.3 小结

4.4 问题

1、当解析一个应用程序时,会遇到以下URL

https://wahh-app.com/CookieAuth.dll?GetLogon?curl=Z2Fdefault.aspx

据此可以推论出服务器使用何种技术?该技术的运作方式可能是怎样的?

答:文件名CookieAuth.dll说明应用程序正使用Microsoft ISA Server。这是登录功能的URL,成功登录后,应用程序将重定向到URL /default.aspx。

2、如果所针对的应用程序是一个Web论坛,并且只发现了一个URL

http://wahh-app.com/forums/ucp.php?mode=register

如何通过它获得论坛成员列表?

答:此URL是phpBB Web论坛软件的常用“指纹”。因特网上提供了有关此软件的大量信息,读者可以自己安装该软件以进行体验。可以通过以下URL获取成员列表:

http://wahh-app.com/forums/memberlist.php

通过类似于下面的URL可以获取单个用户的用户资料:

http://wahh-app.com/forums/profile.php?mode=viewprofile&u=2

phpBB软件中包含各种漏洞,因此,读者应确认所使用的版本并研究任何相关问题。

3、当解析一个应用程序时,遇到以下URL

https://wahh-app.com/public/profile/Address.asp?action=view&location=default

据此推断服务器端应使用何种技术。可能还存在哪些其他内容和功能?

答:.asp文件扩展名说明应用程序正使用Microsoft的Active Server Pages(ASP)。/public路径说明可能存在其他有用的路径,如/private。action=view参数表明可能存在其他操作,如edit、add或delete。应调查location=default参数的用途,其中可能包含用户名,因此应在应用程序中探查路径遍历漏洞。

4、Web服务器的一个响应包含以下消息头:

Server:Apache-Coyote/1.1

这表示服务器使用何种技术?

答:如果该消息头是准确的,说明服务器正运行Apache Tomcat。Tomcat是一种Java Servlet容器,因此应用程序可能使用的是Java和JSP技术。

5、假设正在解析两个不同的Web应用程序,在每个应用程序中请求URL /admin.cpf。每个请求返回的响应消息头如下所示。仅由这些消息头能否确定每个应用程序中存在被请求的资源?

HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Expires: Mon, 20 Jun 2011 14:59:21 GMT

Content-Location: http://wahh-

app.com/includes/error.htm?404;http://wahh-app.com/admin.cpf

Date: Mon, 20 Jun 2011 14:59:21 GMT

Content-Type: text/html

Accept-Ranges: bytes

Content-Length: 2117

HTTP/1.1 401 Unauthorized

Server: Apache-Coyote/1.1

WWW-Authenticate: Basic realm=”Wahh Administration Site”

Content-Type: text/html;charset=utf-8

Content-Length: 954

Date: Mon, 20 Jun 2011 15:07:27 GMT

Connection: close

答:第一个响应使用HTTP状态码200,通常这表示请求已成功提交。但是,Content-Location消息头表示从中获取该响应的位置。这似乎是一个动态生成的错误页面,并且其查询字符串中包含值404,表明响应中包含定制的“文件未发现”消息。

第二个响应使用HTTP状态码401,表明被请求的资源存在,但用户必须提供HTTP验证证书才能访问该资源。

对于以上每一种情况,可以使用相同扩展名(如/iuwehuiwefuwedw.cpf)请求同一目录中的某个确定不存在的项目,并比较相关响应,以证实上述结论。第一个应用程序可能会返回与原始响应极其类似的响应。第二个应用程序可能会返回包含“文件未发现”消息的不同响应。

黑客攻防技术宝典Web实战篇第2版—第4章 解析应用程序相关推荐

  1. 黑客攻防技术宝典Web实战篇第2版—第11章 攻击应用程序逻辑

    11.1 逻辑缺陷的本质 1.一般逻辑缺陷表现为设计者或者开发者在思考过程中做出的特殊假设存在明显或者隐含的错误. 11.2 现实中的逻辑缺陷 11.2.1 例1:征求提示 1.功能:如"记 ...

  2. 黑客攻防技术宝典Web实战篇第2版—第7章 攻击会话管理

    7.1 状态要求 1.HTTP是无状态的,基于请求-响应模型,每条消息代表一个独立的事物. 2.大多数Web站点实际为Web应用程序,他们允许用户注册登录,购买销售,记住用户喜好,它们可以根据用户的单 ...

  3. 黑客攻防技术宝典Web实战篇第2版—第6章 攻击验证机制

    6.1 验证技术 1.执行验证采用不同的技术 6.2 验证机制设计缺陷 6.2.1 密码保密性不强 1.应用程序常常使用的密码形式 6.2.2 蛮力攻击登录 6.2.3 详细的失败消息 1.尝试不同用 ...

  4. 黑客攻防技术宝典Web实战篇第2版—第5章 避开客户端控件

    5.1 通过客户端传送数据 5.1.1 隐藏表单字段 1.通过对表单中的数据隐藏,暗中更改数值,造成恶意攻击. 5.1.2 HTTP cookie 1.HTTPcookie是通过客户端传送数据的另一种 ...

  5. 黑客攻防技术宝典Web实战篇第2版—第3章 Web应用程序技术

    3.1 HTTP 3.1.1 HTTP请求 1.所有HTTP消息(请求与响应)中都包含一个或几个单行显示的消息头,然后是一个空白行,最后是消息主体(可选). 2.每个HTTP请求的第一行由三部分组成 ...

  6. 黑客攻防技术宝典Web实战篇第2版—第1章Web应用程序安全与风险

    1.1 Web应用程序的发展历程 早期万维网仅由站点组成,显示的是静态文档的信息库. 如今大多数站点是应用程序,服务器与浏览器之间双向信息传递. 随之而来的也有安全威胁. 1.1.1 Web应用程序的 ...

  7. 黑客攻防技术宝典Web实战篇第2版—第10章 测试后端组件

    10.1 注入操作系统命令 1.许多时候,开发者直接向服务器发送操作系统指令,但如果应用程序向操作系统发送用户输入指令,可能受到命令注入攻击.通常所有的注入命令都可在Web服务器的进程中安全运行,使得 ...

  8. 黑客攻防技术宝典Web实战篇第2版—第9章 攻击数据存储区

    9.1 注入解释型语言 1.解释型语言是一种在运动时有一个运动时组件解释语言代码并执行其中包含的指令的语言. 2.编译型语言:它的代码在生成时候转换成机器指令,然后在运行时直接由使用该语言的计算机处理 ...

  9. 黑客攻防技术宝典Web实战篇第2版—第8章 攻击访问控制

    8.1 常见漏洞 1.访问控制漏洞:应用程序允许攻击者执行某种攻击者没有资格执行的操作.各种漏之间的差异在于这个核心漏洞表现方式上的不同,以及检测他们所使用的技巧不同. 2.访问控制分类: ①垂直访问 ...

最新文章

  1. 容器监控实践—Heapster
  2. 滴滴Uber合并?光大是不行的
  3. FlexRay车载网络标准
  4. BootStrap学习(6)_模态框
  5. android 底部滑动效果怎么做,Android实现简单底部导航栏 Android仿微信滑动切换效果...
  6. html flex 表单样式,Flexbox 布局的最简单表单的实现
  7. poj 3258 River Hopscotch 二分
  8. 60分钟带你入门iOS开发
  9. linux之svn回滚/回退到某个版本
  10. rs485全双工中只接一组_RS485通讯的正确接线方式
  11. 然之协同 PHP,php然之协同管理系统
  12. 利用泰勒展开式实现sin(x),cos(x)函数
  13. jeecms idea部署
  14. docker系统中/var/lib/docker/overlay2
  15. md5加密数据表中的密码php,JSP_使用MD5加密数据库中的用户密码(一),我们知道,现在网络上一般的 - phpStudy...
  16. 高阶多项式合并同类项程序c语言,多项式合并同类项问题
  17. 滴水逆向学习笔记 -1-
  18. LeetCode——字符串的最大公因子
  19. Linux 桥接ping不通外网(特别是校园网) 解决方式及错误总结
  20. atthesametime啥意思_atthesametime是什么意思啊?a – 手机爱问

热门文章

  1. Web Application Security 网络应用程序安全 - (二)2010年网络安全威胁排行榜TOP 10...
  2. 我整理的一个经典分页程序(JSP的)
  3. Linux超简单文本编辑器:nano
  4. 监听浏览器的返回事件,禁止浏览器返回
  5. 从无到有整合SpringMVC-MyBatis项目(3):整合SpringMVC+Mybatis
  6. Vue 自定义组件 —— slot插槽
  7. 计算机电子的危害,电子垃圾焚烧炉的危害有多大,你了解过吗?
  8. java基础-02数据类型
  9. 看看80万程序员怎么评论:前端程序员会不会失业?
  10. 关于Oracle表及字段的注释 转