如何对网站进行系统的安全测试?
安全测试流程
步骤 | 安全测试流程 | 操作 |
---|---|---|
1 | 列出测试范围:整理系统所有页面 |
1. 根据需求文档:将功能模板列举出来 2. 根据设计文档、接口文档、页面设计:将页面罗列出来 3.根据测试用例:补充第2点罗列的页面; 4. 使用枚举方法补充第2点罗列的页面 |
2 | 对每个页面制定安全测试策略,又称解析攻击面 |
根据如下公式逐一分析每个页面: - 登录——用户名枚举、弱密码、暴力攻击、SQL注入、绕过客户端、XSS、验证机制、会话管理 - 多阶段登录——登录逻辑缺陷 - 会话状态——可推测的令牌 - 访问控制——用户伪装、权限提升 - 客户端确认——服务器是否采取验证(绕过) - 数据库交互——SQL注入 - 文件上传与下载——存储式跨站脚本、验证(绕过) - 显示用户提交的数据——跨站脚本攻击 - 错误消息——信息泄露 - 邮件交互——绕过客户端、社会工程攻击 |
3 | 设计测试用例 | 不同于功能测试,安全测试针对每一种安全漏洞类型都有详细的测试用例模板,所以只要根据测试系统对测试用例模板上筛选、修改就好。 |
4 | 执行测试用例 |
黑客攻破系统一定是按着系统的防护机制逐层攻破的,所以安全测试一般也按防护机制顺序进行测试: 1. 测试验证机制 2. 验证会话管理 3. 测试访问控制 测试基于输入的各种漏洞(SQL注入、XSS等) 4. 测试逻辑缺陷 |
枚举方法
- 爬虫方法(常用工具WebScarab\LWP\Burp Suite)
1)纯自动化:以归类划分,把爬出来的新页面塞进去
2)用户指定的抓取:用在特殊登录框,有已知的隐藏业务(后台) - 猜解,发现隐藏内容
1)暴力猜解,使用Burp Suite工具
2)通过已发布内容推测,其他网页的命名方式 - 搜索引擎site:besttest.cn,找历史版本和隐藏比较深的文件
- 搜索技巧
1)“XX”
2)related:www.iteye.com
3)site(看类似网站在安全漏洞网站上有的漏洞,我们网站是否也有类似的漏洞。)
安全测试计划
根据安全测试流程第1、2步,我们将完成一份详细的安全测试计划。
示例
功能模块 | 页面 | URL | 攻击面 |
---|---|---|---|
登录模块 | 登录页 | …/login.htm | 用户名枚举、脆弱密码、暴力攻击、SQL注入、绕过客户端 |
忘记密码 | …/forgetpassword.htm | 会话管理、访问控制 | |
注册页 | …/register/htm | 会话管理、SQL注入 | |
激活账户 | …/activation.htm | 会话管理 | |
首页模块 | 基本账户信息概览 | …/basicaccount.htm | |
用户信息模块 | 保存用户名 | …/saveusername.htm | SQL注入 |
修改密码 | …/changepassword.htm | 会话劫持、收集密码 | |
… | … | … | … |
note:每个URL都是一个测试范围,所以URL一定要列全,写完整。攻击面刚开始可能列的不全,可以在测试过程中逐步补充完善。
总结
今天我们介绍了安全测试流程。可以看到第一步列测试范围的时候其实是工程浩大的,所以在测单一模块时,如果时间充足建议可以把安全测试纳入测试范围。提早发现bug,同时不容易漏测某个URL。
下一篇我将分享如何搭建一个自己的安全测试实验室。
本站 https://blog.csdn.net/wuliao1335 所有文章均为原创,如需转载请咨询我。技术类一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,欢迎大家访问出处以查看本文的最新版本。
如何对网站进行系统的安全测试?相关推荐
- php写网页6,基于ThinkPHP6+AdminLTE框架开发的响应式企业网站CMS系统PHP源码,ThinkPHP6开发的后台权限管理系统...
源码介绍 基于最新ThinkPHP6+AdminLTE框架开发的响应式企业网站CMS系统PHP源码,基于最新版本的ThinkPHP 6.0.0RC3框架,后台前端框架采用AdminLTE.系统的核心理 ...
- 大型高并发高负载网站的系统架构
转载请保留出处:俊麟 Michael's blog (http://www.toplee.com/blog/?p=71) Trackback Url : http://www.toplee.com/b ...
- 仿饿了么、百度、美团外卖,订餐网站外卖系统
网上订餐不仅得到了用户们的亲睐,更是餐馆们创收的绝佳选择.餐饮企业普遍面临竞争压力加剧.人力成本.租金成本上涨等问题,而网上订餐平台正好解决这些餐饮企业的烦恼. 相关数据显示预计到2015年中国餐饮O ...
- 分级阅读网站/阅读网站.阅读系统的设计与实现
分级阅读网站 摘要 本论文主要论述了如何使用java语言开发一个分级阅读网站 ,系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将论述阅读分享 ...
- 如何对web系统开展无障碍测试
Accessibility test(无障碍测试)是一种测试方法,旨在评估软件.网站或其他数字产品的可访问性,以确保它们能够被身体残障或其他特殊需求的用户使用.这些测试通常包括使用辅助技术,如屏幕阅读 ...
- JAVA计算机毕业设计爱馨敬老院网站Mybatis+系统+数据库+调试部署
JAVA计算机毕业设计爱馨敬老院网站Mybatis+系统+数据库+调试部署 JAVA计算机毕业设计爱馨敬老院网站Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...
- 基于Python Scrapy爬虫改进KNN算法的网站分类系统
目 录 摘 要 I Abstract II 第 1 章 绪 论 1 1.1课题的研究背景和意义 1 1.1.1目前网站分类的研究情况 1 1.1.2现有解决方案的优点与不足 1 1.1.3基于特征熵值 ...
- 谏言工信部:网站备案系统miibeian.gov.cn实在难用!
最近,因为工作需要,上了几次国家工业和信息化部的ICP/IP地址/域名信息备案管理系统http://www.miibeian.gov.cn/,实在是被它弄得很烦,忍不住要提几句批评意见,如果" ...
- 网站移动端APP渗透测试安全检测方案
许多客户在网站,以及APP上线的同时,都会提前的对网站进行全面的渗透测试以及安全检测,提前检测出存在的网站漏洞,以免后期网站发展过程中出现重大的经济损失,前段时间有客户找到我们SINE安全公司做渗透测 ...
最新文章
- Django celery6.4
- 原 ng-include用法分析以及多标签页面的简单实现方式
- LaTeX配置及实用工具汇总
- django orm 常用查询筛选
- libSVM在matlab下的使用安装
- 微信基于时间序的海量存储扩展性与多机容灾能力提升
- A1075.PAT Judge
- oracle报错00838,oracle11g的内存分配不当,导致的错误ORA-01034,ORA-00838,ORA-27101
- 一种情感判别分析体系在汽车品牌舆情管理中的应用
- 使用Python进行汽车黑客攻击:泄露GPS和OBDIICAN总线数据
- 预充电电路工作原理_变频冰箱开关电源电路工作原理及检修。
- 张先生是什么意思_她为家付出几十年,只因拿六千礼金,遭儿媳怒怼:什么钱你都敢拿?...
- 怎么对接口做幂等性操作?
- Java——数据结构与算法
- python爬取链家租房信息_使用python爬取链家广州12108条租房信息,并做一些基础分析...
- lookup无序查找_查找引用之王——Lookup函数实用技巧解读!
- 从零搭建Spring Boot脚手架(2):增加通用的功能
- 一步控制台编译java_在控制台运行一个 Java 程序 Test . class ,使用的命令正确的是( )_学小易找答案...
- 电脑 桌面图标上多了一个白色的文档图标 怎么去掉?
- simulink模块名称显示设置_simulink模块名称继承