ToB企服应用市场:ToB评测及商务社交产业平台

标题: BurpSuite教程——渗透测试第一关:BP工具使用 [打印本页]

作者: 种地    时间: 2024-9-3 14:29
标题: BurpSuite教程——渗透测试第一关:BP工具使用
想要学好网络渗透,了解并纯熟使用渗透工具是重要的一关。
Burp Suite 是一款广泛使用的网络安全工具,主要用于测试Web应用步伐的安全性。它提供了一系列的功能,帮助安全专家和渗透测试职员发现和使用Web应用步伐中的安全漏洞。
目次
一、前置知识:
1.1 HTTP/HTTPS协议
1.1.1HTTP(HyperText Transfer Protocol)
1.1.2HTTPS(HyperText Transfer Protocol Secure)
1.2 Web应用步伐架构
1.3 中心人攻击
二、BP模块介绍
2.1 核心功能(Proxy)
2.1.1 Intercept(拦截器)
2.1.2 HTTP history(HTTP汗青记录)
2.1.3 Websockets history(WebSockets汗青记录)
2.2 爆破
2.2.1 爆破模块


一、前置知识:

1.1 HTTP/HTTPS协议

起首我们需要明白HTTP和HTTPS协议的基本概念,包罗请求和响应的格式、方法(GET、POST等)、状态码、标头个消息体。
HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是用于从网络传输超媒体文档(如HTML页面)到本地浏览器的协议。它们是构建Web的基础,但有一些关键的区别:
1.1.1HTTP(HyperText Transfer Protocol)

- **定义**:是互联网上应用最为广泛的协议之一,用于分布式、协作式、超媒体信息系统。
- **特点**:
  - 明文传输:数据在客户端和服务器之间以明文形式传输,没有加密。
  - 毗连无状态:每个请求都是独立的,服务器不会保存之前的状态信息。
  - 快速:因为没有加密解密的过程,所以速度快。
- **使用场景**:适用于不需要安全加密的普通网页数据传输。
1.1.2HTTPS(HyperText Transfer Protocol Secure)

- **定义**:在HTTP的基础上,通过SSL/TLS协议提供了数据加密、完整性校验和身份验证,加强了安全性。
- **特点**:
  - 数据加密:使用SSL/TLS协议对数据举行加密,掩护数据传输过程中的隐私和完整性。
  - 身份验证:通过证书验证服务器的身份,确保客户端访问的是准确的服务器。
  - 毗连持久:TLS会话可以被重用,减少了握手的开销。
  - 更安全:适用于需要掩护用户隐私和数据安全的场所,如网上银行、在线付出、登录等。
- **使用场景**:任何需要掩护用户数据和隐私的场所都应该使用HTTPS。
### 主要区别
1. **安全性**:HTTPS比HTTP更安全,因为HTTPS使用SSL/TLS举行加密。
2. **性能**:HTTP通常比HTTPS性能更好,因为它不需要加密解密的过程。
3. **端口**:HTTP默认使用80端口,而HTTPS默认使用443端口。
4. **搜刮引擎优化(SEO)**:使用HTTPS的网站可能会获得更好的搜刮引擎排名,因为搜刮引擎倾向于优先展示更安全的网站。
### 实现HTTPS
实现HTTPS通常需要以下几个步骤:
1. **获取SSL/TLS证书**:从受信任的证书颁发机构(CA)获取证书。
2. **配置服务器**:在服务器上安装证书,并配置SSL/TLS。
3. **更新网站代码**:确保全部资源都通过HTTPS引用,避免混合内容的标题。
4. **使用HSTS**:通过HTTP Strict Transport Security(HSTS)强制客户端使用HTTPS。
1.2 Web应用步伐架构

Web应用步伐架构指的是Web应用步伐的组织结构和组件之间的交互方式。随着技术的发展,Web应用步伐变得越来越复杂,涉及到前端、后端、数据库、APIs等多个方面。以下是一些常见的Web应用步伐架构概念和组件:
客户端-服务器架构:最基本的Web应用步伐架构,客户端(通常是浏览器)向服务器发送请求,并汲取服务器返回的响应。
三层架构:
   - 将应用步伐分为表示层(前端)、业务逻辑层(后端)和数据访问层(数据库)。
   - 表示层处理用户界面和用户交互。
   - 业务逻辑层处理应用步伐的核心功能和逻辑。
   - 数据访问层负责与数据库交互,执行数据的增删查改操作。
MVC架构(Model-View-Controller):
   - 一种用于分离数据(Model)、用户界面(View)和控制逻辑(Controller)的设计模式。
   - 有助于提高应用步伐的可维护性和可扩展性。
微服务架构:
   - 将应用步伐分解为一组小型、独立的服务,每个服务实现特定的功能,并通过轻量级的通信机制(如RESTful API)相互交互。
单页应用步伐(SPA):
   - 应用步伐的全部代码(HTML、JavaScript和CSS)在初始页面加载时加载一次,随后的用户交互不会导致页面重新加载,而是动态更新用户界面。
前后端分离:
   - 前端和后端作为两个独立的服务开辟和部署,通常通过API举行通信。
1.3 中心人攻击

中心人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机假造放置在网络毗连中的两台通信计算机之间,这台计算机就称为“中心人”。

二、BP模块介绍

2.1 核心功能(Proxy)

BurpSuite的核心功能是Proxy——“代理”。

代理模块主要用于拦截浏览器的http会话内容,给其他模块功能提供数据。
Proxy向下又分为四个部分:Intercept、HTTP history、Websockets history、options。
2.1.1 Intercept(拦截器)

