2024入行安全测试必须要了解的知识!

01安全测试的定义

安全测试是建立在功能测试基础上进行的测试,安全测试提供证据表明,在面对恶意攻击时,应用仍能充分满足它的需求,主要是对产品进行检验以验证是否符合安全需求定义和产品质量标准的过程。

02安全测试的目的

1)提升产品安全质量

2)尽量在发布前找到安全问题予以修补降低风险

3) 度量安全等级

4)验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使之不被非法入侵

03安全测试与传统测试的区别

类比项 安全测试 传统测试
目标差异 以发现安全隐患为目的 以发现BUG为目的
假设条件差异 假设导致问题的数据是攻击者处心积虑构造的 假设导致问题的数据是用户不小心造成的,接口一般只考虑界面
思考域差异 思考域不但包括系统功能,还有系统的机制,外部环境,应用与数据自身风险与安全 以系统所具有的功能为思考域
问题发现模式 以违反权限与能力的约束为依据 以违反功能定义为判断依据
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

04安全测试的类型

1.跨站脚本(XSS)

XSS 又叫 CSS(CROSS SET SCRIPT),跨站脚本攻击。它指的是恶意攻击者往 WEB 页面里插入恶意的 html 代码,当用户浏览该页面时,嵌入其中的 html 代码会被执行,从而达到恶意用户的特殊目的;(钓鱼、盗取cookie、操纵受害者的浏览器、蠕虫攻击)

2.反射型跨站(Reflected XSS)

服务器端获取 http 请求中的参数,未经过滤直接输出到客户端。如果这些参数是脚本,它将在客户端执行(钓鱼常见)。

3.存储型跨站(Stored XSS)

用户输入的数据存在服务器端(一般存在数据库中),其他用户访问某个页面时,这些数据未经过滤直接输出。这些数据可能是恶意的脚本,对其他用户造成危害。(挂马常见)

在允许上传文件的应用中,攻击者上传一个包含恶意代码的 html 或者 txt 文件,用户浏览这些文件执行恶意代码;

一般的应用中上传图片最普遍,如果图片中包含恶意代码的 html 或者 txt 文件,,低版的 IE 直接请求这个图片时,将忽略 Content-Type 执行图片中的代码。

4.DOM 跨站 (DOM-Based XSS)

攻击者构造一个包含恶意 Javascript 的 URL,然后引诱用户请求这个 URL。服务器收到请求后没有返回恶意的 Javascript。

浏览器在处理 URL 中的数据时,执行恶意代码。

5.跨站请求伪造 (CSRF)

强迫受害者的浏览器向一个易受攻击的 Web 应用程序发送请求,最后达到攻击者所需要的操作行为。

恶意请求会带上浏览器的 Cookie。受攻击的 Web 应用信任浏览器的 Cookie。

6.SQL 注入

用户输入的数据未经验证就用来构造 SQL

查询语句,查询数据库中的敏感内容,绕过认证添加、删除、修改数据、拒绝服务。

7.XML 注入

和 SQL 注入原理一样,XML 是存储数据的地方,如果在查询或修改时,如果没有做转义,直接输入或输出数据,都将导致 XML 注入漏洞。攻击者可以修改 XML 数据格式,增加新的 XML 节点,对数据处理流程产生影响。

8.URL 跳转

Web 应用程序接收到用户提交的 URL 参数后,没有对参数做” 可信任 URL” 的验证,就向用户浏览器返回跳转到该 URL 的指令。(钓鱼攻击)

9.文件系统跨越

文件系统中../代表上级目录,通过一个或多个../跨越目录限制。

10.系统命令

用户提交的参数用于执行系统命令的参数。

使用”|” 或”;” 执行多条命令。

11.文件上传

Web 应用程序在处理用户上传的文件时,没有判断文件的扩展名是否在允许的范围内,或者没检测文件内容的合法性,就把文件保存在服务器上,甚至上传脚本木马到 web 服务器上,直接控制 web 服务器。(未限制扩展名、未检查文件内容、病毒文件)

12.任意文件下载

  • 下载附件等功能
  • Apache 虚拟目录指向
  • Java/PHP 读取文件
  • 下载数据库配置文件等
  • 目录浏览

13.权限控制

  • 有没有权限
  • 有些系统不需要权限控制
  • 有没有设置权限
  • 有了强大的权限系统,但是没有使用
  • 有没有偷工减料权限
  • URL 级别
  • 菜单级别

14.访问控制

  • 水平权限

Web 应用程序接收到用户请求,修改某条数据时,没有判断数据的所属人,或判断数据所属人时,从用户提交的 request 参数(用户可控数据)中,获取了数据所属人 id,导致恶意攻击者可以通过变换数据 ID,或变换所属人 id,修改不属于自己的数据。

  • 垂直权限

由于 web 应用程序没有做权限控制,或仅仅在菜单上做了权限控制,导致的恶意用户只要猜测其他管理页面的 URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升目的。15.Session Expires

  • 会话过期
  • 浏览器过期
  • 服务器 30 分钟无动作过期
  • 服务器 24 小时强制过期
  • 保持会话

05安全测试工具

AppScan:一款安全漏洞扫描工具,它相当于是"探索"和"测试"的过程,最终生成很直观的测试报告,有助于研发人员分析和修复

官网:https://www.ibm.com/developerworks/downloads/r/appscan/

BurpSuite:一款信息安全从业人员必备的集成型的渗透测试工具,它采用自动测试和半自动测试的方式,包含了Proxy,Spider,Scanner,Intruder,Repeater,Sequencer,Decoder,Comparer 等工具模块;

官网:https://portswigger.net/burp/

Nmap:一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端。

官网:https://nmap.org/

sqlmap:一个开源的渗透测试工具,可以用来进行自动化检测,利用 SQL 注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。

官方网站:http://sqlmap.org/

前面2个工具工作中最常用到,一定要好好掌握!

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

相关推荐

  1. 8 个必须知道Python装饰器

    2024-02-20 01:02:05       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-20 01:02:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-20 01:02:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-20 01:02:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-20 01:02:05       20 阅读

热门阅读

  1. C++中max函数的使用及示例

    2024-02-20 01:02:05       29 阅读
  2. C语言:ISBN校验码

    2024-02-20 01:02:05       33 阅读
  3. Python系列(15)—— int类型转string类型

    2024-02-20 01:02:05       26 阅读
  4. Chapter 8 - 15. Congestion Management in TCP Storage Networks

    2024-02-20 01:02:05       33 阅读
  5. 如何交接一个前端项目

    2024-02-20 01:02:05       31 阅读
  6. 2024年首发!高级界面控件Kendo UI全新发布2024 Q1

    2024-02-20 01:02:05       40 阅读
  7. django rest framework 学习笔记2

    2024-02-20 01:02:05       25 阅读
  8. C++ STL 模块 —— 迭代器

    2024-02-20 01:02:05       27 阅读
  9. C++day6

    C++day6

    2024-02-20 01:02:05      33 阅读