渗透测试实战-BurpSuite 使用入门

news2024/9/30 9:29:56

前言


近期笔者在学习 web 渗透测试的相关内容,主要是为了公司之后的安全产品服务。渗透测试本身在学习过程中还是很有意思的,有一种学习到了之前想学但是没学的黑客技术的感觉,并且对笔者已掌握的许多知识做了有益的补充。要学习渗透测试,首先需要明白什么是渗透测试,以及如何进行渗透测试,这其中很多资料可以在网上找到。
 

什么是渗透测试

渗透测试是一项在计算机系统上进行的授权模拟攻击,旨在对其安全性进行评估。渗透测试人员使用与攻击者相同的工具、技术和流程,来查找和展示系统弱点对业务带来的影响。
渗透测试通常会模拟各种可能威胁您业务的攻击。渗透测试可以检查系统是否足够稳定,能否抵抗来自经过认证和未经认证的攻击,以及一系列系统角色发起的攻击。在合适的范围内,针对您需要评估的系统的任何方面,渗透测试都可以深入其中。

如何进行渗透测试

根据渗透测试的具体目标,组织针对目标系统向测试者提供不同级别的信息或访问权限。有时,渗透测试团队会在开始时设置一种方法并一直坚持下去。有时,测试团队会随着在渗透测试期间对系统认识的加深而改进其策略。在本行业中,我们讨论了三种类型的渗透测试:

黑盒。 团队对目标系统的内部结构一无所知。他们充当黑客,探寻任何可从外部发起攻击的弱点。
灰盒。 团队对一套或多套凭证有一定了解。他们还了解目标的内部数据结构、代码和算法。渗透测 试人员可以根据详细的设计文档(如目标系统的架构图),构建测试用例。
白盒。 对于白盒测试,渗透测试人员可以访问系统和系统工件:源代码、二进制文件、容器,有时甚至是运行系统的服务器。白盒方法可在最短的时间内提供最高水平的安全保证。

渗透测试阶段

渗透测试人员意在模拟怀有动机的对手发起的攻击。为此,他们遵循的方案通常包含以下步骤:

侦察。从公共和专用来源收集尽可能多的目标相关信息,以制定攻击策略。这些来源包括互联网搜索、域注册信息检索、社会工程、非侵入式网络扫描,有时甚至是搜索垃圾箱。这些信息有助于渗透测试人员破解出目标的攻击面和潜在漏洞。侦察可能因渗透测试的范围和目标不同而有所差异,可能简单到打个电话即可了解系统的功能。
扫描。渗透测试人员使用工具检查目标网站或系统是否存在弱点,包括开放服务、应用安全问题和开源漏洞。渗透测试人员根据在侦察和测试期间的发现来使用各种工具。
获得访问权限。攻击者可能怀有各种动机,可能是窃取、更改或删除数据,可能是转移资金,也可能仅仅是要损害您的声誉。在执行每个测试案例时,渗透测试人员都必须确定访问系统的最佳工具和技术,无论是利用弱点(如 SQL 注入),还是通过恶意软件、社会工程或其他方式。
维护访问权限。一旦渗透测试人员取得目标的访问权限,其模拟攻击必须保持足够长时间的连接,以达成其目标:提取数据、修改数据或滥用功能。目标是展示潜在的影响。

渗透测试工具

渗透测试没有通用的解决方案。而是不同的目标需要使用不同的工具套件进行端口扫描、应用扫描、Wi-Fi 侵入或网络直接渗透。但一般而言,渗透测试工具的类型分为五个类别:

用于发现网络主机和开放端口的侦察工具
用于发现网络服务、Web 应用和 API 问题的漏洞扫描器
代理工具(例如,专用网络代理或通用中间人代理)
用于到达系统或访问资产的利用工具
用于在利用之后与系统交互、维护和扩展访问权限以及实现攻击目标的工具

本文介绍的 BurpSuite 便是一款非常使用的渗透测试应用资产收集(所谓资产收集,主要就算收集目标站点有哪些接口、页面、静态资源等)工具。

BurpSuite 下载