拦截器是Proxy模块的核心功能之一,答应用户在请求发送到服务器之前和响应返回到客户端之前拦截他们。
我们可以在请求发送时点击“Intercept is on”来激活拦截器。此时,全部通过代理的请求和响应都会被暂停,直到我们手动放行或修改他们。


打开浏览器后,我们访问页面会一直处于加载状态,这正是因为我们拦截了页面请求,直到我们修改或手动开释页面。

我们点击Forward,这就表示放行,放行页面后,浏览器成功加载到百度页面,BP也拦截到了一个新的请求。


我们使用BP官方教程来展示这个功能的具体使用。在导航栏选择Learn,下方的The Web Security Academy就是官方提供给我们的一个学习平台。

我们选择第四个漏洞举行实行 ,以其中的第一个为例。


进入实行,我们来到以下界面,是一个网上商城。登岸他给我们的账号,发现我们有100美元。

现在我们想买这个夹克,但是钱不够。先别急,我们打开BP开始拦截
点击Add to card添加到购物车后,我们拦截到了一个页面,我们发现,页面中有代价设置,我们实行修改这个代价。

直接“贬价”,然后放行,可以看到,商品被我们以超便宜的代价添加到了购物车。
 


这就是拦截器的应用,对于测试和修改请求参数、测试差异相应场景非常有用。
2.1.2 HTTP history(HTTP汗青记录)

HTTP汗青记录是代理区捕捉的全部HTTP请求和响应的列表。我们可以在这个区域查察、搜刮、筛选和分析经过代理的全部HTTP流量。汗青记录可以按时间、状态码、大小等排序,也可以使用高级搜刮条件来查找特定的请求或响应。

而且,这个功能不受拦截开关的影响,纵然拦截器处于关闭状态,代理模块仍可以捕捉浏览器汗青。
针对这个功能,我们再来看一个信息走漏漏洞。

照旧一个商城页面,我们在页面中任意浏览一会,看一看感爱好的商品,我们可以看到代理模块中多了几条汗青记录,选择一条感爱好的将它发送到重放模块。

之后我们点击Repeater,就可以在这内里看到我们刚刚发送过来的数据包了。

我们点击send发送页面,就可以在右边看到这个页面的信息,我打开的是一个商品详情页。

我们将ID值改为2或者其他数字,重新send,就可以看到我们又成功访问了其他商品页面。 

2.1.3 Websockets history(WebSockets汗青记录)

WebSockets是一种支持双向通信的网络协议,与HTTP差异,它答应服务器主动向客户端发送消息。Burp Suite的Proxy模块可以拦截和表现WebSockets通信,使用户能够分析实时的双向交互。WebSockets汗青记录答应用户查察和管理捕捉的WebSockets消息,包罗重新发送和修改消息。
相较于前两个模块,Websockets history重要性较弱,主要掌握Intercept和HTTP history的使用
2.2 爆破

Burp Suite的Intruder工具是一个用于自动化执行网络请求的工具,常用于爆破测试,包罗但不限于密码破解、寻找隐藏的URL或参数、测试应用步伐对特定输入的响应等
2.2.1 爆破模块

起首我们随便访问个网页,在代理中获得一个请求信息,将这个页面发送到爆破模块

在正式开始爆破前,我们先来了解几个概念。
在爆破前我们需要配置Intruder,也就是设置爆破点,设置请求方法、请求头、消息体等,确定需要爆破的参数。
在Web应用步伐的安全测试中,"爆破点"(Vulnerability Point)通常指的是应用步伐中可能存在安全漏洞的地方,这些地方可以通过自动化测试(如爆破)来检测。如登岸表单、会话管理、输入验证、URL参数、文件上传等。
简单来说,在爆破前我们需要先确定我们想要爆破的位置,对这些位置做填充,发送到服务器,看这些差异的填充会让服务器返回什么差异的结果。
比方,某页面有username=1&password=2这条数据,我们想对username设置爆破点,只需要选中1,再点击右侧的Add,这样就设置了一个爆破点,同样的方法,我们可以再对password设置。

在上方,我们还可以选择爆破方式,即以什么方式去举行爆破。如Sniper(狙击手),它将每个Payload依次放置在每个定义的Payload位置上,得当用于测试少量参数的修改对响应的影响;Battering ram(攻城锤) ,这种攻击方式使用单一的Payload集合,但与Sniper差异,它将相同的Payload放置在全部定义的Payload位置上,这种模式得当于测试大量参数的相同修改对响应的影响,比方,当你知道应用步伐对多个参数有相同的响应时。

接下来,我们要去设置Payloads。Payloads是Intruder用来替换请求中特定位置的数据集,可以手动输入Payloads,或使用Burp Suite提供的Payload范例,如数字、字母、字典文件等。
在这一部分,我们可以手动添加删除一些测试内容,下面的Add from list也给我们提供了一个预设的字典,如a-z,A-Z,0-9,以及as、or等在SQL注入中常用的关键字。

接下来我们点击开始爆破,可以看到,我们先对第一个爆破点测试了三次,又对第二个爆破点举行测试。

让我们再来看看Battering ram,可以看到,这种方式是对多个爆破点举行同时填充。

差异的爆破方式有差异的填充方法,这里暂时只演示两组。
别的,差异的payload type也有差异的用处,如:
简单来说,BP中的爆破像是一个自动化工具,为我们的操作提供了极大便利。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4