• 0
  • 0
分享

       近年来应用安全越来越受到企业的重视,安全测试的需求也随之激增。那么上手安全测试该了解哪些基础知识点呢?在这里我对常见的安全测试点进行了梳理,希望通过此文能够帮助大家普及安全测试中最常见的知识点!更希望此文能够起到抛砖引玉的作用,激发大家不断探索安全测试领域的热情!

sql注入

       威胁解读:Sql注入就是通过利用一些查询语句的漏洞,将sql语句传递到服务器解析并执行的一种攻击手段。当不可信的数据作为命令或查询语句的一部分被发送给解释器的时候,会发生注入漏洞,包括SQL、NoSQL、OS以及LDAP注入等。攻击者发送的恶意数据可能会诱使解释器执行计划外的命令,或在没有适当授权的情况下访问数据。

XSS

       威胁解读:XSS跨站脚本攻击(Cross Site Scripting)是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。如果应用程序在未经适当验证或转义的情况下,能够在新网页中包含不受信任的数据,或是使用可以创建HTML或者JavaScript的浏览器API更新包含用户提供的数据的现有网页,就会出现XSS漏洞。XSS允许攻击者在受害者的浏览器中执行脚本,这些脚本可以劫持用户会话、破坏网站或将用户重定向到恶意网站中。

CSRF

       威胁解读:CSRF跨站点请求伪造(Cross Site Request Forgery),大家可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等等,但这一切你都是不知道的!

XXE

       威胁解读:简单来说,XXE(XML External Entity)就是XML外部实体注入。当允许引用外部实体时,通过构造恶意内容,就可能导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危害。

中断身份认证(关键值可预测)

       威胁解读:在某些关键的安全环境中使用可预测的随机数(比如,当这个值被作为csrf token或者重置密码的token等等)可能会导致漏洞,从而允许攻击者破坏密码、密钥或是会话令牌,或者利用其他的应用漏洞来暂时或永久地获取用户身份信息。

中断访问控制(越权)

       威胁解读:越权漏洞可以分为水平、垂直越权两种,程序在处理用户请求时未对用户的权限进行校验,使用户可访问、操作其他相同角色用户的数据,这种情况是水平越权;如果低权限用户可访问、操作高权限用户的数据,这种情况为垂直越权。

敏感数据泄露

       威胁解读:许多web应用程序和API不能正确的保护敏感数据,如金融、医疗保健和个人身份信息等。攻击者可能会窃取或篡改这些弱保护的数据,从而进行信用卡欺诈、身份盗窃或其他犯罪行为。在缺少额外保护(例如,在存放和传输过程中加密,且在与浏览器进行交换时需要特别谨慎)的情况下,敏感数据可能会受到损害。

安全配置错误

       威胁解读:安全配置错误是最常见的问题。这通常是由不安全的默认配置,不完整或ad hoc配置,开放云存储,错误配置的HTTP标头,以及包含敏感信息的详细错误信息造成的。所有的操作系统、框架、库、应用程序都需要进行安全配置外,还必须要及时进行系统更新和升级。

不安全的反序列化

       威胁解读:不安全的反序列化漏洞通常会导致远程代码执行问题。即使反序列化错误不会导致远程代码执行,也可以被用来执行攻击,包括重放攻击、注入攻击以及权限提升攻击等。

不足的日志记录和监控

       威胁解读:不足的日志记录和监控,以及事件响应缺失或无效的集成,使攻击者能够进一步攻击系统、保持持续性或转向更多系统,以及篡改、提取或销毁数据。大多数缺陷研究显示,缺陷被检测出的时间超过200天,且通常通过外部检测方检测,而不是通过内部流程或监控检测。

使用含有已知漏洞的组件

       威胁解读:组件(如库、框架和其他软件模块)是以与应用程序相同的权限运行的。如果存在漏洞的组件被利用,这种攻击可能会导致严重的数据丢失或服务器接管危机。使用已知漏洞组件的应用程序和API可能会破坏应用程序的防御系统,从而启动各种形式的攻击,造成更为严重的影响。

代码中创建DB的密码时采用了写死的密码

       威胁解读:密码不应该留在源码里面,在企业里面源码会被广泛的分享,有些部分甚至会被开源出来,为了更安全的管理,密码和密钥应该被单独的存储在配置文件中

创建数据库连接时必须为数据库设置密码

       威胁解读:创建数据库连接时没有为数据库设置密码,这会使数据库没有必要的保护

相对路径遍历漏洞

       威胁解读:使用者可以通过浏览器的url地址或者参数变量可以读取除了web目录下的其他的文件。

