Web安全实践(6)web应用剖析之信息提炼

简介:

                                                 作者:玄魂

前置知识 

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

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

前言

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


 


正文

自动化工具帮我们得到了关于目标站点的一个完整的地图,如果你下载了整个站点,我么可以利用它的搜索功能进一步得到一些细节信息。当然我们要面对爬行工具的缺陷,很多工作还是离不开手工的。对于细节信息我们大概从以下几个方面去考虑。

6.1 动态页面和静态生成页面

静态页面是不能用来测试工具和提交任何请求的,我们要关注它的注释或者其他信息,也许会有意外的发现。动态页面是和服务器交互的页面,也是我们入侵服务器的通道。把所有页面划分成这两类很简单,只需根据扩展名来区分就可以了。

6.2目录结构和目录名,文件名

网站架构是非常有规律的,我们可以通过目录结构和目录名大概推测出各个目录与文件的功能。

特权目录如 /admin/ /adm/等

备份或日志文件目录 如/back/ /log/ 等

文件包含目录如/inc/ /include/ /js/ /global/ /local/等

国际化目录如/en/ /eng/等。

当然我们可以推测一些可能存在的隐含目录,然后向这些目录发送请求,根据提示信息判断。

6.3 文件扩展名

细分文件扩展名的目的是进一步分析没种扩展名的背后的技术使用,执行细节,通过搜索引擎可以获得最近的关于该文件的漏洞及攻击方法。

常见文件扩展名及我在网上找到的相关示例网址。

cfm文件ColdFusion如:http://www.joespub.com/web_joes/index.cfm

aspx文件 asp.net: http://www.neworiental.org/Portal0/Default.aspx

nsf文件 Lotus Domino如:http://166.111.4.136:8080/yjsy/main.nsf/SecondClassParaShow?openform&ClassCode=C04

asp文件 asp如:www.w3schools.com/asp/default.asp

do 文件 BroadVision如:http://login.xiaonei.com/Login.do

pl文件 Perl如:www.chinaembassy.org.pl

cgi 文件 CGI如:www.bioinfo.tsinghua.edu.cn/~zhengjsh/cgi-bin/getCode.cgi

py文件 Python如:www.orcaware.com/svn/wiki/Svnmerge.py

php文件 PHP如:www.paper.edu.cn/index.php

shtml文件 SSI如:http://finance.cctv.com/index.shtml

jsp文件 Jsp如:www.tsinghua.edu.cn/qhdwzy/zsxx.jsp

 

6.4 表单

表单是web应用程序的骨干。我们要尽最大的可能找出所有页面的表单信息,特别是隐藏表单。我们可以利用自动化工具的搜索功能或者手工的方式找寻表单信息。

表单的提交方法。是get还是post。Get更容易在浏览器里操作,但这不以为着post就一定比get安全。

行为。表单调用了什么脚本,使用的语言等等。

最大长度。输入字段是否做了长度限制。如果做了长度限制你是否考虑绕过长度限制的方法。

隐藏。对于隐藏字段我们要特别注意它们的用途。比如这样的代码

<input type="hidden" name=username>

<input type="hidden" name=password>

<input type="hidden" name=shkOvertime value=720>

 

6.5 查询字符串和参数

 

查询字符串大多数情况下位于问号标记的后面。例如www.smg.cn/Index_Columns/Index_Channels.aspx?id=25

分析查询字符串和参数是一件很复杂的事情。

参数的含义是什么。

接收参数的页面或者程序是什么。

对参数的处理及验证是否严格。

是否包含数据库等敏感信息。

用户标识符如www.tudou.com/home/user_programs.php?userID=4030105

会话标识如:www.avssymposium.org/Session.asp?sessionID=143

数据库查询如:http://flash.tom.com/user_msg.php?username=itscartoon

 

6.6 常见cookie

很多应用程序是用cookie来传递信息和标识状态的。如:

Referer: http://www.xiaonei.com/