BurpSuite 的版本很多,网上的很多资料介绍的版本都比较老旧,这边笔者推荐安装这个 2021 的汉化版本。另外因为 BurpSuite 是一款基于 Java 的工具,要安装使用需要电脑先安装 Java 环境。
 

  • 官网下载安装:Burp Suite - Application Security Testing Software - PortSwigger
  • 推荐安装版本:阿里云盘分享 提取码: 8it0 (已解压,压缩包不知道为什么无法分享,原文件下载自多多软件站)

BurpSuite 常用功能详解

BurpSuite 是一款基于 Java 的用于攻击Web应用程序的集合平台。常用来做渗透测试。BurpSuite 内置了很多实用的渗透测试工具。

  • 新版本的 BurpSuite (笔者使用的是 2021.12.1 版本的汉化版 BurpSuite)可不需要配置代理,直接访问内置的 chromuim 浏览器(chrome 浏览器的引擎,开源版本),在内置浏览器中访问目标网站即可进行抓包
  • 抓包功能,BurpSuite 的抓包功能在使用上其实和 WireShark 差不多,但是 WireShark 使用起来其实还要更麻烦一些,主要是因为现在的网站基本都是使用 https 协议进行数据传输,WireShark 在没有额外配置的情况下是读取不到 https 协议的内容的。旧版本的 BurpSuite 在抓包时也需要配置,但是新版本不需要了,只需要打开内置的浏览器对目标站点访问即可,然后在 Proxy -> HTTP history 中查看捕获的 http 请求

 

  • Proxy -> WebScokets history, 抓取 websocket 请求

  • 请求拦截功能,一般也是指 http 请求的拦截,这里需要注意的是查看 BurpSuite 目前的拦截状态

 

  • 关闭请求拦截不会有什么事情发生,而当打开了拦截请求后,默认所有的配置了 BurpSuite 代理的浏览器或其内置浏览器访问所有 web 站点时,请求都不会直接发送到服务端,需要点击“发送”按钮,http 请求才会发送

 

 

 

  • 重放器(Repeater),Repeater 在实际的渗透测试中非常常用,主要就是在抓取对应的 http 请求包后,将该请求发送到 Repeater 模块,在 Repeater 中可对原请求的请求头和请求内容进行修改,修改了之后重新发起该请求(所以被翻译为重放器)

  •  web 站点资产收集。Target -> Site map 下列举了我们通过内置浏览器(配置了 BurpSuite 代理的浏览器,下同)访问的站点记录,另外我们可以通过鼠标右键选择“主动选择扫描此主机”,“被动扫描这台主机”来开启扫描任务。扫描任务可在 Dashboard 中查看到。

 

  • 任务面板 Dashboard 可以查看所有任务,包括未开始 已开始 已完成的任务。该 tab 记录了完整的任务执行日志和问题活动报告。

主动扫描 web 站点和被动扫描 web 站点的区别:

  • 主动扫描(Active Scanning)

当使用主动扫描模式时,BurpSuite 会向应用发送新的请求并通过payload验证漏洞。这种模式下的操作,会产生大量的请求和应答数据,直接影响系统的性能,通常使用在非生产环境。它对下列的两类漏洞有很好的扫描效果:

  1. 客户端的漏洞,像XSS、Http头注入、操作重定向;
  2. 服务端的漏洞,像SQL注入、命令行注入、文件遍历。

对于第一类漏洞,BurpSuite 在检测时,会提交一下 input 域,然后根据应答的数据进行解析。在检测过程中,BurpSuite 会对基础的请求信息进行修改,即根据漏洞的特征对参数进行修改,模拟人的行为,以达到检测漏洞的目的。 对于第二类漏洞,一般来说检测比较困难,因为是发生在服务器侧。比如说 SQL 注入,有可能是返回数据库错误提示信息,也有可能是什么也不反馈。BurpSuite 在检测过程中,采用各个技术来验证漏洞是否存在,比如诱导时间延迟、强制修改 Boolean 值,与模糊测试的结果进行比较,已达到高准确性的漏洞扫描报告。

  • 被动扫描(Passive Scanning)
     

