文档库 最新最全的文档下载
当前位置:文档库 › 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应用发送一个请求,然后以受害者的名义,为入侵者的利益进行所选择的行动。

测试方法:

同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功

使用工具发送请求,在http请求头中不加入referer字段,检验返回消息的应答,应

该重新定位到错误界面或者登陆界面。

修改建议:

在不同的会话中两次发送同一请求并且收到相同的响应。这显示没有任何参数是动态的

(会话标识仅在cookie 中发送),因此应用程序易受到此问题攻击。因此解决的方法为

1.Cookie Hashing(所有表单都包含同一个伪随机值):

2. 验证码

3.One‐Time Tokens(不同的表单包含一个不同的伪随机值)客户端保护措施:应用防止

CSRF攻击的工具或插件。

3.注入测试

SQL注入是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符

串,最终达到欺骗服务器执行恶意的SQL命令。

测试方法:

在需要进行查询的页面,输入正确查询条件and 1=1等简单sql语句,查看应答结果,

如与输入正确查询条件返回结果一致,表明应用程序对用户输入未进行过滤,可以初步判断

此处存在SQL注入漏洞

修改建议:

对用户的输入进行校验,可以通过正则表达式,或限制长度;对以下关键字进行转换等;

itename|netuser|xp_cmdshell|or|+|,|like'|and|exec|execute|insert|create|drop|table|from|grant|group_concat|column_name|information_sche

不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取;

不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接;

应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。

4.登录认证测试

4.1暴力破解

暴力破解是目前最直接有效的攻击方式,特别对于金融业务来说,很多情况下口令都为6位纯数字,很容易被攻击。本测试项在于检查认证系统对暴力破解的防护性。

测试方法:

启动抓包工具,同时打开浏览器输入用户登录页面,输入用户名、密码以及验证码,进行登录,如果在抓包中存在明文的用户名和密码,说明存在弱点。

修改建议:

将请求方式从HTTP方式修改为HTTPS方式或者对输入的用户名和密码进行加密,在服务端对密码进行验证

4.2代码注释

开发版本的Web程序所带有的注释在发布版本中没有被去掉,而导致一些敏感信息的泄漏。我们要查看客户端能看到的页面源代码并发现此类安全隐患。

测试方法:

打开登陆页面(或者待测试页面),点击浏览器邮件,查看源代码,检查源代码注释部分是否有敏感信息泄露,敏感信息包括以下内容:字段文字描述、内网IP 地址、SQL 语句以及物理路径等等。

修改建议:

请勿在HTML 注释中遗留任何重要信息(如文件名或文件路径)。

从生产站点注释中除去以前(或未来)站点链接的跟踪信息。

避免在HTML 注释中放置敏感信息。

确保HTML 注释不包括源代码片段。

4.3 用户名破解

为了进行暴力破解,攻击者需要知道已存在的用户名,再对该用户名进行攻击。

测试方法:

在登录界面输入不存在的用户名和任意的口令,如果提示用户名不存在,则说明存在漏洞;使用正确的用户名和错误的口令进行登录,如果提示口令或密码错误,则说明存在漏洞。

修改建议:

服务器对所有的登陆错误原因进行统一的应答,不会提示准确的错误提示信息。

4.4

在缺少锁定策略和验证码设计有问题的情况下,攻击者可以通过枚举的方式来进行暴力猜解。

测试方法:

在登录页面,输入正确的用户名、错误的口令以及正确的验证码,提交表单,重复10 次,如果系统没有返回类似账号锁定的信息,则说明存在漏洞。

修改建议:

在用户进行错误登录次数达到系统配置后,需要对该账号或者该IP进行临时锁定,到达解锁条件后再进行解锁。

4.5

查看是否有验证码机制,以及验证码机制是否完善,避免使用自动化工具重复登录和进行业务操作。

测试方法:

打开登陆页面查看是否存在验证码,如果不存在说明存在漏洞。

输入正确的用户名和口令以及错误的验证码,如果只是提示验证码错误,则说明存在漏洞。

选择验证码,点击右键,验证码是图片形式且在一张图片中,如果不是,则说明存在漏洞。

