黑客攻防技术宝典_Web实战篇

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Web应用程序安全的关键问题因素:

1.不成熟的安全意识

2.独立开发

3.欺骗性的简化

4.迅速发展的威胁形式

5.资源与时间限制

6.技术上强其所难

Web应用程序使用三层相关联的安全机制处理用户访问:

1.身份验证

2.会话管理

3.访问控制

处理用户输入:

1.输入的多样性

2.输入处理方法:

a)拒绝已知的不良输入

b)接受已知的正常输入

c)净化

d)安全数据处理

e)语法检查

3.边界确认步骤:

a)应用程序受到用户的登录信息

b)应用程序执行一个SQL查询检验用户证书

c)如果用户成功登录,应用程序再将用户资料中的某些数据传送给

SOAP服务,经一步获得用户账户的有关信息

d)应用程序在用户的浏览器中显示用户的帐户信息

4.多步确认与规化

处理攻击者:

1.处理错误

2.维护审计日志

3.向管理员发出警报

4.应对攻击

HTTP

1.HTTP请求:每个HTTP请求的第一行都由三个以空格间隔的项目组成

三个项目:

1)一个说明HTTP方法的动词(最常用的是GET)

2)被请求的URL

3)使用的HTTP版本

2.HTTP响应:每个HTTP响应的第一行都由三个以空格间隔的项目组成

三个项目:

1)使用的HTTP版本

2)表示请求结果的数字状态码

3)一段文本形式的“原因短语”,进一步说明响应状态3.HTTP方法:

GET——获取资源

POST——执行操作

HEAD——与GET类似,但服务器不会在其响应中返回消息主体

TRACE——诊断目的

OPTIONS——要求服务器报告对某一特殊资源有效的HTTP方法

PUT——试图使用包含在请求主体中的容

HTTP消息头

1.常用消息头:

Connection——用户告诉通信的另一端,在完成HTTP传输后是否关闭TCP/IP连接Content-Encoding——压缩响应以加快传输速度

Content-Length——规定消息主体的字节长度

Content-Type——规定消息主体的容类型

Transfer-Encoding——为方便通过HTTP传输而对消息主体使用的任何编码

2.请求消息头:Accept——告诉服务器客户愿意接受哪些容

Accept-Encoding——告诉服务器客户愿意接受哪些容编码

Authorization——用于为一种置HTTP身份验证向服务器提交证书

Cookie——用于向服务器提交它以前发布的cookie

Host——用于指定出现在被请求的完整URL中的主机名称

If-Modified-Since——用于说明浏览器最后一次收到被请求的资源的时间

If-None-Match——用于指定一个实体标记

Referer——用于指示提出当前请求的原始URL

User-Agent——提供与浏览器或发生请求的其他客户端软件有关的信息

3.响应消息头:Catch-Control——用于向浏览器传送缓存指令

ETag——用于指定一个实体标签

Expires——用户向浏览器说明消息主题容的有效时间

Location——用户在重定向响应中说明重定向目标

Pragma——用户向浏览器传送缓存指令

Server——提供所使用的Web服务器软件的相关信息

Set-Cookie——用户向浏览器发布cookie,浏览器又在随后的请求中将其返回服务器WWW-Authenticate——提供与服务器所支持的身份验证类型相关的信息

状态码:

1xx——提供信息

2xx——请求被成功提交

3xx——客户被重定向到其它资源

4xx——请求包含错误

5xx——服务器执行请求时遇到错误

服务器端功能:

1.脚本语言(PHP、VBScript、Perl)

2.Web应用程序平台(、JAVA)

3.Web服务器(Apache、IIS、Netscape Enterprise)

4.数据库(SQL、ORACLE、MySQL)

客户端功能:

HTML、超、表单、JavaScript、厚客户组件

编码方案:

URL编码、Unicode编码、HTML编码、Base64编码、十六进制编码解析应用程序:枚举容和功能:

1.Web抓取

2.用户指定的抓取

3.发现隐藏的容

4.应用程序页面与功能路径

5.发现隐藏的参数

分析应用程序:

1.确定用户输入进入点

2.确定服务器端技术:

a)提取版本信息

b)HTTP指纹识别

c)文件扩展名

d)目录名称

e)会话令牌

f)第三方代码组件

3.确定服务器端功能:

a)仔细分析请求

b)推测应用程序的行为

4.解析受攻击面

通过客户端传送数据:

1.隐藏表单字段

2.HTTP Cookie

3.URL参数

4.Referer消息头

5.模糊数据

ViewState

收集用户数据:HTML表单:

1.长度限制

2.基于脚本的确认

3.禁用的元素

收集用户数据:厚客户端组件

1.Java applet(反编译Java字节码、字节码模糊处理)

2.ActiveX控件(逆向工程、利用输出函数、修改由控件处理的输入、托管代码反编译)

3.Shockwave Flash对象

安全处理客户端数据:

1.通过客户传送数据

2.确认客户生成的数据

3.日志与警报

相关文档
最新文档