【5.20】五、安全测试——概念与漏洞

news2024/9/21 3:20:20

目录

5.1 安全测试概述

5.1.1 什么是安全测试

5.1.2 安全测试的基本原则

5.2 常见的安全漏洞

5.2.1 SQL注入

5.2.2 XSS跨站脚本攻击

5.2.3 CSRF攻击


软件安全测试是软件测试的重要研究领域,它是保证软件能够安全使用的最主要手段,做好软件安全测试的必要条件有2个,一是充分了解软件安全漏洞,二是拥有高效的软件安全测试技术和测试工具

5.1 安全测试概述

5.1.1 什么是安全测试

安全测试是在IT软件产品的生命周期中,对产品进行检验以验证产品符合安全需求定义产品质量标准的过程。

 

(1)测试目标不同:普通测试以发现Bug为目标;安全测试以发现安全隐患为目标。

(2)假设条件不同:普通测试假设导致问题的数据是用户不小心造成的,接口一般只考虑用户界面;安全测试假设导致问题的数据是攻击者处心积虑构造的,需要考虑所有可能的攻击途径。

(3)思考域不同:普通测试以系统所具有的功能为思考域;安全测试的思考域不但包括系统的功能,还有系统的机制、外部环境、应用和数据自身安全风险与安全属性等。

(4)问题发现模式不同:普通测试以违反功能定义为判断依据;安全测试以违反权限与能力的约束为判断依据。

5.1.2 安全测试的基本原则

完全避免软件安全缺陷问题是不切实际的,但通过安全测试可以发现并修复软件大部分安全缺陷。

1. 培养正确的思维方式:只有跳出常规思维定式才能成功执行安全测试。

2. 尽早测试和经常测试:越早发现修复成本越低。

3. 选择正确的测试工具:模拟黑客行为就要求安全测试人员擅长使用各种工具,如漏洞扫描工具、模拟数据流行为的前后台相关工具、数据包抓取工具等。

4. 可能情况下使用源代码:黑盒的渗透测试和白盒的源代码扫描内外结合,可以使软件的安全性得到极大程度的提高。

5. 测试结果文档化:将测试行动和结果清晰准确地记录在文档中,产生一份测试报告。该报告最好包括漏洞类型、问题引起的安全威胁及严重程度、用于发现问题的测试技术、漏洞的修复、漏洞风险等。

5.2 常见的安全漏洞

5.2.1 SQL注入

SQL注入就是把SQL命令人为地输入URL、表格域或者其他动态生成的SQL查询语句的输入参数中,最终达到欺骗服务器执行恶意的SQL命令

由于SQL注入攻击的Web应用程序处于应用层,因此大多防火墙不会进行拦截。除了完善应用代码外,还可以在数据库服务器端进行防御,对数据库服务器进行权限设置,降低Web程序连接数据库的权限,撤销不必要的公共许可,使用强大的加密技术保护敏感数据,并对被读取走的敏感数据进行审查跟踪等。

5.2.2 XSS跨站脚本攻击

XSS(Cross Site Scripting)是Web应用系统最常见的安全漏洞之一,它主要源于Web应用程序对用户输入检查和过滤不足。攻击者可以利用XSS漏洞把恶意代码(HTML代码或JavaScript脚本)注入网站中,当有用户浏览该网站时,这些恶意代码就会被执行,从而达到攻击的目的。

5.2.3 CSRF攻击

CSRF(Cross-Site Request Forgery)为跨站请求伪造,它是一种针对Web应用程序的攻击方式,攻击者利用CSRF漏洞伪装成受信任用户的请求访问受攻击的网站。在CSRF攻击中,当用户访问一个信任网站时,在没有退出会话的情况下,攻击者诱使用户点击恶意网站,恶意网站会返回攻击代码,同时要求访问信任网站,这样用户就在不知情的情况下将恶意网站的代码发送到了信任网站。

 

