Web安全测试规范_V1.2.1

DKBA 华为技术有限公司内部技术规范

DKBA 2355-2009.7 Web应用安全测试规范V1.2

2009年7月5日发布2009年7月5日实施

华为技术有限公司

Huawei Technologies Co., Ltd.

版权所有侵权必究

All rights reserved

修订声明Revision declaration

本规范拟制与解释部门:

安全解决方案部电信网络与业务安全实验室、软件公司安全TMG、软件公司测试业务管理部

本规范的相关系列规范或文件:

《Web应用安全开发规范》

相关国际规范或文件一致性:

《OWASP Testing Guide v3》

《信息安全技术信息安全风险评估指南》

《Information technology Security techniques Management of information and communications technology security》-ISO 13335

替代或作废的其它规范或文件:

相关规范或文件的相互关系:

本规范以《Web应用安全开发规范》为基础、结合Web应用的特点而制定。

目录Table of Contents

1概述 (7)

1.1背景简介 (7)

1.2适用读者 (7)

1.3适用范围 (7)

1.4安全测试在IPD流程中所处的位置 (8)

1.5安全测试与安全风险评估的关系说明 (8)

1.6注意事项 (9)

1.7测试用例级别说明 (9)

2测试过程示意图 (10)

3WEB安全测试规范 (11)

3.1自动化W EB漏洞扫描工具测试 (11)

3.1.1AppScan application扫描测试 (12)

3.1.2AppScan Web Service 扫描测试 (13)

3.2服务器信息收集 (13)

3.2.1运行帐号权限测试 (13)

3.2.2Web服务器端口扫描 (14)

3.2.3HTTP方法测试 (14)

3.2.4HTTP PUT方法测试 (15)

3.2.5HTTP DELETE方法测试 (16)

3.2.6HTTP TRACE方法测试 (17)

3.2.7HTTP MOVE方法测试 (17)

3.2.8HTTP COPY方法测试 (18)

3.2.9Web服务器版本信息收集 (19)

3.3文件、目录测试 (20)

3.3.1工具方式的敏感接口遍历 (20)

3.3.2Robots方式的敏感接口查找 (22)

3.3.3Web服务器的控制台 (23)

3.3.4目录列表测试 (24)

3.3.5文件归档测试 (26)

3.4认证测试 (27)

3.4.1验证码测试 (27)

3.4.2认证错误提示 (28)

3.4.3锁定策略测试 (29)

3.4.4认证绕过测试 (30)

3.4.5找回密码测试 (30)

3.4.6修改密码测试 (31)

3.4.7不安全的数据传输 (31)

3.4.8强口令策略测试 (33)

3.5会话管理测试 (34)

3.5.1身份信息维护方式测试 (34)

3.5.2Cookie存储方式测试 (34)

3.5.3用户注销登陆的方式测试 (35)

3.5.4注销时会话信息是否清除测试 (36)

3.5.5会话超时时间测试 (36)

3.5.6会话定置测试 (37)

3.6权限管理测试 (38)

3.6.1横向测试 (39)

3.6.2纵向测试 (40)

3.7文件上传下载测试 (45)

3.7.1文件上传测试 (45)

3.7.2文件下载测试 (46)

3.8信息泄漏测试 (48)

3.8.1连接数据库的帐号密码加密测试 (48)

3.8.2客户端源代码敏感信息测试 (48)

3.8.3客户端源代码注释测试 (49)

3.8.4异常处理 (49)

3.8.5HappyAxis.jsp页面测试 (51)

3.8.6Web服务器状态信息测试 (52)

3.8.7不安全的存储 (52)

3.9输入数据测试 (52)

3.9.1SQL注入测试 (53)

3.9.2MML语法注入 (54)

3.9.3命令执行测试 (55)

3.10跨站脚本攻击测试 (56)

3.10.1GET方式跨站脚本测试 (56)

3.10.2POST方式跨站脚本测试 (57)

3.11逻辑测试 (58)

3.12搜索引擎信息收集 (58)

3.13W EB S ERVICE测试 (58)

3.14其他 (61)

3.14.1class文件反编译测试 (61)

4APPSCAN测试覆盖项说明 (62)

5附件 (63)

5.1本规范所涉及的测试工具 (63)

Web安全测试规范

缩略语清单

CRLF \r\n回车换行

LDAP Lightweight Directory Access Protocol 轻量级目录访问协议

MML man-machine language 人机交互语言

SessionID 标志会话的ID

Web Service Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。

SOAP Simple Object Access Protocol 简单对象访问协议

XFS Cross Frame Script 跨帧脚本

XSS Cross Site Script 跨站脚本

1 概述

1.1 背景简介

在Internet大众化、Web技术飞速演变、黑客工具日益普及的今天,针对Web的攻击和破坏不断增多,在线安全面临日益严峻的挑战,安全风险达到了前所未有的高度。

为了规避Web安全风险、规范Web安全开发,公司已经制定并发布了《Web 应用安全开发规范》;但如何系统的进行Web安全性测试,目前缺少相应的理论和方法支撑。为此,我们制定《Web 安全测试规范》,本规范可让测试人员针对Web常见安全漏洞或攻击方式,系统的对被测Web系统进行快速安全性测试。

1.2 适用读者

本规范的读者及使用对象主要为Web相关的测试人员、开发人员、专职的安全测试评估人员等。

1.3 适用范围

本规范主要针对基于通用服务器的Web应用系统,其他Web系统也可以参考,如基于嵌入式系统的Web维护接口等。

如下图例说明了一种典型的基于通用服务器的Web应用系统:

弱性(Vulnerability)也称弱点,是应用系统本身存在的,包括系统实现中的缺陷、配置中的弱点等。外部威胁利用系统的脆弱性达到破坏系统安全运行的目的。

本规范所描述的安全测试仅是安全风险评估中的一个活动,对应于安全风险评估过程中的脆弱性识别部分,特别是技术性的脆弱性识别。

