当前位置: 首页 > article >正文

web安全测试入门

参考课程:

04-软件安全测试基础-网络协议基础-网络模型_哔哩哔哩_bilibili 


1.软件安全测试概述

安全测试:

        安全性测试指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程

        导致软件出现安全问题的主要原因或根源是软件的安全漏洞

安全漏洞:

        特指在硬件、软件、协议的在逻辑设计上或具体实现或系统安全策略上存在的缺陷或错误

        漏洞的产生主要是由于程序员不正确和不安全变成引起的        

        不法者可以通过漏洞获取系统额外权限并对系统植入木马、病毒、以窃取系统资料

        威胁到系统安全的错误才是漏洞

安全漏洞危害

        系统完整性:非法串改破坏数据的完整性

        系统可用性:破坏系统或者网络,导致服务不可用

        系统机密性:泄露个人或企业的隐私信息

        系统可靠性:造成系统不能正常提供有效服务

(web安全测试四要素:完整性、可用性、可靠性、可用性)

软件安全测试方法

        代码安全性测试:主要通过对源代码进行安全扫描,根据程序中数据流、控制流、语义等信息与其持有特有软件安全规则库进行匹配,从中找出代码潜在的安全漏洞

        渗透测试:主要使用自动化工具或人工的方法模拟黑客输入,对应用系统进行攻击性测试,从中找出运行时候所存在的安全漏洞

        程序数据扫描:数据扫描手段通常是进行内存测试,内存测试可以发现许多注入缓冲区溢出之类的漏洞,而这类漏洞使用除此之外的测试手段都难以发现

软件安全测试内容:

        功能验证对设计到安全的软件功能进行有效性验证,如管理模块、权限模块、加密系统、认证系统等

        漏洞扫描:安全漏洞扫描主要是借助于特定的漏洞扫描完成的,系统管理员能够发现系统存在的安全漏洞

        侦听技术:也称网络监听,可以获取网络上传输的信息,如果从获取的信息中提取到系统的隐私数据,就存在安全性问题

        模拟攻击:模拟攻击测试是一组特殊的极端的测试方法,以模拟攻击方式来验证软件系统的安全防护能力

软件安全测试的过程:

        基于安全需求,将系统可能面临的安全问题进行分类,画出威胁树,可以针对威胁树选择应对的方法和技术,是未需求分析

        1.基于威胁模型,指定计划

        以口令安全问题威胁树为例,计划就可基于口令安全可能遭受的各种攻击进行制定

        2.规划最小测试单位

        并不是模块整体都有安全问题,只需要关注日哦能够以出问题的最小范围即可

        3.对系统的可能漏洞进行分级

        对系统漏洞按照不同的优先级进行测试

        4.设计安全测试用例

        根据漏洞类型,精心准备数据,设计测试用例进行测试

        5.模拟攻击系统

        根据用例,模拟攻击系统,查看系统的状态

        6.总结执行结果,提出解决方案

        执行用例,得到结果,根据结果现象提出解决方案

安全测试范围:

        服务器本身以及网络环境安全

        web服务器应用的安全

        网站程序安全

        web服务器周边安全应用

0day和1day

        0day:又叫零时差攻击,是指被发现后立即被恶意利用的安全漏洞,通俗来讲,就是安全补丁与瑕疵曝光的同一日,相关的恶意程序就出现,这种攻击往往具有很大的突发性与破坏性

        0day:就是只有你知道的一个漏洞,1day就是刚刚公布在网络上的漏洞(没有超过一天),nday就是这个漏洞已经被公布很久了

        web安全测试的测试载体是网络协议,而日常生活中最常见的网络协议是http协议

2 网络协议基础

2.1 网络模型

 

 协议数据的网络传输:

        包括两部分:封装与拆解

        发送方从上到下,对要发送的数据进行层层封装

        发送方从下到上,对要接收的数据进行层层拆解

2.2传输层tcp和udp协议

 

 

         端口:用于判断一台电脑上某一个应用程序的标识 

2.3应用层ip协议

 

 2.4应用层http协议

 

 

 2.5 对称加密与非对称加密

 

2.6 摘要技术

 

 

2.7 数字签名技术

 

 

2.8 cookie和session

 

2.9 token 

 

 

 

3 BurpSuite

3.1 BurpSuite 的安装

步骤:

        1.安装jdk8和jdk11,并完成双配置

         2.下载BurpSuite:http://portswigger.net/burp  (需要放在无中文目录的路径下)

        3.安装BurpSuite,选择版本为2.0.11(jdk8即可)

        4.激活BurpSuite

注意:

        1.BurpSuite的安装需要JDK的环境,如果没有安装或者版本不对,则BurpSuite中的key生成不了。

        2.当BurpSuite不用的时候,最好把代理关闭,防止影响网页正常使用

过程可以参考以下链接 

BurpSuite安装&&jdk1.8和jdk14共存_burpsuite java1.8-CSDN博客

链接:https://pan.baidu.com/s/1hsZ4QI5scmwo9TGdwMlylA
提取码:p62x
 


http://www.kler.cn/a/309374.html

相关文章:

  • MySQL远程连接错误解决:Host is not allowed to connect to this MySQL server
  • git初始化和更新项目中的子模块
  • Chromium 中sqlite数据库操作演示c++
  • 16008.行为树(五)-自定义数据指针在黑板中的传递
  • Arrays.sort与Collections.sort:深入解析Java中的排序算法
  • TCP可靠连接的建立和释放,TCP报文段的格式,UDP简单介绍
  • 如何用安卓玩Java版Minecraft,安卓手机安装我的世界Java版游戏的教程
  • LabVIEW提高开发效率技巧----VI服务器和动态调用
  • 【Webpack--000】了解Webpack
  • 如何查看微信聊天记录?四种实用方法查询微信聊天记录,赶快码住!
  • 分析内存动态加载PE文件
  • 第十一章 【后端】商品分类管理微服务(11.3)——商品管理模块 yumi-etms-goods
  • NLP与文本生成:使用GPT模型构建自动写作系统
  • 建筑机器人通用操作系统设计方案
  • Js中call、apply和bind的区别
  • C语言 | Leetcode C语言题解之第412题Fizz Buzz
  • 鸿蒙开发(NEXT/API 12)【网络连接管理】 网络篇
  • 实现浏览器的下拉加载功能(类似知乎)
  • maven项目下使用Jacoco测试覆盖率
  • vue3使用panolens.js实现全景,带有上一个下一个,全屏功能
  • 风力发电厂智能化转型5G工业路由器物联网应用解决方案
  • 大数据-133 - ClickHouse 基础概述 全面了解
  • C#基础(12)递归函数
  • 测试工程师学历路径:从功能测试到测试开发
  • MUNIK谈ASPICE系列专题分享(六)企业为什么要做ASPICE?
  • 5.内容创作的未来:ChatGPT如何辅助写作(5/10)