这篇文章让你彻底了解什么是安全测试?

news2024/11/15 19:38:51

目录

前言

安全测试的验证点:

主要归结为以下几点:(后期可以优化成一个安全测试的框架结构)

总结:


前言

web应用无处不在,存在于每个行业,现在的发展速度非常快速,且web应用在软件开发中所扮演的角色不断成长并且越来越重要,而现在,web应用遭受着格外多的安全攻击,其原因在于,

web应用无处不在,存在于每个行业,现在的发展速度非常快速,且web应用在软件开发中所扮演的角色不断成长并且越来越重要,而现在,web应用遭受着格外多的安全攻击,其原因在于,现在的网站以及在网站上运行的应用在某种意义上来说,它是所有公司或者组织的虚拟正门,所以比较容易遭受到攻击,存在安全隐患

今天主要给大家分享下有关安全测试的一些知识点以及注意事项,主要是以下几点:

 

安全测试的验证点:

一个系统的安全验证点,大致主要可以从以下来作为切入点,攻击点(每个点例举一两个):

1、上传功能:

上传中断,程序是否有判断上传是否成功

上传与服务器端语言(jsp/asp/php)一样扩展名的文件或exe等可执行文件后,确认在服务器端是否可直接运行

2、注册功能/登陆功能:

请求是否安全传输

重复注册/登陆

关键cookie是否httponly

会话固定:利用session的不变机制,获取他人认证和授权,然后冒充

3 、验证码功能:

短信轰炸

验证码一次性

4、 忘记密码:通过手机号/邮箱找回

程序设计不合理,导致可以绕过短信验证码,从而进行修改(使用burpsuite抓包,修改响应值true)

5 、敏感信息泄漏:数据库/日志/提示

6 、越权测试:

不登陆系统,直接输入下载文件的URL是否可以下载/直接输入登录后页面的URL是否可以访问

手动更改URL中的参数值能否访问没有权限访问的页面

不同用户之间session共享,可以非法操做对方的数据

7 、错误信息:

错误信息中释放含有sql语句,错误信息以及web服务器的绝对路径

8、 Session:

退出登陆后,点击后退按钮是否能访问之前的页面

 

主要归结为以下几点:(后期可以优化成一个安全测试的框架结构)

1、部署与基础结构,2、输入验证,3、身份验证,4、授权,5、配置管理,6、敏感数据,7、会话管理,8、加密,9、参数操作,10、异常管理,11、审核和日志安全,

2、结合实际情况(现有系统)发现的问题:

1、 日志/提示:在系统的初期,一般比较容易发现的问题就是在进行一些错误或者反向测试时,在页面的提示中会出现带有明显的数据库的表或者字段的打印,或者会出现一些敏感词,日志里面类似密码,卡号,身份证号没有相应的明密文转换,而这些敏感词/明密文不互转的存在,就会导致攻击者能够获取到,从而进行简单粗暴的攻击,轻易的攻击服务器或者数据库,这就会危害到整个系统!

2 、重复性:大部分的web网站都会有注册功能,而类似我们负责支付这块也都会有开户,就注册跟开户,基本上需求上都会有唯一性的校验,在前端就会进行拦截,但如果使用jmter进行参数以及参数值的新增,有可能新增成功,就会导致页面系统里面会出现相同数据,可能导致整个功能的出错

3 、次数限制:类似发单,登录或者短信,如果没有进行相应的限制,如短信,没有进行限制次数,攻击者就会通过短信轰炸,攻击系统,导致系统瘫痪,其他客户就会使用不了该系统

4、 越权测试:(基本上大部分系统都没有明确的写出越权方面的需求)一个web系统,一般地址栏都会有参数的带入,如:用户号,订单号或者是其他的一些参数,而在这个基础上一个系统都会有很多用户,或者很多等级,如:A大于B大于C,那我使用C用户进行登录,查看C用户所属的订单,在地址栏中会有订单号的参数带入,如果系统没有进行相应的限制,此时C用户就可以修改订单号从而可以看到B乃至A用户的数据,这就可能导致数据的泄露,再者,如果可以修改用户的用户号,没有做处理,这样就可以对所有数据进行操作,整个系统就乱了,影响很大

5 、SQL注入/XSS攻击:主要是输入框的校验/拦截以及是否转义,如果没有系统没有对输入的内容进行处理,那攻击者就可以输入一段SQL语句,或者一段代码,在后台进入到相应的功能,就会导致整个功能是错乱的,其他正常用户所提交的数据也查看操作不了,或者提交的代码是死循环(">

),就会关闭不掉,所以这点是非常重要的