完整的安全风险评估过程、概念见GB/T 20984-2007《信息安全技术信息安全风险评估规范》。

1.6 注意事项

●Web安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃

圾数据),建议只在测试环境中进行;如果一定要在现网运行环境中执行,那么务

必配置专门的测试数据,测试执行是应该非常慎重,只能修改或删除这些测试数据,禁止修改、删除现网其他数据。

●本规范最主要目的是为了发现安全弱点,至于发现一个弱点以后更深一步的渗透测

试在这里不会涉及。例如针对暴力破解测试,我们只给出验证存在暴力破解漏洞的

可能,但不会提供暴力破解的方法。

●本文档中所有提及的测试工具的申请和使用,请遵循公司信息安全相关规定。

●如果是内部试验环境进行测试,可以考虑去除一些防护措施或设备(如防火墙),

这样能保证发现问题的全面性。

●本文档根据最严格的方式对目标进行测试,如果产品线对安全的要求不高且有自身

的安全策略规定时,可以视情况对测试项进行部分测试。例如密码策略测试项中,

测试人员可以根据测试目标的密码位数要求进行测试,而不需要完全依照测试项里

面规定的位数进行测试。

1.7 测试用例级别说明

一个安全漏洞的风险程度受危害程度和概率的影响,我们定义了如下所示的关系:

表1 风险等级界定表

本测试规范用例根据上面的定义分为四个测试级别:

1 基本:该类用例涉及可能导致风险程度为高的安全漏洞,在任何情况下

都必须进行测试。

2 重要:该类用例涉及可能导致风险程度为中的安全漏洞,在条件允许(时

间、人力充沛)情况下必须进行测试。

3 一般:该类用例涉及可能导致风险程度为低的安全漏洞,测试结果可能

对其他测试有帮助。测试与否根据业务系统的重要性来判断。

4 生僻:该类用例涉及可能导致风险程度为极低的安全漏洞,攻击者只能

收集到很少且无关紧要的信息。一般情况下不建议进行测试。

表2 测试级别说明表

2 测试过程示意图

本测试主要包括主动模式和被动模式两种。在被动模式中,测试人员尽可能的了解应用逻辑:比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。主动测试会与被测目标进行直接的数据交互,而被动测试不需要。

自动化扫描工具只能检测到部分常见的漏洞(如跨站脚本、SQL注入等),不是针对用户代码的,也就是说不能理解业务逻辑,无法对这些漏洞做进一步业务上的判断。往往最严重的安全问题并不是常见的漏洞,而是通过这些漏洞针对业务逻辑和应用的攻击。

Web目前分为application和Web service两部分。Application指通常意义上的Web应用,而Web service是一种面向服务的架构的技术,通过标准的Web协议(如HTTP、XML、SOAP、

WSDL)提供服务。

3.1.1AppScan application扫描测试

3.1.2AppScan Web Service 扫描测试

3.2 服务器信息收集

3.2.1运行帐号权限测试

3.2.2Web服务器端口扫描

3.2.3HTTP方法测试

3.2.4HTTP PUT方法测试

3、点击Scan按钮3.2.5HTTP DELETE方法测试

3.2.6HTTP TRACE方法测试

3.2.7HTTP MOVE方法测试

3.2.8HTTP COPY方法测试

3.2.9Web服务器版本信息收集

3、点击程序下方的运行按钮

3.3 文件、目录测试

3.3.1工具方式的敏感接口遍历

最受欢迎的十大WEB应用安全评估系统教学教材

最受欢迎的十大WEB应用安全评估系统 在国内一些网站上经常看到文章说某某WEB应用安全评估工具排名,但是很可惜,绝大多数都是国外人搞的,界面是英文,操作也不方便,那游侠就在这里综合下,列举下国内WEB安全评估人员常用的一些工具。当然,毫无疑问的,几乎都是商业软件,并且为了描述更准确,游侠尽量摘取其官方网站的说明: 1.IBM Rational AppScan IBM公司推出的IBM Rational AppScan产品是业界领先的应用安全测试工具,曾以Watchfire AppScan 的名称享誉业界。Rational AppScan 可自动化Web 应用的安全漏洞评估工作,能扫描和检测所有常见的Web 应用安全漏洞,例如SQL 注入(SQL-injection)、跨站点脚本攻击(cross-site scripting)及缓冲溢出(buffer overflow)等方面安全漏洞的扫描。 游侠标注:AppScan不但可以对WEB进行安全评估,更重要的是导出的报表相当实用,也是国外产品中唯一可以导出中文报告的产品,并且可以生成各种法规遵从报告,如ISO 27001、OWASP 2007等。 2.HP WebInspect

目前,许多复杂的Web 应用程序全都基于新兴的Web 2.0 技术,HP WebInspect 可以对这些应用程序执行Web 应用程序安全测试和评估。HP WebInspect 可提供快速扫描功能、广泛的安全评估范围及准确的Web 应用程序安全扫描结果。 它可以识别很多传统扫描程序检测不到的安全漏洞。利用创新的评估技术,例如同步扫描和审核(simultaneous crawl and audit, SCA)及并发应用程序扫描,您可以快速而准确地自动执行Web 应用程序安全测试和Web 服务安全测试。 主要功能: ·利用创新的评估技术检查Web 服务及Web 应用程序的安全 ·自动执行Web 应用程序安全测试和评估 ·在整个生命周期中执行应用程序安全测试和协作 ·通过最先进的用户界面轻松运行交互式扫描 ·满足法律和规章符合性要求 ·利用高级工具(HP Security Toolkit)执行渗透测试 ·配置以支持任何Web 应用程序环境 游侠标注:毫无疑问的,WebInspect的扫描速度相当让人满意。 3.Acunetix Web Vulnerability Scanner

web安全考试

web安全测试

————————————————————————————————作者:————————————————————————————————日期:

