安全测试流程

步骤 安全测试流程 操作
1 列出测试范围:整理系统所有页面 1. 根据需求文档:将功能模板列举出来
2. 根据设计文档、接口文档、页面设计:将页面罗列出来
3.根据测试用例:补充第2点罗列的页面;
4. 使用枚举方法补充第2点罗列的页面
2 对每个页面制定安全测试策略,又称解析攻击面 根据如下公式逐一分析每个页面:
- 登录——用户名枚举、弱密码、暴力攻击、SQL注入、绕过客户端、XSS、验证机制、会话管理
- 多阶段登录——登录逻辑缺陷
- 会话状态——可推测的令牌
- 访问控制——用户伪装、权限提升
- 客户端确认——服务器是否采取验证(绕过)
- 数据库交互——SQL注入
- 文件上传与下载——存储式跨站脚本、验证(绕过)
- 显示用户提交的数据——跨站脚本攻击
- 错误消息——信息泄露
- 邮件交互——绕过客户端、社会工程攻击
3 设计测试用例 不同于功能测试,安全测试针对每一种安全漏洞类型都有详细的测试用例模板,所以只要根据测试系统对测试用例模板上筛选、修改就好。
4 执行测试用例 黑客攻破系统一定是按着系统的防护机制逐层攻破的,所以安全测试一般也按防护机制顺序进行测试:
1. 测试验证机制
2. 验证会话管理
3. 测试访问控制
测试基于输入的各种漏洞(SQL注入、XSS等)
4. 测试逻辑缺陷

枚举方法

  1. 爬虫方法(常用工具WebScarab\LWP\Burp Suite)
    1)纯自动化:以归类划分,把爬出来的新页面塞进去
    2)用户指定的抓取:用在特殊登录框,有已知的隐藏业务(后台)
  2. 猜解,发现隐藏内容
    1)暴力猜解,使用Burp Suite工具
    2)通过已发布内容推测,其他网页的命名方式
  3. 搜索引擎site:besttest.cn,找历史版本和隐藏比较深的文件
  4. 搜索技巧
    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 所有文章均为原创,如需转载请咨询我。技术类一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,欢迎大家访问出处以查看本文的最新版本。

如何对网站进行系统的安全测试?相关推荐

  1. php写网页6,基于ThinkPHP6+AdminLTE框架开发的响应式企业网站CMS系统PHP源码,ThinkPHP6开发的后台权限管理系统...

    源码介绍 基于最新ThinkPHP6+AdminLTE框架开发的响应式企业网站CMS系统PHP源码,基于最新版本的ThinkPHP 6.0.0RC3框架,后台前端框架采用AdminLTE.系统的核心理 ...

  2. 大型高并发高负载网站的系统架构

    转载请保留出处:俊麟 Michael's blog (http://www.toplee.com/blog/?p=71) Trackback Url : http://www.toplee.com/b ...

  3. 仿饿了么、百度、美团外卖,订餐网站外卖系统

    网上订餐不仅得到了用户们的亲睐,更是餐馆们创收的绝佳选择.餐饮企业普遍面临竞争压力加剧.人力成本.租金成本上涨等问题,而网上订餐平台正好解决这些餐饮企业的烦恼. 相关数据显示预计到2015年中国餐饮O ...

  4. 分级阅读网站/阅读网站.阅读系统的设计与实现

    分级阅读网站 摘要 本论文主要论述了如何使用java语言开发一个分级阅读网站 ,系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将论述阅读分享 ...

  5. 如何对web系统开展无障碍测试

    Accessibility test(无障碍测试)是一种测试方法,旨在评估软件.网站或其他数字产品的可访问性,以确保它们能够被身体残障或其他特殊需求的用户使用.这些测试通常包括使用辅助技术,如屏幕阅读 ...

  6. JAVA计算机毕业设计爱馨敬老院网站Mybatis+系统+数据库+调试部署

    JAVA计算机毕业设计爱馨敬老院网站Mybatis+系统+数据库+调试部署 JAVA计算机毕业设计爱馨敬老院网站Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  7. 基于Python Scrapy爬虫改进KNN算法的网站分类系统

    目 录 摘 要 I Abstract II 第 1 章 绪 论 1 1.1课题的研究背景和意义 1 1.1.1目前网站分类的研究情况 1 1.1.2现有解决方案的优点与不足 1 1.1.3基于特征熵值 ...

  8. 谏言工信部:网站备案系统miibeian.gov.cn实在难用!

    最近,因为工作需要,上了几次国家工业和信息化部的ICP/IP地址/域名信息备案管理系统http://www.miibeian.gov.cn/,实在是被它弄得很烦,忍不住要提几句批评意见,如果" ...

  9. 网站移动端APP渗透测试安全检测方案

    许多客户在网站,以及APP上线的同时,都会提前的对网站进行全面的渗透测试以及安全检测,提前检测出存在的网站漏洞,以免后期网站发展过程中出现重大的经济损失,前段时间有客户找到我们SINE安全公司做渗透测 ...

最新文章

  1. Django celery6.4
  2. 原 ng-include用法分析以及多标签页面的简单实现方式
  3. LaTeX配置及实用工具汇总
  4. django orm 常用查询筛选
  5. libSVM在matlab下的使用安装
  6. 微信基于时间序的海量存储扩展性与多机容灾能力提升
  7. A1075.PAT Judge
  8. oracle报错00838,oracle11g的内存分配不当,导致的错误ORA-01034,ORA-00838,ORA-27101
  9. 一种情感判别分析体系在汽车品牌舆情管理中的应用
  10. 使用Python进行汽车黑客攻击:泄露GPS和OBDIICAN总线数据
  11. 预充电电路工作原理_变频冰箱开关电源电路工作原理及检修。
  12. 张先生是什么意思_她为家付出几十年,只因拿六千礼金,遭儿媳怒怼:什么钱你都敢拿?...
  13. 怎么对接口做幂等性操作?
  14. Java——数据结构与算法
  15. python爬取链家租房信息_使用python爬取链家广州12108条租房信息,并做一些基础分析...
  16. lookup无序查找_查找引用之王——Lookup函数实用技巧解读!
  17. 从零搭建Spring Boot脚手架(2):增加通用的功能
  18. 一步控制台编译java_在控制台运行一个 Java 程序 Test . class ,使用的命令正确的是( )_学小易找答案...
  19. 电脑 桌面图标上多了一个白色的文档图标 怎么去掉?
  20. simulink模块名称显示设置_simulink模块名称继承

热门文章

  1. SVM解释:五、SMO算法
  2. 心理学之:越是成熟的人,越明白要在这4件事上保持“低调
  3. Sql中如何保留小数点两位
  4. MySQL之数据库引擎及修改引擎的方法
  5. 谷歌浏览器全屏后任务栏隐藏了
  6. java 如何创建一个数组_如何用Java创建一个数组?
  7. 运营商API接口用途简介
  8. 基于GOES-16图像的夜间海雾检测
  9. Windows 10 本地硬盘变成了可弹出磁盘
  10. 如何实现PHP上传视频的功能?(图文+视频)