Cookie: __utma=204579609.447084729.1223101387.1224932689.1225885810.51; __utmz=204579609.1224572867.45.4.utmccn=(referral)|utmcsr=blog.xiaonei.com|utmcct=/GetEntry.do|utmcmd=referral;

6.7 google hack

intext:
这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:动网.将返回所有在网页正文部分包含"动网"的网页.allintext:使用方法和intext类似.如:

intitle:
和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索:intitle:安全天使.将返回所有网页标题中包含"安全天使"的网页.同理allintitle:也同intitle类似.

cache:
搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦.

define:
搜索某个词语的定义,搜索:define:hacker,将返回关于hacker的定义.

filetype:
这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的对特定目标进行信息收集都需要用到这个.搜索指定类型的文件.例如输入:filetype:doc.将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富:)

info:
查找指定站点的一些基本信息.

inurl:
搜索我们指定的字符是否存在于URL中.例如输入:inurl:admin,将返回N个类似于这样的连接:http://www.xxx.com/xxx/admin,用来找管理员登陆的URL不错.allinurl也同inurl类似,可指定多个字符.

link:
例如搜索:inurl:www.4ngel.net可以返回所有和www.4ngel.net做了链接的URL.

site:
这个也很有用,例如:site:www.4ngel.net.将返回所有和4ngel.net这个站有关的URL.

related:如related:www.sina.com。返回与新浪相关的页面。

 

    对了还有一些操作符也是很有用的:

+ 把google可能忽略的字列如查询范围
- 把某个字忽略
~ 同意词
. 单一的通配符
* 通配符,可代表多个字母
""精确查询

 

本文转自悬魂博客园博客,原文链接:http://www.cnblogs.com/xuanhun/archive/2008/11/05/1327554.html,如需转载请自行联系原作者
相关文章
|
17天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
1月前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之做的web服务计费如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
407 3
|
1月前
|
安全
网易web安全工程师进阶版课程
《Web安全工程师(进阶)》是由“ i春秋学院联合网易安全部”出品,资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战,帮助学员纵向提升技能,横向拓宽视野,牢靠掌握Web安全工程师核心知识,成为安全领域高精尖人才。 ## 学习地址
23 6
网易web安全工程师进阶版课程
|
1天前
|
存储 中间件 Go
探索Gin框架:快速构建高性能的Golang Web应用
探索Gin框架:快速构建高性能的Golang Web应用
|
1天前
|
安全 前端开发 JavaScript
在Python Web开发过程中:Web框架相关,如何在Web应用中防止CSRF攻击?
在Python Web开发中防范CSRF攻击的关键措施包括:验证HTTP Referer字段、使用CSRF token、自定义HTTP头验证、利用Web框架的防护机制(如Django的`{% csrf_token %}`)、Ajax请求时添加token、设置安全会话cookie及教育用户提高安全意识。定期进行安全审计和测试以应对新威胁。组合运用这些方法能有效提升应用安全性。
3 0
|
2天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
10天前
|
缓存 负载均衡 数据库
优化后端性能:提升Web应用响应速度的关键策略
在当今数字化时代,Web应用的性能对于用户体验至关重要。本文探讨了如何通过优化后端架构和技术手段,提升Web应用的响应速度。从数据库优化、缓存机制到异步处理等多个方面进行了深入分析,并提出了一系列实用的优化策略,以帮助开发者更好地应对日益增长的用户访问量和复杂的业务需求。
15 1
|
10天前
|
缓存 监控 数据库
Flask性能优化:打造高性能Web应用
【4月更文挑战第16天】本文介绍了提升Flask应用性能的七大策略:优化代码逻辑,减少数据库查询,使用WSGI服务器(如Gunicorn、uWSGI),启用缓存(如Flask-Caching),优化数据库操作,采用异步处理与并发(如Celery、Sanic),以及持续监控与调优。通过这些手段,开发者能有效优化Flask应用,适应大型或高并发场景,打造高性能的Web服务。
|
11天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
15天前
|
JavaScript 前端开发 API
Vue.js:构建高效且灵活的Web应用的利器
Vue.js:构建高效且灵活的Web应用的利器