基本上上述的五点都是在测试中,系统真实存在,发生的问题,还有其他问题就不一一例举了,其中越权跟SQL注入以及XSS攻击都是重中之重!

3、克服的小困难:

上面所述的都是需要人工进行手动参与,且人力操作时不会那么饱满全面,所以这是一个遇到的小问题,现在是有一个针对web系统进行漏洞扫描的工具:AWVS,它通过网络爬虫测试你的网站安全,检测流行安全漏洞,针对漏洞主要分为四个等级:高危、中危,低危以及优化,它会进行内外链接的安全性,文件是否存在以及传输是否安全,也包含SQL注入跟XSS攻击,输入地址,用户名密码后,进行扫描完成后会展示相应的数据:漏洞的数量,漏洞的描述,建议性的修复;扫描网站的时长,文件数据量,环境信息等,较为全面!

4、安全测试的思路跟框架:

主要是分为:①部署与基础结构,②输入验证,③/身份验证(权限验证),④敏感数据,⑤参数操作,⑥审核和日志安全;主要根据这六点来做到一个较为完整的思路

框架就是根据半手工,半自动来实现整个系统的验证

5、目前存在的问题/需要优化的:

现在针对安全是半手工,半自动化,但都不是专业级,所以还在摸索阶段,只能尽可能的去发现系统中存在的漏洞,且测试理论很难适用于安全领域;安全测试基础理论薄弱,当前测试方法缺少理论指导,也缺乏更多的技术产品工具 ,同时,安全测试需要对系统所采用的技术以及系统的架构等进行分析,这方面也是较为薄弱的环节!

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家评论区留言333或私信我免费领取哦。

 

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

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

相关文章

Jetpack Compose实现的一个优雅的 Toast 组件——简单易用~

Toast 是Android中常见的轻量级提示 本文将介绍如何使用Compose技术实现一个Toast组件 不是一个简单的toast 优雅-简洁-动画 才是我的风格 系统原生的Toast默认是在底部弹出,配合kotlin语音的特性,简单封装一下,使用方法非常简洁 inline …

CodeForces..好数列.[简单].[数学规律]

题目描述: 题目解读: 给定n,k 数组a是由0和1组成的,长度为n的数组,数组满足: a的前i个元素中至少有i/k个等于1; a的后i个元素中至少有i/k个等于1; 输入n,k 输出满足条件的数组的…

【JAVA】学生信息管理系统

目录 前言 一、环境搭建 二、功能实现 1.学生信息类的创建 2.学生信息的添加功能 3.学生信息的删除功能 4.学生信息的修改功能 5.学生信息的查看功能 三、主类的调用 1.界面的搭建 2.学生端和教师端 3.系统和功能的选择 总结 前言 JAVA实现的学生信息管理…

8.6 socket套接字及TCP的实现框架