观察验证码图片中背景是否存在无规律的点或线条,如果背景为纯色(例如只有白色)说明存在漏洞。

修改建议:

将验证码生成放在在一张进行了混淆处理的图片上。

4.6

测试方法:

进入系统的口令修改界面,查看是否必须输入旧口令,如果不需要则存在漏洞。

修改建议:

用户修改密码时必须提供旧密码,且新密码不能与旧密码相同,密码要有一定复杂度,参见口令规则建议。

4.7 默认账户名称设置

一般系统均设有默认登录用户,以及超级管理员账号,如登录账号过于简单将易被破解,造成超级权限泄露。

修改建议:

上线系统清除超级管理员权限用户,或增加超级管理员登录名复杂度,不要设置成易猜测的admin、superadmin等名称。

4.8 错误的页面信息

404、500等错误或警告消息,可能会泄露敏感信息。

修改建议:

捕获异常跳转至统一错误页面,避免对外泄漏详细错误信息。

5.会话管理测试未更新

5.1会话标识测试

查看登录成功后会话标识是否变更。如果未变更,那么攻击者就可以通过一些手段(如构造URL)为受害着确定一个会话标识,当受害者登录成功后,攻击者也可以利用这个会话标识冒充受害者访问系统。

测试方法:

启动抓包工具或浏览器自带开发者模式打开登录页面,输入正确的用户名、口令以及验证码,进行登录,登录后,进行任意一项业务操作。如果登录的SessionId和进行业务的SessionId没有变化,则说明存在漏洞。

修改建议:

对每次请求都从上次请求获得令牌,服务端对每次交互都进行验证

查看是否存在浏览器窗口闲置超时后需重新登录的机制

5.2会话超时测试

测试方法:

打开登录界面,输入正确的用户名和口令,进行登录,进行一项业务操作,将浏览器空闲超过30分钟,在进行其他业务操作,如果能够进行其他业务操作,则说明存在漏洞。

修改建议:

需要在后台进行配置Session的超时时间。

5.3会话清除测试

用户注销后会话信息需要清除,否则会导致用户在点击注销按钮之后还能继续访问注销之前才能访问的页面。

测试方法:

进入登录页面,输入正确的用户名和密码,登录成功后,进行一些业务操作,点击注销按钮,在浏览器输入地址,输入上面进行业务操作的地址,如果能够正常返回业务页面,则说明存在漏洞。

修改建议:

在用户注销后,必须将用户的Session信息以及缓存信息全部清空。

6其他

6.1文件目录测试

目录列表能够造成信息泄漏,而且对于攻击者而言是非常容易进行的。所以在测试过程中,要注意目录列表漏洞。

测试方法:

通过浏览器访问web 服务器上的所有目录,检查是否返回目录结构,如果显示的是目录结构,则可能存在安全问题;

或使用DirBuster软件进行测试;

修改建议:

1.针对每个Directory 域都使用Allow 、Deny 等指令设置,严格设定WEB服务器的目录访问权限;

2.删除Options 指令下的Indexes 设置项;

6.2文件上传漏洞

文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过Web 访问

的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。

修改建议:

严格限制和校验上传的文件类型、大小等,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击。

6.3http请求方法测试

有些Web服务器默认情况下开放了一些不必要的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY),这样就增加了受攻击面。

测试方法:

使用SoapUI等工具,发送除get、post以外的方法请求,如接收应答为200ok,代表启用了不必要的方法。

修改建议:

在tomcat web.xml中增加如下内容:

nt>

e-collection>