XSS是盗取用户信息伪装成用户执行恶意活动,而CSRF则是通过用户向网站发起攻击。如果将XSS攻击过程比喻为小偷偷取了用户的身份证去办理非法业务,那CSRF攻击则是骗子“劫持”了用户,让用户自己去办理非法业务,以达到自己的目的。

CSRF漏洞产生的原因主要是对用户请求缺少更安全的验证机制。防范CSRF漏洞的主要思路就是加强后台对用户及用户请求的验证,而不能仅限于Cookie的识别。


WASC和OWASP:Web Application Security Consortium(Web应用程序安全组织)和 Open Web Application Security Project(开放式Web应用程序安全项目)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/547978.html

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

相关文章

pg事务:multixact

什么是multixact? 在对同一行加锁时,元组上关联的事务ID可能有多个,pg将多个事务ID组合起来用一个MultiXactID来管理。TransactionId和MultiXactID是多对一的关系 multixactID跟TransactionId一样,也是32位,同样有wra…

Seata AT 模式理论学习及部分源码解析 | Spring Cloud 52

理论部分来自Seata官网:http://seata.io/zh-cn/docs/dev/mode/at-mode.html 一、前提 基于支持本地 ACID 事务的关系型数据库。Java 应用,通过 JDBC 访问数据库。 二、整体机制 两阶段提交协议的演变: 一阶段:业务数据和回滚日…

【SpringCloud组件——Ribbon(负载均衡)】

一、Ribbon主要作用在哪一环节? 流程讲解: 案例依然采用Eureka章节提供的案例,orderService根据服务名称发起请求,请求传达至Ribbon,此时Ribbon从Eureka中心拉取userService服务列表,Ribbon根据负载均衡算法…

组合预测模型 | ARIMA-WOA-CNN-LSTM时间序列预测(Python)

组合预测模型 | ARIMA-WOA-CNN-LSTM时间序列预测(Python) 目录 组合预测模型 | ARIMA-WOA-CNN-LSTM时间序列预测(Python)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 ARIMA-WOA-CNN-LSTM是一种结合了传统时间序列模型和深…

ChatGPT应用场景巡航之广告文案

此文为ChatGPT应用场景巡航第二篇:广告文案。 写出成功的文案,需要专业的技术水准,如果加以辅助工具,那会更加如虎添翼,事半功倍,本文会给大家介绍一下广告文案的写作技巧和辅助工具的使用。 01 — 指导原…

8-《性能优化》

8-《性能优化》 1 启动优化1.1.冷启动耗时统计?1.2.TraceView和System Trace1.3.优雅获取方法耗时1.4.启动速度优化小技巧1.5.启动优化之异步初始化1.6.启动优化之异步初始化最优解—启动器1.7.延迟初始化1.8.其它方案1.9.启动优化之模拟面试 2 布局优化3 线程优化3…

基于Zynq的雷达10Gbps高速PCIE数据采集卡方案(一)总体设计

2.1 引言 本课题是来源于雷达辐射源识别项目,需要对雷达辐射源中频信号进行采集传输 和存储。本章基于项目需求,介绍采集卡的总体设计方案。采集卡设计包括硬件设计 和软件设计。首先对采集卡的性能和指标进行分析,接着提出硬件的总体设计…

OPCUA 聚合服务器和历史数据服务器

前言 开放自动化是一个热门话题,自动化XML(AutomationML),基于信息模型的通信协议(OPC UA)和工业4.0 管理壳(ASS) 可谓是开放自动化的三套件。三者相互交叉,相互引用&…

教你精通Java语法之第十五章、Lambda表达式

目录 一、背景 1.1Lambda表达式的语法 1.2函数式接口 二、Lambda表达式的基本使用 2.1语法精简 三、变量捕获 3.1匿名内部类 3.2匿名内部类的变量捕获 3.3Lambda的变量捕获 四、Lambda在集合当中的使用 4.1Collection接口 4.2 List接口 4.3Map接口 五、总结 一、背…