socket套接字 目录 socket套接字 体系结构的两种形式 几种常见的网络编程接口 socket套接字 socket常用API介绍 socket套接字 三元组【IP地址,端口,协议】 地址族结构体 套接字类型 TCP通信的实现过程 体系结构的两种形式 网络的体系结构 (N…

保护云环境:云渗透测试和安全策略探究

随着云计算技术的快速发展,越来越多的组织将他们的数据和应用程序迁移到云端。然而,与此同时,云安全也面临着新的挑战。云渗透测试是一种评估云环境安全性的方法,它帮助组织发现并解决可能存在的漏洞和弱点。在本文中,…

docker - 部署java/python项目

目录 1、docker - 部署 java 项目 1. 创建 mysql 容器 2. 验证mysql,dbserver 连接 mysql ,服务器ip:3306 ,账户:root 密码:123456 3. 创建tomcat容器 4. 验证:http://ip:80 5. 开发项目war包,放到to…

【MOOC 作业】第2章 应用层

不是标答也不是参考答案 仅从个人理解出发去做题 1、(20分) 什么是持久性连接?什么是非持久性连接?持久性连接与非持久性连接区别如何? 持久性连接:每个请求/响应对都经同一个 TCP 连接发送。非持久性连接:每个请求/…

【1401. 圆和矩形是否有重叠】

来源:力扣(LeetCode) 描述: 给你一个以 (radius, xCenter, yCenter) 表示的圆和一个与坐标轴平行的矩形 (x1, y1, x2, y2) ,其中 (x1, y1) 是矩形左下角的坐标,而 (x2, y2) 是右上角的坐标。 如果圆和矩…

灰狼优化算法GWO,优化VMD,适应度函数为最小样本熵或最小包络熵(可自行选择,代码已集成好,很方便修改)包含MATLAB源代码

近期评论区有小伙伴私信需要灰狼优化算法GWO法化VMD的,所以打算再写一篇。 与之前的文章不同,这篇文章作者考虑到,大家有可能会以最小样本熵或最小包络熵为适应度函数的,在这个程序中将会直接把样本熵和包络熵集成,在…

了解Facebook的算法如何工作,提高您的帖子曝光率

Facebook是全球最大的社交媒体平台之一,每天有数亿用户在上面发布内容、互动交流。然而,由于用户数量巨大,每天产生的信息量也是相当惊人的。 为了让用户看到最有用和最相关的内容,Facebook采用了一种复杂的算法来过滤和排序用户…

迅为RK3568开发板Buildroot 系统设置状态栏

Weston 支持在 weston.ini 配置文件的 shell 段设置状态栏的背景色、位置,以及在 launcher 段设置快捷启动程序,修改文件系统的/etc/xdg/weston/weston.ini 文件,如下所示: [shell] # 颜色格式为 ARGB8888 panel-color0xff002244 # top|…

【新星计划回顾】第八篇学习-多表联表查询(完结)

🏆🏆时间过的真快,这是导师回顾新星计划学习的第八篇文章! 在学习过程中,学员们也咨询了很多问题,我把一些问题整理以文章形式总结分享下。 最近这段时间非常忙,虽然导师首次参与新星计划活动已…

[内核笔记1]内核文件结构与缓存——inode和对应描述

由来:公司内部外网记录日志的方式现在都是通过Nginx模块收到数据发送到系统消息队列,然后由另外一个进程来从消息队列读取然后写回磁盘这样的操作,尽量的减少Nginx的阻塞。 但是由于System/V消息队列在使用前需要规定消息长度,且…

从古欧洲的四大族群变迁梳理欧洲两千年历史脉络

我们看今天的欧洲,不难发现有几种完全不同的生活方式和行为习惯,以北欧三国再加英德与荷兰等国人为代表,他们信奉新教,勤劳,做事一丝不苟,颇为绅士,所以瑞典、英国、德国创造出了极其辉煌的工业…

canvas判断画笔是否铺满区域

判断画布形状是否填满和百分比 <body> <canvas id"myCanvas" width"300" height"150" style"border:1px solid #d3d3d3;"> </canvas> <script> var cdocument.getElementById("myCanvas"); var ctx…

智慧水务调度系统-智慧水务大数据可视化管理系统

平台概述 智慧水务调度系统平台&#xff08;智慧水务大数据可视化管理系统平台&#xff09;是以物联感知技术、大数据、智能控制、云计算、人工智能、数字孪生、AI算法、虚拟现实技术为核心&#xff0c;以监测仪表、通讯网络、数据库系统、数据中台、模型软件、前台展示、智慧…

数据库模型设计案例分享(GaussDB版)

目录 一、前言 二、应用系统数据库设计的基本流程 三、数据库模型设计 1、概念结构设计阶段 2、逻辑结构设计阶段 3、物理结构设计阶段 四、小结 一、前言 GaussDB数据库是一款企业级分布式数据库&#xff0c;支持集中式和分布式两种部署形态。它面向金融互联网交易和政…

面试官:说下简历中提到的优化……

作者&#xff1a;张力尹 先来点废话&#xff1a; 听说最近 Android 岗位变多了&#xff0c;你去面试了么&#xff1f; 面试官&#xff1a;你简历中提到了卡顿优化&#xff0c;做了哪些优化呢&#xff0c;展开说说。 你&#xff1a;哦&#xff0c;脑子飞速闪过网上的文章&#x…

Python模块pytest全局初始化和局部初始化前置后置操作

在 pytest 中&#xff0c;我们可以通过 conftest.py 文件来实现全局的前置和后置操作。 conftest.py 文件是一个特殊的 pytest 文件&#xff0c;它可以定义一些 fixture 和钩子函数&#xff0c;这些 fixture 和钩子函数可以在当前目录及其子目录下的所有测试文件中使用。 下面…

VR全景如何制作,可以用在哪些领域?

引言&#xff1a; 虚拟现实&#xff08;VR&#xff09;全景制作正在以惊人的速度改变着我们的感官体验。通过VR全景技术&#xff0c;我们可以身临其境地探索虚拟世界&#xff0c;感受前所未有的沉浸式体验。 一&#xff0e;如何进行VR全景制作 1.什么是VR全景制作&#xff1f…