绝对路径遍历漏洞

       威胁解读:绝对路径遍历指使用用户输入的数据作为全路径,直接应用于文件操作。

总结

       本文仅对常见的安全问题概念进行了描述,接下来大家可以利用网络资源自己深入地研究这些问题的修复方案!相信在不断深入研究、探索的过程中,一定会对安全测试有更深的领悟!原创不易,如果文章帮到了你,欢迎转发,让更多的朋友受益!


作者:测试开发Kevin

原文链接:https://blog.csdn.net/liwenxiang629/article/details/109453145


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   前言:  在当今的数字时代,图像创作和设计领域正经历着巨大的变革。随着人工智能技术的迅猛发展,AI 绘图软件应运而生,为设计师、艺术家以及普通用户提供了全新的创作工具和体验。本评测报告旨在深入探讨这类软件的特点、功能和性能,以帮助用户更好地了解它们的优势和局限性。  在接下来的篇章中,我们将对美图AI、即时灵感、通义千问和文心一言等多款常用AI工具进行全面的评测。我们将从以下几个方面进行评估:软件的易用性、功能丰富度、绘图质量、效率和稳定性,以及大概的费用情况。通过实际的使用和测试,我们将尽力提供客观、准确的评价,为您提供有价值的参考,帮助您决定是否适合使用该软件来满足您的绘图需求。  希...
            0 0 1390
            分享
          • # 前言一直以来都有人问我,有没有面试题的总结。面试题积累了很多,但没有时间去汇总。这次拿出时间整理一下接口测试相关的面试题,并给出详细参考答案!!!# 第一篇 基础问答(上)### 1. 你测试的接口是如何添加验证点的?接口测试的验证点,也就是接口的断言,通过接口断言,可以实现脚本对程序运行结果的自动验证,输出成功或失败的状态,省去人为判断的过程。对于接口的验证点,我们可以根据任务紧急度和测试目的,粒度上由粗到细,从以下几个角度去依次添加。1) 验证接口响应状态码为200。这是接口测试的最基本要求,响应状态码200代表了该接口能接收请求,能返回响应。如果测试任务比较重,时间比较紧,应该首先针...
            0 1 3605
            分享
          •   Linux终端常见用法总结  一、前言  熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率,笔者结合自身学习实践,总结以下终端用法供同行交流学习。  二、常见用法  1.快捷键  1.1.Alt + .  在光标位置插入上一次执行命令的最后一个参数。  1.2.Ctrl + R  模糊搜索历史执行命令。下载安装fzf可以提升该命令的交互性。  1.3.Ctrl + Z  将正在执行的命令送入后台,以继续使用终端。执行bg命令可以查看后台正在执行的命令列表,执行fg命令可以调回后台正在执行的命令。  1.4.Ctrl + A  移动光标到首位字符。例如,在已输入命令...
            0 0 916
            分享
          • 在测试工作中,缺陷管理是我们必不可少的工作内容之一。既然是管理,也就少不了时间、人物和管理内容。本文将分享软件项目中缺陷管理的基本内容以及对缺陷管理的一些思考。如图1-1所示,缺陷通常包含以下八个状态:打开、重新打开、已修复、未复现、问题重复、不是问题、延期修复和关闭。其中,研发人员需要关注和处理打开和重新打开这两个状态下的缺陷,测试人员需要关注和处理已修复、未复现、问题重复、不是问题和延期修复这五个状态下的缺陷。当然,不同企业对缺陷状态的设置会存在一定的差异,本文暂时以这些状态为例。图1-1 软件缺陷状态图当我们新录入一个缺陷后,缺陷即处于初态,也就是处于打开状态,这时缺陷的负责人就流转到了...
            0 0 848
            分享
          •   python 字符串切割  除了提取字符串中的单个字符外,还可以通过对字符串进行切片来选取字符组。切片的工作方式与索引非常相似,但您使用两个偏移量,用冒号 (: ) 字符分隔。第一个偏移量是Python应该从哪里开始切片;第二个偏移是它应该停止切片的地方。同样,将偏移量视为字符之间的空格,而不是字符本身。  第一行告诉 Python 在偏移量 2 和 4 之间切片。您可以从这些偏移量之间有两个字符:g 和 u。python 将它们作为单个字符串“gu”返回。第二行在偏移量 5 和 10 之间对字符串进行切片,并返回字符串“sashi”。如果省略第一个偏移量,Python 将使用字...
            0 0 699
            分享
      • 51testing软件测试圈微信