Web安全测试——手工安全测试方法及修改建议发表于:2017-7-17 11:47 作者:liqingxin 来源:51Testing软件测试网采编 字体:大中小 | 上一篇 | 下一篇 | 打印 |我要投稿 | 推荐标签:软件测试工具XSS安全测试工 具 常见问题 1.XSS(CrossSite Script)跨站脚本攻击 XSS(CrossSite Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到恶意用户的特殊目的。 测试方法: 在数据输入界面,添加记录输入:,添加成功如果弹出对话框,表明此处存在一个XSS 漏洞。 或把url请求中参数改为,如果页面弹出对话框,表明此处存在一个XSS 漏洞 修改建议: 过滤掉用户输入中的危险字符。对输入数据进行客户端和程序级的校验(如通过正则表达式等)。 Eg:对用户输入的地方和变量有没有做长度和对”<”,”>”,”;”,”’”等字符是否做过滤 2.CSRF与跨站脚本(XSS) CSRF与跨站脚本(XSS),是指请求迫使某个登录的浏览器向易受攻击的Web应用发送一个请求,然后以受害者的名义,为入侵者的利益进行所选择的行动。

Web安全测试规范

DKBA 华为技术有限公司内部技术规范 DKBA Web应用安全测试规范 2009年7月5日发布2009年7月5日实施华为技术有限公司 Huawei Technologies Co., Ltd. 版权所有侵权必究 All rights reserved

修订声明Revision declaration 本规范拟制与解释部门: 安全解决方案部电信网络与业务安全实验室、软件公司安全TMG、软件公司测试业务管理部本规范的相关系列规范或文件: 《Web应用安全开发规范》 相关国际规范或文件一致性: 《OWASP Testing Guide v3》 《信息安全技术信息安全风险评估指南》 《Information technology Security techniques Management of information and communications technology security》-ISO 13335 替代或作废的其它规范或文件: 无 相关规范或文件的相互关系: 本规范以《Web应用安全开发规范》为基础、结合Web应用的特点而制定。

目录Table of Contents 1概述错误!未定义书签。 背景简介错误!未定义书签。 适用读者错误!未定义书签。 适用范围错误!未定义书签。 安全测试在IPD流程中所处的位置错误!未定义书签。 安全测试与安全风险评估的关系说明错误!未定义书签。 注意事项错误!未定义书签。 测试用例级别说明错误!未定义书签。 2测试过程示意图错误!未定义书签。 3Web安全测试规范错误!未定义书签。 自动化Web漏洞扫描工具测试错误!未定义书签。 AppScan application扫描测试错误!未定义书签。 AppScan Web Service 扫描测试错误!未定义书签。 服务器信息收集错误!未定义书签。 运行帐号权限测试错误!未定义书签。 Web服务器端口扫描错误!未定义书签。 HTTP方法测试错误!未定义书签。 HTTP PUT方法测试错误!未定义书签。 HTTP DELETE方法测试错误!未定义书签。 HTTP TRACE方法测试错误!未定义书签。 HTTP MOVE方法测试错误!未定义书签。 HTTP COPY方法测试错误!未定义书签。 Web服务器版本信息收集错误!未定义书签。 文件、目录测试错误!未定义书签。 工具方式的敏感接口遍历错误!未定义书签。 Robots方式的敏感接口查找错误!未定义书签。 Web服务器的控制台错误!未定义书签。 目录列表测试错误!未定义书签。 文件归档测试错误!未定义书签。 认证测试错误!未定义书签。 验证码测试错误!未定义书签。 认证错误提示错误!未定义书签。 锁定策略测试错误!未定义书签。 认证绕过测试错误!未定义书签。 找回密码测试错误!未定义书签。 修改密码测试错误!未定义书签。 不安全的数据传输错误!未定义书签。 强口令策略测试错误!未定义书签。 会话管理测试错误!未定义书签。 身份信息维护方式测试错误!未定义书签。 Cookie存储方式测试错误!未定义书签。 用户注销登陆的方式测试错误!未定义书签。 注销时会话信息是否清除测试错误!未定义书签。 会话超时时间测试错误!未定义书签。

WEB安全测试

Web安全测试——手工安全测试方法及修改建议 发表于:2017-7-17 11:47 ?作者:liqingxin ? 来源:51Testing软件测试网采编 字体:???|??|??|??|?|?推荐标签:??? 常见问题 (CrossSite Script)跨站脚本攻击 (CrossSite Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到恶意用户的特殊目的。 方法:? 在数据输入界面,添加输入:,添加成功如果弹出对话框,表明此处存在一个XSS?。 或把url请求中参数改为,如果页面弹出对话框,表明此处存在一个XSS 漏洞 修改建议: 过滤掉用户输入中的危险字符。对输入数据进行客户端和程序级的校验(如通过正则表达式等)。 Eg:对用户输入的地方和变量有没有做长度和对”<”,”>”,”;”,”’”等字符是否做过滤 与跨站脚本(XSS) CSRF与跨站脚本(XSS),是指请求迫使某个登录的向易受攻击的Web应用发送一个请求,然后以受害者的名义,为入侵者的利益进行所选择的行动。 测试方法: 同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功使用工具发送请求,在http请求头中不加入referer字段,检验返回消息的应答,应该重新定位到错误界面或者登陆界面。 修改建议: 在不同的会话中两次发送同一请求并且收到相同的响应。这显示没有任何参数是动态的(会话标识仅在cookie 中发送),因此应用程序易受到此问题攻击。因此解决的方法为 Hashing(所有表单都包含同一个伪随机值): 2. ?验证码 ‐Time Tokens(不同的表单包含一个不同的伪随机值)客户端保护措施:应用防止CSRF攻击的工具或插件。 3.注入测试

Web安全系统测试要求规范

DKBA DKBA 2355-2009.7 .2cto.红黑联盟收集整理 Web应用安全测试规V1.2 2009年7月5日发布2009年7月5日实施 所有侵权必究 All rights reserved

修订声明Revision declaration 本规拟制与解释部门: 安全解决方案部电信网络与业务安全实验室、软件公司安全TMG、软件公司测试业务管理部 本规的相关系列规或文件: 《Web应用安全开发规》 相关国际规或文件一致性: 《OWASP Testing Guide v3》 《信息安全技术信息安全风险评估指南》 《Information technology Security techniques Management of information and communications technology security》-ISO 13335 替代或作废的其它规或文件: 无 相关规或文件的相互关系: 本规以《Web应用安全开发规》为基础、结合Web应用的特点而制定。

目录Table of Contents 1概述 (7) 1.1背景简介 (7) 1.2适用读者 (7) 1.3适用围 (7) 1.4安全测试在IPD流程中所处的位置 (8) 1.5安全测试与安全风险评估的关系说明 (8) 1.6注意事项 (9) 1.7测试用例级别说明 (9) 2测试过程示意图 (10) 3WEB安全测试规 (11) 3.1自动化W EB漏洞扫描工具测试 (11) 3.1.1AppScan application扫描测试 (12) 3.1.2AppScan Web Service 扫描测试 (13) 3.2服务器信息收集 (13) 3.2.1运行权限测试 (13) 3.2.2Web服务器端口扫描 (14) 3.2.3HTTP方法测试 (14) 3.2.4HTTP PUT方法测试 (15) 3.2.5HTTP DELETE方法测试 (16) 3.2.6HTTP TRACE方法测试 (17) 3.2.7HTTP MOVE方法测试 (17) 3.2.8HTTP COPY方法测试 (18) 3.2.9Web服务器版本信息收集 (18) 3.3文件、目录测试 (20) 3.3.1工具方式的敏感接口遍历 (20) 3.3.2Robots方式的敏感接口查找 (21)

WEB安全测试要考虑的10个测试点

WEB安全测试要考虑的10个测试点本文主要论述了WEB安全测试要考虑的10个测试点: 1、问题:没有被验证的输入 测试方法: 数据类型(字符串,整型,实数,等) 允许的字符集 最小和最大的长度 是否允许空输入 参数是否是必须的 重复是否允许 数值范围 特定的值(枚举型) 特定的模式(正则表达式) 2、问题:有问题的访问控制 测试方法: 主要用于需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地址 例:从一个页面链到另一个页面的间隙可以看到URL地址 直接输入该地址,可以看到自己没有权限的页面信息, 3、错误的认证和会话管理 例:对Grid、Label、Tree view类的输入框未作验证,输入的内容会按照html语法解析出来 4、缓冲区溢出 没有加密关键数据 例:view-source:http地址可以查看源代码 在页面输入密码,页面显示的是*****, 右键,查看源文件就可以看见刚才输入的密码。 5、拒绝服务

分析:攻击者可以从一个主机产生足够多的流量来耗尽狠多应用程序,最终使程序陷入瘫痪。需要做负载均衡来对付。 6、不安全的配置管理 分析:Config中的链接字符串以及用户信息,邮件,数据存储信息都需要加以保护程序员应该作的:配置所有的安全机制,关掉所有不使用的服务,设置角色权限帐号,使用日志和警报。 分析:用户使用缓冲区溢出来破坏web应用程序的栈,通过发送特别编写的代码到web程序中,攻击者可以让web应用程序来执行任意代码。 7、注入式漏洞 例:一个验证用户登陆的页面, 如果使用的sql语句为: Select * from table A where username=’’ + username+’’ and pass word ….. Sql 输入‘ or 1=1 ―― 就可以不输入任何password进行攻击 或者是半角状态下的用户名与密码均为:‘or’‘=’ 8、不恰当的异常处理 分析:程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞, 9、不安全的存储 分析:帐号列表:系统不应该允许用户浏览到网站所有的帐号,如果必须要一个用户列表,推荐使用某种形式的假名(屏幕名)来指向实际的帐号。 浏览器缓存:认证和会话数据不应该作为GET的一部分来发送,应该使用POST, 10、问题:跨站脚本(XSS) 分析:攻击者使用跨站脚本来发送恶意代码给没有发觉的用户,窃取他机器上的任意资料 测试方法: ● HTML标签:<…>… ● 转义字符:&(&);<(<);>(>);(空格) ; ● 脚本语言:

最新Web应用安全测试方案

精品文档 1 Web安全测试技术方案 1.1 测试的目标更好的发现当前系统存在的可能的安全隐患,避免发生危害性的安全事件更好的为今 后系统建设提供指导和有价值的意见及建议 1.2 测试的范围 本期测试服务范围包含如下各个系统: Web系统: 1.3 测试的内容 1.3.1 WEB^ 用 针对网站及WEB系统的安全测试,我们将进行以下方面的测试: Web 服务器安全漏洞 Web 服务器错误配置 SQL 注入 XSS (跨站脚本) CRLF 注入 目录遍历 文件包含 输入验证 认证 逻辑错误 Google Hacking 密码保护区域猜测字典攻击特定的错误页面检测脆弱权限的目录危险的HTTP 方法(如:PUT、DELETE) 1.4 测试的流程 方案制定部分: 精品文档 获取到客户的书面授权许可后,才进行安全测试的实施。并且将实施范围、方法、时间、人员等具体的方案与客户进行交流,并得到客户的认同。 在测试实施之前,让客户对安全测试过程和风险知晓,使随后的正式测试流程都在客户的控制下。 信息收集部分:

这包括:操作系统类型指纹收集;网络拓扑结构分析;端口扫描和目标系统提供的服务识别等。采用商业和开源的检测工具(AWVS burpsuite、Nmap等)进行收集。 测试实施部分: 在规避防火墙、入侵检测、防毒软件等安全产品监控的条件下进行:操作系统可检测到的漏洞测试、应用系统检测到的漏洞测试(如:Web应用),此阶段如果成功的话,可能获得普通权限。 安全测试人员可能用到的测试手段有:扫描分析、溢出测试、口令爆破、社会工程学、客户端攻击、中间人攻击等,用于测试人员顺利完成工程。在获取到普通权限后,尝试由普通权限提升为管理员权限,获得对系统的完全控制权。此过程将循环进行,直到测试完成。最后由安全测试人员清除中间数据。 分析报告输出: 安全测试人员根据测试的过程结果编写直观的安全测试服务报告。内容包括:具体的操作步骤描述;响应分析以及最后的安全修复建议。 下图是更为详细的步骤拆分示意图: 精品文档 1.5 测试的手段 根据安全测试的实际需求,采取自动化测试与人工检测与审核相结合的方式,大大的减少了自动化测试过程中的误报问题。

Web安全测试的步骤

安全测试方面应该参照spi的web安全top 10来进行。 目前做软件测试人员可能对安全性测试了解不够,测试结果不是很好。如果 经验不足,测试过程中可以采用一些较专业的web安全测试工具,如WebInspect、Acunetix.Web.Vulerability.Scanner等,不过自动化web安全测试的最大缺陷就是误 报太多,需要认为审核测试结果,对报告进行逐项手工检测核对。 对于web安全的测试用例,可以参照top 10来写,如果写一个详细的测试用例,还是比较麻烦的,建议采用安全界常用的web渗透报告结合top10来写就可以了。 现在有专门做系统和网站安全检测的公司,那里做安全检测的人的技术都很好,大多都是红客。 再补充点,网站即使站点不接受信用卡支付,安全问题也是非常重要的。Web 站点收集的用户资料只能在公司内部使用。如果用户信息被黑客泄露,客户在进行交易时,就不会有安全感。 目录设置 Web 安全的第一步就是正确设置目录。每个目录下应该有 index.html 或 main.html 页面,这样就不会显示该目录下的所有内容。我服务的一个公司没有执 行这条规则。我选中一幅图片,单击鼠标右键,找到该图片所在的路径 "…com/objects/images".然后在浏览器地址栏中手工输入该路径,发现该站点所有 图片的列表。这可能没什么关系。我进入下一级目录"…com/objects" ,点击jackpot.在该目录下有很多资料,其中引起我注意的是已过期页面。该公司每个月 都要更改产品价格,并且保存过期页面。我翻看了一下这些记录,就可以估计他 们的边际利润以及他们为了争取一个合同还有多大的降价空间。如果某个客户在谈判之前查看了这些信息,他们在谈判桌上肯定处于上风。 SSL 很多站点使用 SSL 进行安全传送。你知道你进入一个 SSL 站点是因为浏览器 出现了警告消息,而且在地址栏中的HTTP 变成HTTPS.如果开发部门使用了SSL,测试人员需要确定是否有相应的替代页面(适用于3.0 以下版本的浏览器,这些浏 览器不支持SSL.当用户进入或离开安全站点的时候,请确认有相应的提示信息。 是否有连接时间限制?超过限制时间后出现什么情况? 登录

Web应用安全测试方案

1 Web 安全测试技术方案 1.1测试的目标 更好的发现当前系统存在的可能的安全隐患,避免发生危害性的安全事件 更好的为今后系统建设提供指导和有价值的意见及建议 1.2测试的范围 本期测试服务范围包含如下各个系统: Web 系统: 1.3测试的内容 1.3.1WEB 应用 针对网站及WEB 系统的安全测试,我们将进行以下方面的测试: Web 服务器安全漏洞 Web 服务器错误配置 SQL 注入 RSS (跨站脚本) CRLF 注入 目录遍历 文件包含 输入验证 认证逻辑错误 GoogleHacAing 密码保护区域猜测字典攻击特定的错误页面检测脆弱权限的目录危险的HTTP

方法(如:PUT、DELETE) 1.4测试的流程 方案制定部分:获取到客户的书面授权许可后,才进行安全测试的实施。并且将实施范围、方法、时间、人员等具体的方案与客户进行交流,并得到客户的认同。 在测试实施之前,让客户对安全测试过程和风险知晓,使随后的正式测试流程都在客户的控制下。 信息收集部分:这包括:操作系统类型指纹收集;网络拓扑结构分析;端口扫描和目标系统提供的服务识别等。采用商业和开源的检测工具(AWVS 、burpsuite 、Nmap 等)进行收集。 测试实施部分:在规避防火墙、入侵检测、防毒软件等安全产品监控的条件下进行:操作系统可检测到的漏洞测试、应用系统检测到的漏洞测试(如:Web 应用),此阶段如果成功的话,可能获得普通权限。 安全测试人员可能用到的测试手段有:扫描分析、溢出测试、口令爆破、社会工程学、客户端攻击、中间人攻击等,用于测试人员顺利完成工程。在获取到普通权限后,尝试由普

web安全性测试

WEB 安全性测试 第一章:预备知识: 1.1 SQL 语句基础 1.2 HTML语言 HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。html 是在 sgml 定义下的一个描述性语言,或可说 html 是 sgml 的一个应用程式,html 不是程式语言,它只是标示语言。 实例:

这个表单会把电子发送到 W3School。



电邮:

容:


表单提交中Get和Post方式的区别有5点 1. get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单各个字段与其容放置在HTML HEADER一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

详述SSL和TLS的Web安全渗透测试

如果Web服务中的SSL和TLS协议出现安全问题,后果会如何?很明显,这样的话攻击者就可以拥有你所有的安全信息,包括我们的用户名、密码、信用卡、银行信息……所有的一切。本文将向读者详细介绍如何针对Web服务中的SSL和TLS协议进行安全渗透测试。我们首先对这两种协议进行了概述,然后详细介绍了针对加密信道安全性的黑盒测试和白盒测试。最后列出了一些常用的安全测试工具。 一、简介 目前,许多重要的Web服务都使用了SSL和TLS协议对通信进行保护。我们知道,http协议是使用明文进行传输的,但是像网络银行之类的web应用如果使用http协议的话,那么所有的机密信息都会暴露在网络连接中,这就像银行用一个透明的信封给我们邮寄信用卡帐号和密码一样,在从银行到达用户之间任何接触过这封信的人,都能看到我们的帐号和密码。为了提高其安全性,经常需要通过SSL或者TLS隧道传输这些明文,这样就产生了https通信流量。例如网络银行之类的应用,在服务器和客户端之间传输密码,信用卡号码等重要信息时,都是通过https协议进行加密传送的。 SSL和TLS是两种安全协议,它们通过加密技术为传输的信息提供安全信道、机密性和身份验证等安全功能。我们知道由于对高级密码技术的出口限制,会造成遗留系统使用的是弱加密技术。如果系统采用了弱密码,或者说密码强度过低的话,攻击者可以在有效的时间内破解密钥,而攻击者一旦得到了密钥,就像小偷得到了我们家的钥匙一样,所有的锁都会形同虚设。但是,新Web服务器就不会使用弱加密系统了吗?答案是否定的,因为许多新Web服务器也经常被配臵成处理虚密码选项。为了实现这些安全特性,协议必须确保使用的密码算法有足够的强度,并且密码算法得到了正确的实现。即使服务器安装使用了高级的加密模块,但是如果配臵不当的话,也有可能为安全特性要求较高的通信信道的设臵了较弱的加密技术。下面,我们将详细介绍如何对这两种协议的配臵进行安全审计。 二、测试SSL/TLS的密码规范 我们知道,http协议是使用明文进行传输的,为了提高其安全性,经常需要通过SSL或者TLS隧道传输这些明文,这样就产生了https通信流量。除对传输的数据进行加密处理之外,https(安全超文本传输协议,HTTPS)还能利用数字证书为服务器或客户端提供身份标识。 过去,美国政府对加密系统的出口有许多限制,如密钥长度最大为40位,因为密钥长度越短,它就越容易破解。后来,密码出口条例已经放宽了许多,但是,检查服务器的SSL配臵仍然十分重要,因为它有可能配臵使用了弱加密技术。基于SSL的服务不应该提供选择弱密码的机会。 注意,我们这里所说的弱密码,指的是加密强度不够、容易破解的加密系统。不同的加密算法具有不同的密码强度,但是在算法一定的情况下,密钥的长度越长,加密强度越高。 技术上,选择加密技术的过程如下所示:在建立SSL连接的初期,客户端向服务器发送一个Clien t Hello消息,以告知服务器它支持哪些加密技术等。一般情况下,客户端通常是一个Web浏览器,所以浏览器是目前最常见的SSL客户端;然而,任何支持SSL的应用程序都可以作为SSL客户端使用。比如,有时候SSL客户端是些SSL代理(如stunnel),它们使得那些不支持SSL的工具也能与SSL服务通信。同理,SSL服务器端通常为Web服务器,但是其他应用程序也可以充当SSL服务器端。加密套件规定了具体的密码协议(DES、RC4、AES)、密钥长度(诸如40、56或者128位)和用于完整性检验的散列算法(SHA、MD5)。收到Client Hello消息后,服务器以此确定该会话所使用的加密套件。当然,通过配臵可以规定服务器能够接受哪些密码套件,这样的话,我们就能够控制是否跟仅支持40位加密的客户端通话 三、黑盒测试 为了检测可能支持的弱密码,必须找出与SSL/TLS服务相关的端口。通常情况下,要检查端口443,因为它是标准的https端口;不过运行在443端口上的却未必是https服务,因为通过配臵,https服务可以运行在非标准的端口上,同时,Web应用程序也许使用了其它利用SSL/TLS封装的服务。一般而言,为了找出这些端口,必须找出使用了哪些服务。

如何进行WEB安全性测试

WEB的安全性测试主要从以下方面考虑: 目录 1.SQL Injection(SQL注入) (1) 2.Cross-site scritping(XSS):(跨站点脚本攻击) (3) 3.CSRF:(跨站点伪造请求) (6) 4.Email Header Injection(邮件标头注入) (6) 5.Directory Traversal(目录遍历) (7) 6.exposed error messages(错误信息) (7) 1.SQL Injection(SQL注入) (1)如何进行SQL注入测试? ?首先找到带有参数传递的URL页面,如搜索页面,登录页面,提交评论页面等等. 注1:对于未明显标识在URL中传递参数的,可以通过查看HTML源代码中的"FORM"标签来辨别是否还有参数传递.在

的标签中间的每一个参数传递都有可能被利用. 注 2:当你找不到有输入行为的页面时,可以尝试找一些带有某些参数的特殊的URL,如HTTP://DOMAIN/INDEX.ASP?ID=10 ?其次,在URL参数或表单中加入某些特殊的SQL语句或SQL片断,如在登录页面的URL中输入HTTP://DOMAIN /INDEX.ASP?USERNAME=HI' OR 1=1--

web安全测试要点总结解析

一、Web 应用安全威胁分为如下六类: (2) 二、常见针对Web 应用攻击的十大手段 (2) 三、Rational AppScan功能简介 (3) 四、Web安全体系测试 (4) 五、web安全测试的checklist (5) 六、跨站点脚本攻击测试要点 (7) 七、Cookie: (10) 八、跨站点攻击: (12) 九、DOS攻击: (13) 十、暴力破解 (14) 十一、 sql注入 (15)

一、Web 应用安全威胁分为如下六类: Authentication(验证) 用来确认某用户、服务或是应用身份的攻击手段。 Authorization(授权) 用来决定是否某用户、服务或是应用具有执行请求动作必要权限的攻击手段。 Client-Side Attacks(客户侧攻击) 用来扰乱或是探测Web 站点用户的攻击手段。 Command Execution(命令执行) 在Web 站点上执行远程命令的攻击手段。 Information Disclosure(信息暴露) 用来获取Web 站点具体系统信息的攻击手段。 Logical Attacks(逻辑性攻击) 用来扰乱或是探测Web 应用逻辑流程的攻击手段 二、常见针对Web 应用攻击的十大手段 应用威胁负面影响后果跨网站脚本攻击标识盗窃,敏感数据丢失…黑客可以模拟合法用户,控 制其帐户。 注入攻击通过构造查询对数据库、LDAP 和其他系统进行非法查询。黑客可以访问后端数据库信息,修改、盗窃。 恶意文件执行在服务器上执行Shell 命令 Execute,获取控制权。被修改的站点将所有交易传送给黑客 不安全对象引用黑客访问敏感文件和资源Web 应用返回敏感文件内 容 伪造跨站点请求黑客调用Blind 动作,模拟合法 用户黑客发起Blind 请求,要求进行转帐

常见的web安全性测试点

常见的web安全性测试重点 1.XSS(CrossSite Script)跨站脚本攻击 XSS(CrossSite Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到恶意用户的特殊目的。 测试方法: 在数据输入界面,添加记录输入:,添加成功如果弹出对话框,表明此处存在一个XSS 漏洞。 或把url请求中参数改为,如果页面弹出对话框,表明此处存在一个XSS 漏洞 修改建议: 过滤掉用户输入中的危险字符。对输入数据进行客户端和程序级的校验(如通过正则表达式等)。 Eg:对用户输入的地方和变量有没有做长度和对”<”,”>”,”;”,”’”等字符是否做过滤 2.CSRF与跨站脚本(XSS) CSRF与跨站脚本(XSS),是指请求迫使某个登录的浏览器向易受攻击的Web 应用发送一个请求,然后以受害者的名义,为入侵者的利益进行所选择的行动。 测试方法: 同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功 使用工具发送请求,在http请求头中不加入referer字段,检验返回消息的应答,应该重新定位到错误界面或者登陆界面。 修改建议: 在不同的会话中两次发送同一请求并且收到相同的响应。这显示没有任何参数是动态的(会话标识仅在cookie 中发送),因此应用程序易受到此问题攻击。因此解决的方法为 1.Cookie Hashing(所有表单都包含同一个伪随机值): 2. 验证码 3.One‐Time Tokens(不同的表单包含一个不同的伪随机值)客户端保护措施:应用防止 CSRF攻击的工具或插件。 3.注入测试 SQL注入是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 测试方法:

网站安全性测试

网站安全测评 一.Web应用系统的安全性测试区域主要有: (1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。 (2)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。 (3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。 (4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。 (5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。 二.一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密。参数操作、异常管理、审核和日志记录等几个方面入手。 1.安全体系测试 1) 部署与基础结构 a. 网络是否提供了安全的通信 b. 部署拓扑结构是否包括内部的防火墙 c. 部署拓扑结构中是否包括远程应用程序服务器 d.基础结构安全性需求的限制是什么 e.目标环境支持怎样的信任级别 2) 输入验证

a. 如何验证输入 b.是否清楚入口点 c.是否清楚信任边界 d. 是否验证Web页输入 e.是否对传递到组件或Web服务的参数进行验证 f.是否验证从数据库中检索的数据 g.是否将方法集中起来 h.是否依赖客户端的验证 i.应用程序是否易受SQL注入攻击 j. 应用程序是否易受XSS攻击 k.如何处理输入 3)身份验证 a. 是否区分公共访问和受限访问 b.是否明确服务帐户要求 c.如何验证调用者身份 d. 如何验证数据库的身份 e.是否强制试用帐户管理措施 4)授权 a.如何向最终用户授权 b.如何在数据库中授权应用程序 c.如何将访问限定于系统级资源 5)配置管理 a.是否支持远程管理 b.是否保证配置存储的安全 c.是否隔离管理员特权 6)敏感数据 a.是否存储机密信息 b.如何存储敏感数据 c.是否在网络中传递敏感数据 d.是否记录敏感数据

Web应用安全测试规范

Web应用安全测试规范 Web应用安全测试规范V 1、2全文结束》》年7月5日发布全文结束》》年7月5日实施版权所有侵权必究 All rights reserved 修订声明Revision declaration 本规范拟制与解释部门: 安全解决方案部电信网络与业务安全实验室、软件公司安全TMG、软件公司测试业务管理部本规范的相关系列规范或文件: Web应用安全开发规范相关国际规范或文件一致性: OWASP Testing Guide v3 信息安全技术信息安全风险评估指南Information technology Security techniques Management of information and communications technology securityISO13335 替代或作废的其它规范或文件:无相关规范或文件的相互关系: 本规范以Web应用安全开发规范为基础、结合Web应用的特点而制定。 版本号主要起草部门专家主要评审部门专家修订情况 V 1、1 V 1、2 增加 Web Service、上传、下载、控制台等方面的测试规范,更正V 1、1 一些描述不准确的测试项 目录Table of Contents1 概述、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、7 1、 1 背景简介、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、7 1、 2 适用读者、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

Web安全测试规范V1.3

安全测试工作规范 深圳市xx有限公司 二〇一四年三月

修订历史记录 A - 增加M - 修订D - 删除

目录 1 概述 (5) 1.1 背景简介 (5) 1.2 适用读者 (5) 1.3 适用范围 (5) 1.4 安全测试在项目整体流程中所处的位置 (6) 1.5 安全测试在安全风险评估的关系说明 (6) 1.6 注意事项 (6) 1.7 测试用例级别说明 (7) 2 Web安全测试方法 (8) 2.1 安全功能验证 (8) 2.2 漏洞扫描 (8) 2.3 模拟攻击实验 (8) 2.4 侦听技术 (8) 3 Appscan工具介绍 (9) 3.1 AppScan工作原理 (9) 3.2 AppScan扫描阶段 (10) 3.3 AppScan工具使用 (11) 3.4 AppScan工具测试覆盖项说明...................... 错误!未定义书签。 4 测试用例和规范标准 (19) 4.1 输入数据测试 (20) 4.1.1 SQL注入测试 (20) 4.1.2 命令执行测试 (25) 4.2 跨站脚本攻击测试 (26) 4.2.1 GET方式跨站脚本测试 (28) 4.2.2 POST方式跨站脚本测试 (29) 4.2.3 跨站脚本工具实例解析 (30) 4.3 权限管理测试 (32)

4.3.1 横向测试 (32) 4.3.2 纵向测试 (33) 4.4 服务器信息收集 (38) 4.4.1 运行账号权限测试 (38) 4.4.2 Web服务器端口扫描 (38) 4.5 文件、目录测试 (39) 4.5.1 工具方式的敏感接口遍历 (39) 4.5.2 目录列表测试 (41) 4.5.3 文件归档测试 (43) 4.6 认证测试 (44) 4.6.1 验证码测试 (44) 4.6.2 认证错误提示 (45) 4.6.3 锁定策略测试 (46) 4.6.4 认证绕过测试 (47) 4.6.5 修复密码测试 (47) 4.6.6 不安全的数据传输 (48) 4.6.7 强口令策略测试 (49) 4.7 会话管理测试 (51) 4.7.1 身份信息维护方式测试 (51) 4.7.2 Cookie存储方式测试 (51) 4.7.3 用户注销登陆的方式测试 (52) 4.7.4 注销时会话信息是否清除测试 (53) 4.7.5 会话超时时间测试 (54) 4.7.6 会话定置测试 (54) 4.8 文件上传下载测试 (55) 4.8.1 文件上传测试 (55) 4.8.2 文件下载测试 (56) 4.9 信息泄漏测试 (57) 4.9.1 连接数据库的账号密码加密测试 (57) 4.9.2 客户端源代码敏感信息测试 (58)

web安全测试

web安全测试---AppScan扫描工具 2012-05-27 22:36 by 虫师, 48076 阅读, 4 评论, 收藏, 编辑 安全测试应该是测试中非常重要的一部分,但他常常最容易被忽视掉。 尽管国内经常出现各种安全事件,但没有真正的引起人们的注意。不管是开发还是测试都不太关注产品的安全。当然,这也不能怪我们苦B的“民工兄弟”。因为公司的所给我们的时间与精力只要求我们对产品的功能的实现以及保证功能的正常运行。一方面出于侥幸心理。谁没事会攻击我? 关于安全测试方面的资料也很少,很多人所知道的就是一本书,一个工具。 一本书值《web安全测试》,这应该是安全测试领域维数不多又被大家熟知的安全测试书,我曾看过前面几个章节,唉,鄙视一下自己,做事总喜欢虎头蛇尾。写得非常好,介绍了许多安全方面的工具和知识。我觉得就算你不去做专业的安全开发\测试人员。起码可以开阔你的视野,使你在做开发或测试时能够考虑到产品安全方面的设计。防患于未然总是好的,如果你想成为一个优秀的人。 一个工具,其实本文也只是想介绍一下,这个工具----AappScan,IBM的这个web安全扫描工具被许多人熟知,相关资料也很多,因为我也摸了摸它的皮毛,所以也来人说两句,呵呵!说起sappScan,对它也颇有些感情,因为,上一份工作的时候,我摸过于测试相关的许多工具,AappScan是其它一个,当时就觉得这工具这么强大,而且还这么傻瓜!!^ _^! 于是,后面在面试的简历上写了这个工具,应聘现在的这家公司,几轮面试下来都问 到过这个工具,因为现在这家公司一直在使用这个工具做安全方面的扫描。我想能来这家公司和我熟悉AappScan应该有一点点的关系吧!呵呵 AappScan下载与安装 IBM官方下载;https://www.360docs.net/doc/cd16860121.html, ... 2-AppScan_Setup.exe 本连接为7.8 简体中文版本的 破解补丁;https://www.360docs.net/doc/cd16860121.html,/down/index/4760606A4753 破解补丁中有相应的注册机与破解步骤,生成注册码做一下替换就OK了,这里不细说。

web安全性测试sql注入高级篇

看完入门篇和进阶篇后,稍加练习,破解一般的网站是没问题了。但如果碰到表名列名猜不到,或程序作者过滤了一些特殊字符,怎么提高注入的成功率?怎么样提高猜解效率?请大家接着往下看高级篇。 第一节、利用系统表注入SQLServer数据库 SQLServer是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了很大的方便,但另一方面,也为注入者提供了一个跳板,我们先来看看几个具体的例子: ①;exec master..xp_cmdshell “net user name password /add”-- 分号;在SQLServer中表示隔开前后两句语句,--表示后面的语句为注释,所以,这句语句在SQLServer中将被分成两句执行,先是Select出ID=1的记录,然后执行存储过程xp_cmdshell,这个存储过程用于调用系统命令,于是,用net命令新建了用户名为name、密码为password的windows的帐号,接着: ②;exec master..xp_cmdshell “net localgroup name administrators /add”-- 将新建的帐号name加入管理员组,不用两分钟,你已经拿到了系统最高权限!当然,这种方法只适用于用sa连接数据库的情况,否则,是没有权限调用xp_cmdshell的。 ③;;and db_name()>0 前面有个类似的例子and user>0,作用是获取连接用户名,db_name()是另一个系统变量,返回的是连接的数据库名。 ④;backup database 数据库名to disk=’c:\inetpub\wwwroot\1.db’;-- 这是相当狠的一招,从③拿到的数据库名,加上某些IIS出错暴露出的绝对路径,将数据库备份到Web目录下面,再用HTTP把整个数据库就完完整整的下载回来,所有的管理员及用户密码都一览无遗!在不知道绝对路径的时候,还可以备份到网络地址的方法(如\\,但成功率不高。

相关文档
最新文档