2023国赛tomcat题

环境: 10.10.120.128 安装 tomcaA 10.10.120.129 安装tomcatB 10.10.120.130 安装 nginx 配置dns: 正向解析 反向解析 Tomcat ssl配置 [root@localhost ~]# tar -zxvf jdk-11.0.8_linux-x64_bin.tar.gz [root@localhost ~]# mv jdk-11.0.8 /usr/local/ Vim /etc/profile …

如何在代码开发中便捷使用 ChatGPT 协助开发

在五一节前后,抽空测试了下网上推荐的开发环境和开发插件,在这里推荐给前后端代码开发的同胞们。 方法一:IDEA 安装 插件 bito 习惯使用 IDEA 开发代码的同胞,可以尝试直接在 IDEA 中安装插件 bito,注意操作过程中需要…

jarvisoj_fm

小白做题垃圾笔记,不建议阅读。 1.32位操作系统,有canary,和NX ,本来以为是绕过canary呢。 2.第12行,如果x4就执行/bin/sh ,第10行存在格式化字符串漏洞。 是格式化字符串漏洞,对任意地址内容更改。 3.确定…

实操Linux 部署单机版nacos

目录 Nacos部署环境要求JDK安装下载和构建Nocas控制面板,新建配置Nacos数据库配置 总结 Nacos部署环境要求 64bit OS: Linux/Unix/Mac/Windows 支持, Linux/Unix/Mac 推荐 64bit JDK 1.8 Maven 3.2.x JDK安装 1、准备好jdk1.8 链接:https://pan.baidu.…

【SpringCloud组件——Eureka】

前置准备: 分别提供订单系统(OrderService)和用户系统(UserService)。订单系统主要负责订单相关信息的处理,用户系统主要负责用户相关信息的处理。 一、微服务当中的提供者和消费者 1.1、概念 服务提供…

第二章 逻辑分类模型

目录 一、逻辑回归基本模型二、处理多维特征输入三、加载数据集四、多分类问题 一、逻辑回归基本模型 基本模型: y ^ σ ( x ∗ ω b ) \hat{y} \sigma (x * \omega b) y^​σ(x∗ωb),其中 σ ( ) \sigma() σ() 表示 sigmod 函数 σ ( x ) 1 1…

LMS,RGB,XYZ色彩空间转换

前言 首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R,G,B,而是波长分别为700nm,546.1nm,435.8nm的单色红光,单色绿光,单色蓝光。sRGB中的RGB中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB…

文法的FIRST集

求文法的FIRST集和FOLLOW集的步骤如下: 求FIRST集 如果符号是终结符,则FIRST集合为该终结符本身。如果符号是非终结符,则将该非终结符可以推导出的所有串的FIRST集合合并,得到该非终结符的FIRST集合。如果一个非终结符可以推导出…

Linux篇5

Shell常用命令 1. 磁盘管理类1.1 du:查看文件和目录占用的磁盘空间1.2 df:查看磁盘空间使用情况1.3 free:查看内存使用情况1.4 lsblk:查看设备挂载情况1.5 mount/umount:挂载/卸载1.6 fdisk:分区 2. 进程管…

双模齐下,提质增效:CODING 携手知微共创 BizDevOps 体系新篇章

为了提升工作和管理效率,工具建设是许多企业不得不面对的现实,然而在工具建设落地过程中,往往存在一系列的问题。如不同组织、部门之间互不相通,各自为政,工具流程与实际工作所需不符,导致工具建设的结果是…

(1分钟速览)g2o入门指南--笔记版

在slam后端中,优化的框架很多,有ceres,g2o,gtsam这些。要想真正掌握slam后端的优化内容,这些框架是必不可少的上手练习的内容。本文则介绍有关g2o的相关内容,作为一个入门指南,目标:…