当使用被动扫描模式时,BurpSuite 不会重新发送新的请求,它只是对已经存在的请求和应答进行分析,这对系统的检测比较安全,尤其在你授权访问的许可下进行的,通常适用于生成环境的检测。一般来说,下列这些漏洞在被动模式中容易被检测出来:

  1. 提交的密码为未加密的明文。
  2. 不安全的 Cookie 的属性,比如缺少的 HttpOnly 和安全标志。
  3. cookie 的范围缺失。
  4. 跨域脚本包含和站点引用泄漏。
  5. 表单值自动填充,尤其是密码。
  6. SSL 保护的内容缓存。
  7. 目录列表。
  8. 提交密码后应答延迟。
  9. session 令牌的不安全传输。
  10. 敏感信息泄露,像内部IP地址,电子邮件地址,堆栈跟踪等信息泄漏。
  11. 不安全的 ViewState 的配置。
  12. 错误或者不规范的 Content-type 指令。

虽然被动扫描模式相比于主动模式有很多的不足,但同时也具有主动模式不具备的优点,除了前文说的对系统的检测在我们授权的范围内比较安全外,当某种业务场景的测试,每测试一次都会导致业务的某方面问题时,我们也可以使用被动扫描模式,去验证问题是否存在,减少测试的风险。

  • 一般笔者在进行资产收集的时候,回把两种扫描方式结合起来使用
  • 另外一个笔者使用到的功能是解码器,Decoder , 这个模块主要集成了一些编码的解码,比如 Base64, ASCII 码等

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

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

相关文章

ThinkPHP 对接美团大众点评团购券(门票)

