Web安全实践(5)web应用剖析之全局任务和自动化工具

简介:

                                                      作者:玄魂

前置知识 无

本系列导航http://www.cnblogs.com/xuanhun/archive/2008/10/25/1319523.html

安全技术区http://space.cnblogs.com/group/group_detail.aspx?gid=100566 

前言

   web安全实践系列主要是对《黑客大曝光——web应用安全机密与解决方案(第二版)》的内容做的实践研究和部分编程实现。所以如果您能完全理解那本书可以跳过本文章。

 

正文

从今天开始我们正式接触应用剖析的内容。请不要抱怨为什么总是剖析也不攻击,没实在的内容。其实只要认真的剖析,漏洞自然显现,知道了漏洞攻击还会远吗?今天的内容很简单,主要是个人的一些想法和几个工具的简单使用。

  1. 应用剖析要有全局观

分析网站不是随便点几个页面碰运气,真正的测试是不遗漏每一个细节。不遗漏细节的方式就是不要从细节入手。全局着眼摸清主干然后再深入分析。对于网站应用剖析的全局观是什么?是它的层次结构。搞懂了层次之后,我们在看各个层次的内容,文件,功能,然后再从文件入手分析扩展名,语言,表单等等等等。细节问题我们将会具体介绍。

  1. 层次结构的探测方法
    1. 从网站的根目录开始,顺着各个链接一路爬行。
    2. 对于隐藏的目录或界面我们只能猜测或者根据其他信息比如错误信息进行推理。
    3. 对于知名系统,搜索引擎总是会给我们意外的惊喜。

三. 网站的层次结构不代表实际主机上的文件组织结构

这一点不用我细说,只要你略微懂一些网站建设知识的话都会明白的。实际的文件组织结构是可以映射到网站层次的任何一个位置的。

虽然如此,恐怕没有哪个人在建设网站的时候愿意把这种对应关系搞得异常复杂。从管理上看简单明了总是最好的。但是如果网站简单对我们分析人员来讲也是件天大的好事。

四. 自动化工具

在剖析中使用的最基础最强大的技术就是把整个应用程序镜像到本地副本。对于大型的web应用程序来说,手工剖析目录做爬行的话是不可想象的。许多优秀的爬行工具给了我们选择的余地。对于这些工具我之所以在全局任务来讲是因为它们有着先天的局限性。往往自动化程度越高,智能化程度越低。所以我认为它是层次剖析的最好工具(但结果不是最全面的),却不是细节剖析的首选。

(1)Lynx

这是最早出现的文本浏览器。是很好的url捕捉工具。关于这个软件的具体应用使用请参考其他资料。我没有用过也就不具体介绍了。

2Wget

是一款windowsUNIX下的命令行工具,可以用来下载一个站点的内容。

它的目的很简单——下载文件。不支持结果筛选等功能。总体上讲它还是很强大的。输入-help,我们可以看到它的一大堆参数。

-r参数指示程序跟踪每一个链接。这将创建一个跟踪网站的完整目录。

它的主要优点是可以下载应用程序的每个参数的输出。

比如对同一login.asp页面可能会被下载多次

login.asp id=012568

login.asp id=012566

login.asp id=012554

 

它还有一些高级选项如代理和http基础认证的支持。

其他的参数我暂时就不介绍了,说的再多不如你动手做做。

(3)Teleport Pro

是一款Windows下的图形界面程序。并提供了详细的设置选项,对于我们菜鸟来说还是比较适合的。

该工具有个缺点是对grep,findstr这类工具是不支持的。所以当我们具体分析我们取得的信息的时候将会很麻烦。

(4)Black Widow

它完全可以作为Teleport Pro的替代品。提供了一个用户搜索和搜集指定信息的界面。支持搜索工具 。它有自带的浏览器。可配置的参数也多了很多,支持把文件下载到指定目录。

(5)Offline Explorer Pro

是我们目前使用的最优秀的软件。它支持各种认证协议,包括NTML,还有https的访问。而且有着超酷的编辑功能。

想用好这个软件看来还不是很容易呢,那就多多实践。不过目前我们只是用它做整站下载。关于对我们获得的信息的进一步分析,明天再说吧,ok?有点累。


本文转自悬魂博客园博客,原文链接:http://www.cnblogs.com/xuanhun/archive/2008/10/29/1322367.html,如需转载请自行联系原作者

相关文章
|
18天前
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
|
19天前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
12天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
92 17
Selenium:强大的 Web 自动化测试工具
|
2天前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
10天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
36 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
20天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
38 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
2天前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
16天前
|
运维 监控 持续交付
自动化运维在现代数据中心的应用与实践####
本文探讨了自动化运维技术在现代数据中心中的应用现状与实践案例,分析了其如何提升运维效率、降低成本并增强系统稳定性。通过具体实例,展示了自动化工具如Ansible、Puppet及Docker在环境配置、软件部署、故障恢复等方面的实际应用效果,为读者提供了一套可参考的实施框架。 ####
|
16天前
|
运维 监控 Devops
自动化运维实践:打造高效的DevOps流水线
在软件开发的快节奏中,自动化运维成为提升效率、确保质量的关键。本文将引导你理解自动化运维的价值,通过实际案例分享如何构建一个高效、可靠的DevOps流水线。我们将从持续集成(CI)开始,逐步深入到持续部署(CD),并展示代码示例来具体说明。准备好让你的运维工作飞跃式进步了吗?让我们开始吧!
|
20天前
|
jenkins 测试技术 持续交付
自动化测试框架的搭建与实践
在软件开发领域,自动化测试是提升开发效率、确保软件质量的关键手段。本文将引导读者理解自动化测试的重要性,并介绍如何搭建一个基本的自动化测试框架。通过具体示例和步骤,我们将探索如何有效实施自动化测试策略,以实现软件开发流程的优化。
43 7
下一篇
DataWorks