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.xdnf.cn/news/142782.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Vue2源码解读

vue源码_哔哩哔哩_bilibili 1.Vue源码路径目录解读 Vue2源码的路径目录被设计得非常清晰,每个文件夹都承担着特定的职责和功能。以下是这些主要文件夹(compiler、core、platform、server、sfc、shared)的详细解读: 1. compiler …

变压器漏感对整流电路的影响

目录 1. 电压波形畸变 2. 输出电压波动 3. 电流纹波增加 4. 降低整流效率 5. 影响开关器件的性能 6. EMI(电磁干扰)增加 总结与应对措施 变压器漏感在整流电路中会产生一些影响,尤其在高频应用或电流变化较大的情况下,其影…

【Java】多线程:Thread类并行宇宙

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 在现代编程中,多线程是提高程序性能和响应能力的一种重要手段。Java 通过 Thread 类和 Runnable 接口提供了丰富的线程管理功能。本文是对 Thread 类基本用法的总结。 线程创建 线程可以…

GEE 案例:利用2001-2024年的MODIS数据长时序ndvi指数归一化后的结果分析

目录 简介 指数 数据 代码 结果 简介 利用2001-2024年的MODIS数据长时序ndvi指数归一化后的结果分析,并加载时序图。 指数 NDVI指数(Normalized Difference Vegetation Index)是用来评估地表植被覆盖度和健康程度的指数。它通过计算红…

PMP--一模--解题--121-130

文章目录 12.采购管理--投标人会议(又称承包商会议、供应商会议或投标前会议)是在卖方提交建议书之前,在买方和潜在卖方之间召开的会议,其目的是确保所有潜在投标人对采购要求都有清楚且一致的理解,并确保没有任何投标…

【数据结构取经之路】图解AVL树

目录 AVL树的前世今生 走进AVL AVL树的实现 1、AVL树节点的定义 2、AVL树的插入 3、完整代码 AVL树的性能 AVL树的前世今生 我们知道,普通的二叉搜索树在不少场景下可以提高我们的查找效率。例如下面这种情况,我们要找22。从根开始,…

搭建一个基于角色的权限验证框架

说明:基于角色的权限验证(Role-Based Access Control,RBAC)框架,是目前大多数服务端的框架。本文介绍如何快速搭建一个这样的框架,不用Shiro、Spring Security、Sa-Token这样的“大框架”实现。 RBAC 基于…

[Meachines] [Medium] Bart Server Monitor+Internal Chat+UA投毒+Winlogon用户密码泄露权限提升

信息收集 IP AddressOpening Ports10.10.10.81TCP:80 $ nmap -p- 10.10.10.81 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS httpd 10.0 | http-methods: |_ Potentially risky methods: TRACE |_http-server-header: Micros…

在沉浸式翻译中使用SiliconCloud API:提升翻译体验

沉浸式翻译,作为广受好评的双语对照网页翻译插件,结合了硅基流动(SiliconFlow)的大语言模型,为用户提供了快速、准确的跨语言翻译服务。自2023年上线以来,这款AI双语对照网页翻译扩展已帮助超过100万用户跨…

【C++11 —— 异常】

C —— 异常 C语言传统的处理错误的方式C异常概念异常的使用异常的抛出和捕获异常的重新抛出异常安全异常规范 自定义异常体系自定义异常体系的目的 C标准库的异常体系异常的优缺点 C语言传统的处理错误的方式 在C语言中,错误处理通常依赖于返回值和全局变量的方式…

【程序人生】《把时间当做朋友》李笑来思维导图

李笑来,男,朝鲜族,1972年7月12日生,吉林人,畅销书作家、区块链专家、天使投资人。 INBlockchain硬币资本创始人,投资了区块链项目。曾在央视采访中自曝拥有六位数比特币。 出版发行《把时间当做朋友》 [9]、…

LAMP环境搭建记录:基于VM的Ubuntu虚拟机

LAMP环境搭建记录:基于VM的Ubuntu虚拟机 我们从这样的角度出发: 一、简述LAMP环境 二、搭建LAMP环境 一、什么是LAMP环境 首先,该词是复合: ​ LAMP Linux Apache MySQL PHP 其中,逐项简述为: …

代码随想录算法训练营第57天|卡码网 53. 寻宝 prim算法精讲和kruskal算法精讲

1. prim算法精讲 题目链接:https://kamacoder.com/problempage.php?pid1053 文章链接:https://www.programmercarl.com/kamacoder/0053.寻宝-prim.html prim算法 是从节点的角度 采用贪心的策略 每次寻找距离 最小生成树最近的节点 并加入到最小生成树中…

MoCo和SimCLR【CV双雄】

文章目录 文章列表五、MoCo V15.1 文章摘要5.2 实验结果5.3 文章图示图 1: Momentum Contrast (MoCo) 训练方法概述图 2: 三种对比损失机制的比较 六、SimCLR V16.1 文章摘要6.2 文章实验6.3 文章图示图 1: ImageNet Top-1 Accuracy of Linear Classifiers图 2: 对比学习框架图…

MySQL日志binlog和redo log区别

MySQL binlog简介 MySQL中有两类日志:binlog和redo log,分别有不同的作用和解决问题。binlog是归档日志,在MySQL server层的日志,适用于所有存储引擎,redo log是innodb特有日志用于crash-safe时恢复数据。 binlog和r…

【C++】—— list 模拟实现

【C】—— list 模拟实现 1 list 基础结构2 默认构造3 迭代器3.1 整体框架3.2 成员函数3.3 begin() 与 end() 的实现3.4 operator-> 的实现3.5 const 迭代器3.5.1 const 迭代器为什么命名 const_iterator3.5.2 const 迭代器的实现3.5.3 合并两个迭代器 4 源码 1 list 基础结…

【C++前后缀分解】1653. 使字符串平衡的最少删除次数|1793

前后缀分解 C前后缀分解 LeetCode1653. 使字符串平衡的最少删除次数 给你一个字符串 s &#xff0c;它仅包含字符 ‘a’ 和 b’​​​​ 。 你可以删除 s 中任意数目的字符&#xff0c;使得 s 平衡 。当不存在下标对 (i,j) 满足 i < j &#xff0c;且 s[i] ‘b’ 的同时…

软考中项(第三版):项目质量管理总结

前言 系统集成项目管理工程师考试&#xff08;简称软考中项&#xff09;&#xff0c;其中案例分析也是很大一部分考试内容&#xff0c;目前正在学习中&#xff0c;现总结一些可能会考到的知识点供大家参考。 1.1、项目质量管理总线索 1、质量管理的发展史 &#xff08;1&…

创建一个Java项目并在项目中新建文件,最后实现程序简单的输出

目录 前言 一、建立项目及新建Java类 二、输入简单代码实现输出 前言 1.本文所讲的是java程序设计语言&#xff0c;其内容是如何在id中新建一个项目&#xff0c;并新建一个Java文件&#xff0c;在其内输入相关代码并对其输出&#xff1b; 2.Java文件的编写以收入到我的专栏…

JDBC实现对单表数据增、删、改、查

文章目录 API介绍获取 Statement 对象Statement的API介绍使用步骤案例代码 JDBC实现对单表数据查询ResultSet的原理ResultSet获取数据的API使用JDBC查询数据库中的数据的步骤案例代码 API介绍 获取 Statement 对象 在java.sql.Connection接口中有如下方法获取到Statement对象…