一、功能简要介绍 1、根据需求,用户在美团大众点评中所购买的门票在自己的系统上可以核销,同时把核销信息存储到自己的系统里。2、美团点评API文档地址:[https://open.dianping.com/document/v2?rootDocId5000](https://open.dianping.com/…

PostgreSQL13.1

目录 1. PostgreSQL简介1.1 PostgreSQL是什么?1.2 PostgreSQL数据库的优缺点是什么?1.2.1 PostgreSQL的主要优点如下:1.2.2 PostgreSQL的应用劣势如下: 1.3 PostgreSQL不同大版本之间的特性比较1.4OpenGauss与PostgreSQL的对比1.4…

管理类联考——逻辑——知识篇——分析推理——三、分组——haimian

分组 题型特征 题干给出5-7个对象和2-5个限制条件,需根据题干要求分为2~3组。要注意题干中需分为几组,每组几个对象,对象有哪些限制因素,并灵活运用排除法、假设法、分析法、数字法、假言命题性质等方法解题。 思维导图 思路点…

技术管理第三板斧招聘与解聘-找到人

1.人才要自己去找、去抢 从团队的角度出发,Leader“主动出击、寻找合适人选”的观念符合逻辑,你既然是团队的一号位,自然最应该了解团队现状,以及团队需要的人选。与此同时,找到合适的人对你的影响最大而非 HR&#x…

大势智慧软硬件技术答疑第四期

1.重建大师是否支持bigmap绘制的范围线? 答:目前重建大师仅支持面格式的,bigmap的还没试验过,globalmapper或者arcgis是可以的。 2.为什么6.1建模的时候引擎一直是等待呢? 答:检查一下引擎面板引擎监控目录…

软件测试人员应该如何介绍自己测试过的项目工作【商城项目实战讲解】

测试人员在找工作的过程中,通常有一个问题是很难绕开的。就是要如何向别人介绍自己之前做过的项目。下面我们就这个问题简单的做一些分析。 要解决这个问题,大体上可以分为如下几个步骤: 1、对项目进行基本介绍 2、说明自己负责测试的模块 …

vue-router之hash与history,以及nginx配置

本篇讲解前端项目的路由模式(以vue-router为例),以及history模式下的项目部署问题。 vue-router的路由模式可以通过指定mode属性值控制,可选值:“hash” 、“history”、 “abstract” , 默认:“…

一篇文章告诉你什么是—Selenium的元素等待

前言 今天我们来说说selenium的元素等待,废话不多说直接开始吧。 1、元素等待介绍 WebDriver定位页面元素时如果未找到,会在指定时间内一直等待的过程。为了保证脚本运行的稳定性,需要脚本中添加等待时间。 2、为什么要设置元素等待 在元…

OpenStack(4)--NameSpace实现不同项目(租户)重叠网段

openstack通过namespace将不同项目(租户)的网络隔离,每个项目的管理员都需要对项目网络进行规划建设,这就导致不同项目之间会重复使用到某些网段,例如192.168.X.X就是管理员习惯使用的网段。 上一次我们新建位于vxlan…

基于Java的景区售票信息管理系统

1.设计要求 (1)要求每个学生独立完成期末作品,在遇到问题时,同学之间可以相互讨论,但切忌复制他人程序。 (2)根据期末作品题目,自己编写程序,上机调试程序,…

uniapp视频播放器

微信小程序使用hic-video-player app(android和ios)使用好用视频播放器注:用的是旧版本的这个组件 目前只有app中支持竖屏横批选集 android视频全屏是通过 beforeDestroy() {// #ifdef APP-VUE// 页面关闭时关闭沉浸模式if (uni.getSystemInfoSync().platform &quo…

【FFmpeg实战】解复用实战

原文链接:https://blog.csdn.net/u014078003/article/details/128554153 1.封装格式相关函数 avformat_alloc_context():负责申请一个AVFormatContext结构的内存,并进行简单初始化,这个函数可以不用手动调用,内部会自动调用。avf…

【无标题】NXP i.MX 6ULL工业核心板硬件说明书( ARM Cortex-A7,主频792MHz)

1 硬件资源 创龙科技SOM-TLIMX6U是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的低成本工业级核心板,主频792MHz,通过邮票孔连接方式引出Ethernet、UART、CAN、LCD、USB等接口。核心板经过专业的PCB Layout和高低温测试验证&…

怎么才能提高自动化测试的覆盖率,华为大佬教你一招!

前言 自动化测试一直是测试人员的核心技能,也是测试的重要手段之一。尤其是在今年所谓的互联网寒冬的行情下,各大企业对测试人员的技术水平要求的很高,而测试人员的技术水平主要集中在三大自动化测试领域,再加测试辅助脚本的编写…

智慧园区能源管理系统建设方案

随着能源资源的日益紧缺和环境保护意识的不断提高,智慧园区能源管理系统建设成为了当前能源管理的热点话题。智慧园区能源管理系统是一种集成化的能源管理平台,可以实现对园区内各种能源的实时监测、分析和管理,从而达到优化能源配置、提高能…

Python 学习之NumPy(一)

文章目录 1.为什么要学习NumPy2.NumPy的数组变换以及索引访问3.NumPy筛选使用介绍筛选出上面nb数组中能被3整除的所有数筛选出数组中小于9的所有数提取出数组中所有的奇数数组中所有的奇数替换为-1二维数组交换2列生成数值5—10,shape 为(3,5)的二维随机浮点数 NumP…

对一大厂游戏测试员的访谈实录,带你了解游戏测试

今天采访了一个在游戏行业做测试的同学,他所在的游戏公司是做大型多人在线角色扮演类的游戏,类似传奇游戏。他所在的公司目前有1200多人,是上市公司,目前游戏产品在国内海外都有市场。 因为我是一个对游戏无感的人,所…

【C++ 程序设计】第 7 章:输入/输出流

目录 一、流类简介 二、标准流对象 三、控制I/O格式 (1)流操纵符 (2)标志字 四、调用cout的成员函数【示例一】 五、调用 cin 的成员函数 (1)get() 函数 (2)getline()…

高考选什么专业好?适合考公务员的10大热门专业,了解一下!

高考是人生的分水岭,它是青春和未来的交汇处。高考成绩的优劣将对考生未来的发展产生深远的影响。作为学生们人生中重要的一站,高考不仅考验着学生的学业能力,也考验着他们的心理素质和思维能力。 高考结束后,众多考生面临的一个重…

FFmpeg视频转码参数详解

1 固定码率因子crf(Constant Rate Factor) 固定码率因子(CRF)是 x264 和 x265 编码器的默认质量(和码率控制)设置。取值范围是 0 到 51,这其中越低的值,结果质量越好,同…