n>/*

od>PUT

od>DELETE

od>HEAD

od>OPTIONS

od>TRACE

e-collection>

nt>

aint>

aint>

>BASIC

6.4 服务器安全策略

1.服务器用户权限

运行Web服务器的操作系统账号权限越高,那么Web遭到攻击产生的危害就越大。

部署到生产环境运行时是不能用root等最高权限的,一切都给予以最小权限。

2.关闭无关端口

网络上被攻陷的大多数主机,是黑客用扫描工具大范围进行扫描而被瞄准上的。所以,为了避免被扫描到,除了必要的端口,例如Web、等,其他的都应关闭。

如:关闭icmp 端口,并设置规则,丢弃icmp 包。这样他人无法Ping到服务器,服务器安全得到提升。

修改方法:丢弃icmp 包可在iptables 中,加入一条语句:-A INPUT -p icmp -j DROP

3.更改默认端口

如:默认的SSH 端口是22。建议改成10000 以上。这样别人扫描到端口的机率也大大下降。

举例修改方法:

# 编辑/etc/ssh/ssh_configvi /etc/ssh/ssh_config# 在Host * 下,加入新的Port 值。以18439 为例(下同):Port 22 Port 18439

# 编辑/etc/ssh/sshd_configvi /etc/ssh/sshd_config#加入新的Port 值Port 22Port 18439# 保存后,重启SSH 服务:service sshd restart

测试新端口连接正常后,删除Port 22 的配置。同时从iptables 中,删除22端口,添加新配置的18439,并重启iptables。

4.限制IP登录

如能以固定IP 方式连接服务器,那么,可以设置只允许某个特定的IP 登录服务器。设置如下:

# 编辑/etc/hosts.allowvi /etc/hosts.allow# 例如只允许123.45.67.89 登录sshd:123.45.67.89

5.使用证书登录SSH

相对于使用密码登录来说,使用证书更为安全,具体方法可参见网络资料。

6.5 口令规则建议

规则1:口令长度的取值范围为:0‐个字符;口令的最短长度和最长长度可配置;口令的最短长度建议默认为6个字符。

规则2:口令中至少需要包括一个大写字母(A‐Z)、一个小写字母(a‐z)、一个数字字符(0‐9);口令是否包含特殊字符要求可以配置。

规则3:口令中允许同一字符连续出现的最大次数可配置,取值范围:0‐9,当取值

为 0 时,表示无限制,建议默认为 3。

规则4:口令须设置有效期,最短有效期的取值范围:0‐9999 分钟,当取值为0时,表示不做限制,建议默认:5 分钟;最长有效期的取值范围:0‐999 天,当取值为 0 时,表示口令永久有效,建议默认:90 天。

规则5:在口令到期前,当用户登录时系统须进行提示,提前提示的天数可配置,取值范围:1‐99 天,建议默认:7 天。

规则6:口令到达最长有效期后,用户再次登录成功但在进入系统前,系统强制更改口令,直至更改成功。

规则7:口令历史记录数可配置,取值范围为:0‐;建议默认:3个。—

规则8:管理员/操作员/最终用户修改自己的口令时,必须提供旧口令。

规则9:初始口令为系统提供的默认口令、或者是由管理员设定时,则在用户/操作员使用初始口令成功登录后,要强制用户/操作员更改初始口令,直至更改成功。

规则10:口令不能以明文的形式在界面上显示。

规则11:口令不能以明文的形式保存,须加密保存;口令与用户名关联加密,即加密前的数据不仅包括口令,还包括用户名。

规则12:只有当用户通过认证之后才可以修改口令。

规则13:修改口令的帐号只能从服务器端的会话信息中获取,而不能由客户端指定。

6.6 页面输入项校验建议

对输入参数进行处理,建议过滤出所有以下字符:

[1] |(竖线符号)

[2] & (& 符号)

[3];(分号)

[4] $(美元符号)

[5] %(百分比符号)

[6] @(at 符号)

[7] '(单引号)

[8] "(引号)

[9] \'(反斜杠转义单引号)

[10] \"(反斜杠转义引号)

[11] <>(尖括号)

[12] ()(括号)

[13] +(加号)

[14] CR(回车符,ASCII 0x0d)

[15] LF(换行,ASCII 0x0a)

[16] ,(逗号)

[17] \(反斜杠)

最受欢迎的十大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.wendangku.net/doc/a69009297.html, ... 2-AppScan_Setup.exe 本连接为7.8 简体中文版本的 破解补丁;https://www.wendangku.net/doc/a69009297.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把整个数据库就完完整整的下载回来,所有的管理员及用户密码都一览无遗!在不知道绝对路径的时候,还可以备份到网络地址的方法(如\\,但成功率不高。

相关文档