burpsuite 基本原理

这篇具有很好参考价值的文章主要介绍了burpsuite 基本原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、BurpSuite是什么?

  • 我们看官网的overview:The leading toolkit for web security testing.
  • 一款集合了各类Web攻击当中所需要的功能且参数极为复杂的攻击套件
  • 一个抓包改包工具

一个抓包改包工具 / 安全测试的工具包,这个怎么理解呢?先回到我们的HTTP协议。HTTP协议本质是一个基于文本的解析规则,即通过socket API发送一段特定格式的文本:

GET /captiveportal/generate_204 HTTP/1.1
Host: edge-http.microsoft.com
Pragma: no-cache
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Connection: close
...

上述文本的回车换行实际上就是\r\n,这段文本在底层(C语言socket API)应该是这样的:

int sock;
struct sockaddr_in serv_addr;
char msg[1024];
strcpy(msg, "GET / HTTP/1.1\r\n");
strcat(msg, "Host: www.baidu.com\r\n");
strcat(msg, "Content-Type: text/html\r\n");
strcat(msg, "Content-length: \r\n");
printf("%s",msg);

sockfd = socket(AF_INET, SOCK_STREAM,0);

serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr("x.x.x.x")
serv_addr.sin_port = htons(atoi(端口号));

connect(sockfd,(struct sockaddr*)&serv_addr, sizeof(serv_addr);
send(sockfd, msg, strlen(msg), 0);
close(sockfd);

用python有助于我们更好理解:

#!/usr/bin/env python3
import socket

target_host = "127.0.0.1"  #目标IP
target_port = 9999			# 目标端口

# 建立一个 socket 对象
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

# 链接客户端
client.connect((target_host,target_port))
# 发送一些数据
client.send("GET / HTTP/1.1\r\nHost:baidu.com\r\n\r\n".encode())

# 接受一些数据
response = client.recv(4096)
print(response.decode())
with open("/home/kali/Desktop/test.html","w") as f:
	f.write(response_str)

发送的文本就是HTTP请求

二、正向代理(抓包/改包)

  上面的python代码一个HTTP 客户端,或者说TCP客户端。这就已经实现HTTP协议,就是 客户端发送一段文本消息,服务端按\r\n分割逐行解析这些文本所预定义的意义。我们所做的Web漏洞测试就是围绕这些文本进行的,也就是所谓HTTP请求包
  现在我们使用BurpSuite监听一个端口,然后在浏览器中设置代理指向该端口。这里其实就是一个正向代理了。当你在浏览器中设置代理地址的时候,其实就是设置了IP和端口。浏览器正常的通过三次握手与bp建立连接,bp即是浏览器所发起的任何网络连接的服务器。当bp收到来自浏览器的请求时,提取请求的URL/域名。之后,bp又充当客户端,向该url/域名请求资源,之后将响应的资源又响应给浏览器
burpsuite原理,工具篇,web安全,网络,安全

通过Wireshark抓包,我们可以清晰的看见,浏览器设置经过代理的HTTP请求与不经过代理的HTTP请求包是一致的,只是代理的请求数据包的下层协议(网络层-IP、传输层-端口)封装的地址指向了代理服务器,HTTP请求包不需要改变或封装。

三、安全测试工具包

  浏览器的包发送到bp,在bp可以对HTTP数据包的内容进行修改,用于安全测试。进一步,我们针对数据包实现对其的编码/解码、比较、爆破等功能,那么,就可以称之为工具包了。

**Burp 渗透测试工作流的核心是能够在 Burp 工具之间传递 HTTP 请求以执行特定任务的能力。**您可以从 “代理拦截” 选项卡,“代理历史记录”,站点地图,甚至在 Burp 中您看到 HTTP 消息的其他任何地方发送消息。为此,选择一个或多个消息,然后使用上下文菜单将请求发送到另一工具。
你将用于特定任务的 Burp 工具如下:

  • 扫描程序 - 用于自动扫描网站的内容和安全漏洞。
  • 入侵者 - 这使您可以执行自定义的自动攻击,以执行各种测试任务。
  • 中继器 - 用于不断地手动修改和重新发出单个 HTTP 请求。
  • Collaborator 客户端 - 用于生成 Burp Collaborator 负载并监视结果带外交互。
  • Clickbandit- 用于产生针对易受攻击的应用程序的点击劫持漏洞。
  • 定序器 - 用于分析应用程序会话令牌中的随机性质量。
  • 解码器 - 这使您可以使用常见的编码和解码方案来转换应用程序数据的位。
  • 比较器 - 用于对应用程序数据的位进行视觉比较,以发现有趣的差异。

你可以通过多种方式组合 Burp 的各种工具,以执行从非常简单到高度高级和专业化的测试任务。

burpsuite原理,工具篇,web安全,网络,安全
标记的的那句话(背景黄色)就是burp的本质!

  • 核心是能够在 Burp 工具之间传递 HTTP 请求以执行特定任务的能力
  • 核心是能够在 Burp 工具之间传递 HTTP 请求以执行特定任务的能力
  • 核心是能够在 Burp 工具之间传递 HTTP 请求以执行特定任务的能力

上图的工作流即可看成HTTP数据包的流转。每一个框代表了一个功能模块,数据包(HTTP请求)流经里面,我们可以实现进行一些操作,并能得到一些结果。比如:

  1. Burp Proxy —> 代理请求(抓包),生成 history 和 sitemap
  2. 在history中可以对HTTP请求进行一些操作,或传递HTTP请求到其他模块
    burpsuite原理,工具篇,web安全,网络,安全
  3. 发送到Intruder,在该模块中,可以自动化批量发包(爆破)
    burpsuite原理,工具篇,web安全,网络,安全
    burpsuite还有很多其他模块功能,并且支持我们自定义功能扩展。功能的核心都是对HTTP请求包的操作,包括:
  • 编辑
  • 批量发包
  • 编码/解码
  • 比对
  • 被动扫描

等等。

参考

https://www.wangan.com/docs/1339文章来源地址https://www.toymoban.com/news/detail-771850.html

到了这里,关于burpsuite 基本原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web安全神器-Burpsuite社区版/专业版下载、安装及使用教程

    Burp Suite是进行Web应用安全测试的一个集成平台,无缝融合各种安全工具并提供全面的接口适配,支持完整的Web应用测试流程,从最初的映射和应用程序的攻击面分析到发现和利用安全漏洞等领域均适用,同时还可以做抓包分析、密码暴力破解等,是比较常用的一款网络安全的

    2024年02月13日
    浏览(76)
  • BurpSuite实战教程01-web渗透安全测试(靶场搭建及常见漏洞攻防)

    渗透测试(Penetration test)即安全工程师模拟黑客,在合法授权范围内,通过信息搜集、漏洞挖掘、权限提升等行为,对目标对象进行安全测试(或攻击),最终找出安全风险并输出测试报告。 Web渗透测试分为白盒测试和黑盒测试,白盒测试是指目标网站的源码等信息的情况

    2024年02月13日
    浏览(46)
  • 安全测试工具Burpsuit和OWASP ZAP使用入门指南

    安装: 网上有很多相关相关保姆级别教程,所以这里不加赘述了 尽量使用java8版本,破解版兼容8做的比较好 如果发现注册机无法打开或者能打开注册机【run】无法点击唤起软件安装,可以使用命令行工具 java -jar burp-loader-keygen.jar java -Xbootclasspath/p:burp-loader-keygen.jar -jar burps

    2024年02月05日
    浏览(51)
  • Web网络安全-----Log4j高危漏洞原理及修复

    Web网络安全-----红蓝攻防之信息收集 Log4j 即 log for java(java的日志) ,是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;

    2024年02月10日
    浏览(50)
  • 【网络安全】DVWA靶场实战&BurpSuite内网渗透

    我们先来认识一下BurpSuite中有哪些攻击模式,然后开始实战操作 下面攻击案例即将使用,对单个参数进行攻击破解 联想战争中狙击手的作用,一次只能击杀一名敌人 联想古代的攻城锤,特点就是攻击范围比狙击手大,但是效率不一定高 可以设置多个攻击字段,但是payload值

    2024年02月13日
    浏览(51)
  • 哈工大计算机网络课程网络安全基本原理详解之:消息完整性与数字签名

    这一小节,我们继续介绍网络完全中的另一个重要内容,就是消息完整性,也为后面的数字签名打下基础。 首先来看一下什么是报文完整性。 报文完整性,也称为消息完整性(message integrity),有时也称为报文/消息认证(或报文鉴别),目标: 证明报文确实来自声称的发送

    2024年02月15日
    浏览(44)
  • 【Python/网络安全】 Git漏洞之Githack工具基本安装及使用详析

    Git是一个非常流行的开源分布式版本控制系统,它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管理系统,并将其部署到生产环境中以维护其代码库。 然而,在配置不当的情况下,可能会导致 .git 文件夹被直接部署到线上环境中,这可能会导致

    2024年02月05日
    浏览(42)
  • [Python/网络安全] Git漏洞之Githack工具基本安装及使用详析

    Git是一个非常流行的开源分布式版本控制系统,它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管理系统,并将其部署到生产环境中以维护其代码库。 然而,在配置不当的情况下,可能会导致 .git 文件夹被直接部署到线上环境中,这可能会导致

    2024年02月10日
    浏览(35)
  • 【网络安全】Burpsuite v2021.12.1安装&激活&配置&快捷启动

    需要下载的内容: Burp Suite jar包 JDK11 激活jar包 汉化jar包 下面是已经下载好的,可以直接使用 BurpSuite网盘下载链接 提取码:kvb7 打开高级系统设置,环境变量,将JDK路经添加进去 添加好后,用cmd命令查看JDK版本 这里需要三个jar包 我们需要通过激活包启动主程序,先打开安装

    2024年02月13日
    浏览(32)
  • [CTF/网络安全]BurpSuite爆破实战解题详析之BUUCTF Brute 1

    免责声明:本文仅分享AntSword渗透相关知识,不承担任何法律责任。 请读者自行安装BurpSuite,本文不再赘述。 在用户名和密码都未知的情况下,进行用户名、密码的组合爆破,效率极低。 先爆破用户名,再利用得到的用户名爆破密码,将提高爆破速度。 题目 操作 Burp抓包

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包