测试人都在关注的安全测试?今天我们一起来揭开神秘面纱
liebian365 2024-11-21 17:36 24 浏览 0 评论
不过很多学生对安全测试其实没有太多的认知,甚至一些从事测试工作多年的”老测试“,说起安全测试依然一知半解。
今天我们就来揭开安全测试的神秘面纱,跟大家聊聊一些场景的安全漏洞场景。
什么是漏洞?
首先,安全测试是我为了发现产品的漏洞而防范各种攻击或者安全隐患的,所以我们先要知道什么是漏洞。
漏洞是指系统或应用因为管理不合格,或者技术应用不严谨而存在弱点或缺陷。这点弱点或者缺陷会造成如下后果:
- 系统被攻击;
- 资料被窃取;
- 数据被篡改;
- 沦为跳板机;
漏洞的类型介绍
所以我们在工作中具体可见的漏洞类型有哪些呢?以及他们的原理和防范措施又有哪些呢?我们一一来列举并介绍一下。
注入类(SQL 注入)
产生原理:
注入类漏洞最常见的就是 SQL 注入,它是通过将恶意的 SQL 查询或添加语句插入到应用的输入参数中,再在后台 SQL 服务器上解析执行进行的攻击。
检测方法:
- 检查 POST 请求体中的参数;
- 检查 GET 请求头 URL 中的参数;
- 检查 Cookie 值
- 检查 http 头部信息;
影响危害:
这种工具可以获取数据库中敏感信息,可以对数据库中信息进行非法操作或者篡改;同时还可以获取服务器权限,对服务器进行一些非法操作。
防御措施:
- 过滤用户输入的特殊字符;
- 敏感数据加密存储;
- 基于攻击特征的匹配过滤。系统会将攻击特征做成数据库,一旦匹配到这些攻击特征就会认定检测到 SQL 注入。这种方式可以有效地过滤大部分 SQL 注入攻击,但是大大增加了程序的复杂度,同时可能影响到业务的
- 正常查询;对用户输入的特殊字符进行转义。例如,常见的 SQL 注入语句中都含有“‘’”,通过转义将“‘’”转义为“/”,SQL 注入语句就会达不到攻击者预期的执行效果,从而实现对 SQL 注入进行防御;
- 数据类型进行严格定义,数据长度进行严格规定。比如查询数据库某条记录的 id,定义它为整型,如果用户传来的数据不满足条件,要对数据进行过滤。数据长度也应该做严格限制,可以防止较长的 SQL 注入语句;
- 严格限制网站访问数据库的权限;
- 其他防御措施。例如,避免网站显示 SQL 执行出错信息,防止攻击者使用基于错误的方式进行注入;每个数据层编码统一,防止过滤模型被绕过等。
权限类(越权)
产生原理:
由于服务器端对客户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定,导致修改相关参数就可以拥有了其他账户的增、删、查、改功能,从而导致越权漏洞。
检测方法:
可以通过定位鉴权参数,然后替换为其他账户鉴权参数的方法来发现越权漏洞。
影响危害:
越权漏洞的危害与影响主要是与对应业务的重要性相关,比如说某一页面服务器端响应中返回登录名、登录密码、手机号、身份证等敏感信息,如果存在平行越权,通过对用户 ID 的遍历,就可以查看所有用户的敏感信息,这种操作就很难被防火墙发现,因为这和正常的访问请求没有什么区别,也不会包含特殊字符,具有十足的隐秘性。
防御措施:
- 完善基础安全架构,完善用户权限体系。要知道哪些数据对应哪些用户,哪些数据不应该由哪些用户操作;
- 加强用户鉴权,服务端对请求的数据和当前用户身份做校验;
- 编写代码时,不要直接使用对象的实名或关键字;
- 对于可控参数进行严格的检查与过滤。
文件操作类(文件包含)
产生原理:
文件上传漏洞是指由于程序代码未对用户提交的文件进行严格的分析和检查,导致攻击者可以上传可执行的代码文件,从而获取 Web 应用的控制权限(Getshell),导致文件泄露和恶意代码注入。
检测方法:
- 查看配置文件是否开启 allow_url_include()和allow_url_fopen;
- 上传图片,getshell;
- 读取文件,读取 PHP 文件;
- 包含日志文件,获取 webshell。
影响危害:
会造成信息泄漏;或者网站被包含的木马控制。
防御措施:
- 文件上传的目录设置为不可执行。只要 Web 容器无法解析该目录下面的文件,即使攻击者上传了脚本文件,服务器本身也不会受到影响。
- 判断文件类型。在判断文件类型时,可以结合使用 MIME Type、后缀检查等方式。在文件类型检查中,强烈推荐白名单方式,黑名单的方式已经无数次被证明是不可靠的。
- 使用随机数改写文件名和文件路径。文件上传如果要执行代码,则需要用户能够访问到这个文件。在某些环境中,用户能上传,但不能访问。如果应用了随机数改写了文件名和路径,将极大地增加攻击的成本。
- 使用安全设备防御。文件上传攻击的本质就是将恶意文件或者脚本上传到服务器,专业的安全设备防御此类漏洞主要是通过对漏洞的上传利用行为和恶意文件的上传过程进行检测。
信息泄漏类
产生原理:
当系统配置存放不当,导致 Web 系统备份,数据库备份,用户数据文件,暴露在 Web 系统上,引发信息泄漏;
检测方法:
- 网站目录爬取;
- 第三方平台信息搜集;
影响危害:
- 账号、密码被非法使用;
- 网站文件或个人信息泄漏;
- 增大攻击威胁;
防御措施:
- 删除不必要的敏感文件;
- 敏感信息不要在网站源码里面进行注释;
- 敏感信息进行加密存储,不将敏感信息上传至互联网平台;
社工类(钓鱼)
产生原理:
攻击者利用恶意软件、病毒木马伪造为正常文件或者链接诱使用户点击从而导致用户等系统被攻击或者控制。
检测方法:
安装安全防护软件检测;
根据文件或链接人工判断。
影响危害:
- 通过钓鱼网站设下陷阱,大量收集用户个人隐私信息,贩卖个人信息或敲诈用户;
- 通过钓鱼网站收集、记录用户网上银行账号、密码,盗窃用户的网银资金;
- 假冒网上购物、在线支付网站、欺骗用户直接将钱打入攻击者账户;
- 假冒产品和广告宣传获取用户信任,骗取用户钱财;
- 通过社工结合钓鱼方式获取管理员账号、密码进而非法控制网站或服务器。
防御措施:
- 提高信息安全意识,不点击不明来源的网址链接或文件;
- 安装安全防护软件,定期进行安全检测;
- 妥善保管个人信息,勿将个人信息放置于公共互联网。
总结:
安全测试是一个要求知识面比较广的测试岗位,所以要做好安全测试,需要了解一些生活中常见的安全漏洞场景以及对应的一些原理和实现措施。知其然知其所以然,才能更好地学习和执行安全测试。
本文作者:柠檬班软件测试(lemonban)——专注于最新最前沿的软件测试技术,解决你的测试技术烦恼,对软件测试感兴趣的朋友赶快关注我们吧!
相关推荐
- 深度解密epoll 如何工作的?(epoll基本处理流程)
-
epoll...
- 大乐透第19082期:头奖开出7注1000万分落六地 奖池41亿元
-
2019年7月17日晚开奖的体彩超级大乐透第19082期开奖号码为:前区06、18、20、21、31,后区03、04。本期大乐透前区号码五区比为1:0:3:0:1,二区和四区号码没有给出。当期前区和值...
- 【开奖】4月27日周六:福彩、体彩(2021年4月27日体彩开奖结果)
-
4月27日开奖福彩3D第2019110期:61222选5第2019110期:0812202122排列3第19110期:303排列5第19110期:30305大乐透第19047期:0304...
- “红狒狒”落户哈尔滨铁路局(哈尔滨铁路红肠)
-
这几天,“红人”“红狒狒”在牡丹江机务段可引起了不小的轰动,众粉丝争相与其拍照留念,在该段人气爆棚!“红狒狒”到底何许人也?“红狒狒”,中文名:和谐3D型电力机车;绰号:红狒狒、番茄;制造商:大连机...
- 2D、3D、2.5D,做游戏还是搞噱头?玩家都晕了
-
前言游戏类型就像某种潮流,一种流行罢,另一种接棒成为主流。前两年的新作大多以“开放世界”为标签,在追求纯沙盒的过程中打造出一些细致的分类,比如说“类GTA沙盒”。诚然,纯碎的沙盒游戏并不多见,业内只有...
- 《战神4》PC版宣传片发布 GTX 1070即可60帧畅玩
-
在今年10月的时候索尼PlayStation官方正式宣布圣莫尼卡2018年的《战神4》将于2022年1月14日推出PC版本,官方在今天公布了一段PC版宣传片,并且公开了游戏的配置需求。下面让我们一起来...
- 男星深情好丈夫形象崩塌,半夜搂美女坐大腿,举止亲密
-
近日,于晓光被拍到深夜在酒吧玩,结束后与一名女子一起上车离开。上车后,女子直接坐在了他腿上,他也顺势搂着美女,美女满脸笑容地坐在他腿上玩手机离开。可能有人会好奇,于晓光是谁呢?于晓光是韩国艺人秋瓷炫的...
- d3d12dll丢失怎么修复?d3d12dll加载失败怎么解决?
-
d3d12.dll丢失怎么修复?d3d12.dll加载失败怎么解决?很多朋友想要运行游戏的时候都会遇到这个问题,这种情况该怎么办呢?今天系统之家小编给朋友们讲讲具体的解决方法,操作其实还蛮简单的。...
- 许多玩家反馈《生化4RE》PC一直崩溃 无法进入游戏
-
今日(3月24日),卡普空《生化危机4:重制版》正式发售,然而有部分PC玩家遇到了游戏崩溃等问题。很多玩家在贴吧发帖称游戏遇到了严重的崩溃问题,且经常反复,报错代码普遍为FatalD3Derror...
- 微软正式推出适用于WSL Linux的D3D12 GPU视频加速技术
-
今天,微软正式向WindowsSubsystemforLinux(WSL)用户发布了Direct3D12GPU视频加速支持。在微软通过WSL允许在Linux下使用Open...
- 《怪物猎人:崛起》曙光系统报错“Fatal d3d error”的解决办法
-
《怪物猎人:崛起》曙光系统报错“Fatald3derror”的解决办法不少小伙伴反应《怪物猎人:崛起》DLC曙光预载以后打不开游戏,出现了Fatald3derror类似的错误代码,这类问题的解...
- Mac+双屏,前端程序员的专业配置 - Loctek 乐歌 D3D 双屏电脑显示器支架
-
做FE也有一段日子了,电脑屏幕每天在设计稿、浏览器、IDE、即时通讯工具、Terminal、邮箱之间切换。虽然mac的工作区带来了很多灵活,但是依然略显不足。于是入手支架,把公司配的电脑和显示器发挥起...
- RPC 的原理和简单使用(rpc详解)
-
RPC的概念RPC,RemoteProcedureCall,翻译成中文就是远程过程调用,是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数。在调用的...
- 大厂开源的golang微服务rpc框架 — kitex
-
提前rpc估计所有的开发同学都知道,不知道的也无所谓,毕竟我也好几年没用了,今天带大家在复习一下。RPC(RemoteProcedureCall):远程过程调用,...
- 干货!一文掌握Protobuf所有语言所有用法,快收藏
-
说实话,Protobuf这个库,让人相见时难别亦难,东风无力百花残,每次等到要用它的时候,总感觉还没有完全掌握它的用法,而实际上等去百度或者谷歌的时候,教程都是多么的凌乱不堪。学会它,最直接关系到的,...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- wireshark怎么抓包 (75)
- qt sleep (64)
- cs1.6指令代码大全 (55)
- factory-method (60)
- sqlite3_bind_blob (52)
- hibernate update (63)
- c++ base64 (70)
- nc 命令 (52)
- wm_close (51)
- epollin (51)
- sqlca.sqlcode (57)
- lua ipairs (60)
- tv_usec (64)
- 命令行进入文件夹 (53)
- postgresql array (57)
- statfs函数 (57)
- .project文件 (54)
- lua require (56)
- for_each (67)
- c#工厂模式 (57)
- wxsqlite3 (66)
- dmesg -c (58)
- fopen参数 (53)
- tar -zxvf -c (55)
- 速递查询 (52)