#渗透测试#SRC漏洞挖掘#红蓝攻防#黑客工具之Burp Suite介绍05-网页端抓包与app小程序渗透01

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 #陇羽sec#

如需获取工具,评论区留言即可!!!

目录

一、Burp抓包的原因

一、安全测试方面

二、网络故障排查

三、了解网络应用交互流程

二、代理的定义与分类

一、代理的定义

二、代理的分类

[三、使用burp 抓包](#三、使用burp 抓包)

四、使用burp抓取app的包

一、准备工作

二、配置手机或模拟器

三、抓取和拦截数据包

四、处理SSL/TLS加密流量

五、常见问题及解决方法

五、常见的拦截APP请求的方法

一、使用代理工具

二、使用网络框架中的拦截器(针对开发人员)

三、使用Fiddler(Windows平台)


一、Burp抓包的原因

一、安全测试方面

  • 检测漏洞
    • 在对Web应用程序进行安全测试时,抓包可以帮助检测各种安全漏洞,例如SQL注入漏洞、跨站脚本攻击(XSS)漏洞等。通过抓取客户端与服务器之间交互的数据包,安全测试人员可以分析其中的参数传递、数据格式等内容,从而发现可能存在的漏洞点。例如,在检测SQL注入漏洞时,可以查看提交的表单数据在数据包中的形式,尝试构造恶意的SQL语句进行注入测试,若服务器没有对输入进行正确的校验,就可能存在SQL注入风险。这一过程需要抓包来获取交互数据进行分析。
  • 分析认证与授权
    • 抓包有助于理解和分析Web应用程序中的认证和授权机制。可以查看登录过程中用户名和密码等认证信息在数据包中的传输方式,判断是否存在认证信息明文传输等安全风险。同时,对于权限管理方面,通过抓包分析不同权限用户操作时的数据包,能够检查权限控制是否合理,例如低权限用户是否可以通过修改数据包中的某些参数来执行高权限操作等。

二、网络故障排查

  • 定位通信故障
    • 当Web应用程序出现网络通信故障时,如无法正常加载页面、数据传输错误等,抓包可以帮助定位问题所在。通过分析抓包获取的请求和响应数据包,可以查看请求是否正确发送到服务器,服务器是否正常响应,以及响应的状态码、数据内容等信息。例如,如果响应状态码为404,说明请求的资源未找到,可能是客户端请求的路径错误或者服务器端资源缺失;如果响应状态码为500,则表示服务器内部错误,可能是服务器端的代码出现问题。通过抓包分析这些信息,可以快速定位故障原因并进行修复。

三、了解网络应用交互流程

  • 分析数据传输
    • 抓包能够让开发人员和测试人员深入了解Web应用程序中客户端与服务器之间的数据传输过程。可以查看每个请求包含哪些参数,服务器返回的结果包含哪些数据,以及数据的格式、编码等信息。这有助于开发人员优化应用程序的交互逻辑,确保数据的正确传输和处理。例如,在开发一个电子商务网站时,通过抓包可以查看商品信息查询请求中的参数,如查询关键词、筛选条件等,以及服务器返回的商品列表数据的格式,从而优化查询功能和数据显示效果。

二、代理的定义与分类

一、代理的定义

代理是一种设计模式,它允许代理对象在某些情况下替代实际对象进行操作。代理模式的核心思想是通过代理对象来控制对实际对象的访问,从而实现对实际对象的保护、增强或限制等功能。代理模式在软件开发中广泛应用,特别是在需要对对象的访问进行控制、延迟加载、安全控制等场景下。

二、代理的分类

代理可以根据其用途和实现方式进行多种分类。以下是几种常见的代理类型:

类型 描述 示例
远程代理 为一个对象在不同地址空间提供局部代表,隐藏对象存在于不同地址空间的事实。 在分布式系统中,客户端通过远程代理访问服务器上的对象,而不需要知道对象的实际位置。
虚拟代理 根据需要创建开销很大的对象,通过代理来代替真实对象,以便延迟加载或减少资源消耗。 在图形界面应用中,使用虚拟代理来代替尚未加载的图像,只有在需要显示图像时才真正加载图像数据。
安全代理 用于控制实际对象访问时的权限,确保只有具有适当权限的对象才能访问实际对象。 在Web应用中,使用安全代理来控制用户对敏感数据的访问权限,防止未经授权的访问。
智能指引代理 当调用实际对象时,代理处理另外一些事务,如记录访问日志、提供友好提示等。 在电子商务网站中,使用智能指引代理来记录用户访问日志,以便分析用户行为和优化用户体验。
网络代理 充当用户与互联网之间的中介,帮助用户访问网络资源,可以绕过某些地区的网络限制,保护用户隐私等。 在网络环境中,使用网络代理来访问被屏蔽的网站,保护个人隐私等。

三、使用burp 抓包

burp配置代理

谷歌浏览器配置代理

成功抓包

四、使用burp抓取app的包

要使用Burp Suite拦截和分析APP的请求,可以按照以下详细步骤进行操作:

一、准备工作

  1. 安装Burp Suite
  2. 配置Burp Suite代理
    • 打开Burp Suite,导航到Proxy -> Options
    • 确认代理监听的IP地址和端口号。通常,IP地址可以设置为127.0.0.1(本地主机),端口号可以选择一个未被占用的端口,如8080
  3. 下载并安装CA证书
    • 导航到Proxy -> Options,点击CA Certificate,选择Export CA certificate in DER format,下载Burp的CA证书。
    • 将下载的证书安装到你的设备中,以便能够解密HTTPS流量。具体步骤如下:
      • Windows :双击下载的证书文件,选择安装证书,按照提示完成安装。
      • MacOS :双击下载的证书文件,选择系统,然后将证书拖到系统中,设置信任。
      • Android:将证书文件传输到手机,打开文件,按照提示安装证书。
      • iOS:将证书文件通过邮件发送到你的iOS设备,打开邮件,点击证书文件,按照提示安装证书。

二、配置手机或模拟器

  1. 连接到同一网络
    • 确保你的手机或模拟器与运行Burp Suite的计算机连接到同一个Wi-Fi网络。
  2. 设置手机代理
    • 在手机的Wi-Fi设置中,选择当前连接的Wi-Fi网络,然后设置代理。
    • 将代理类型设置为手动,输入计算机的IP地址和在Burp Suite中设置的端口号。例如,如果计算机的IP地址是192.168.1.2,端口号是8080,则设置为:
      • IP地址192.168.1.2
      • 端口号8080

三、抓取和拦截数据包

  1. 启动Burp Suite
    • 打开Burp Suite,确保代理拦截已启用。在Proxy -> Intercept中,勾选Intercept is on
  2. 启动应用并进行操作
    • 在手机或模拟器上启动你要测试的应用,并进行一些操作,以便产生网络流量。
  3. 查看抓取的数据包
    • 在Burp Suite的Proxy -> HTTP history面板中,你可以看到抓取到的所有HTTP/HTTPS请求和响应。
    • Proxy -> Intercept面板中,你可以看到被拦截的请求和响应。你可以在这里查看、修改和重新发送请求。

四、处理SSL/TLS加密流量

  1. 确保CA证书已安装
    • 确保手机或模拟器上已经安装了Burp Suite的CA证书,否则无法解密HTTPS流量。
  2. 配置SSL Pass Through(可选)
    • 如果某些请求仍然无法解密,可以在Burp Suite中配置SSL Pass Through。
    • 导航到Proxy -> Options -> SSL Pass Through,添加需要放行的端口和主机。

五、常见问题及解决方法

  1. 无法抓取HTTPS流量
    • 确保手机或模拟器上已经安装了Burp Suite的CA证书。
    • 确保手机或模拟器的代理设置正确。
    • 检查Burp Suite的代理设置,确保监听的IP地址和端口号正确。
  2. 应用无法连接到服务器
    • 确保手机或模拟器的网络连接正常。
    • 确保Burp Suite的代理设置正确。
    • 尝试关闭Burp Suite的拦截功能,看是否可以正常连接。
  3. 应用进行了SSL Pinning
    • 如果应用进行了SSL Pinning(证书固定),可以尝试使用Xposed框架的插件(如JustTrustMe)来绕过SSL Pinning。
    • 请确保你有合法的权限,并遵守相关的法律和道德规范。

五、常见的拦截APP请求的方法

一、使用代理工具

  1. Charles
    • 设置代理
      • 打开Charles,找到Charles的IP地址及端口,后续需要输入至手机代理设置中。
      • 手机与电脑连接同一个WIFI,然后在手机上进行代理设置(以苹果手机为例)。
    • 操作原理
      • 当APP发起请求时,请求会先经过Charles这个代理服务器,Charles就可以拦截到APP的请求,从而可以查看请求头、请求参数等信息,还能修改请求内容后再放行。例如,可以修改请求头中的UA(用户代理)、Cookie、Referer信息,通过伪造相应信息达到调试、模拟用户真实请求等目的。
  2. Burp Suite
    • 准备工作
      • 安装Burp Suite并进行配置。设置代理监听的IP地址(如127.0.0.1)和端口号(如8080),在Burp Suite中下载CA证书。
      • 手机与运行Burp Suite的电脑连接同一Wi - Fi,在手机Wi - Fi设置中设置代理为手动,输入电脑的IP地址和端口号,并且将Burp的CA证书安装到手机上。
    • 拦截操作
      • 启动Burp Suite并开启代理拦截功能,当APP在手机上运行并发起请求时,请求会被Burp Suite拦截,在Burp Suite的相关界面(如Proxy - > HTTP history)中可以查看和处理APP的请求。

二、使用网络框架中的拦截器(针对开发人员)

  1. OkHttp(Android)
    • 自定义拦截器
      • 在Android开发中,如果APP使用OkHttp作为网络框架,可以自定义拦截器来拦截请求。例如,定义一个实现Interceptor接口的类,并重写intercept方法。在这个方法中,可以对请求进行处理,如添加公共请求参数、验证Token等操作。
    • 示例代码逻辑
      • 拦截器可以在请求发送之前对请求进行修改,比如添加请求头信息。也可以在收到响应后对响应进行处理,如检查响应状态码、解析响应数据等。
  2. NSURLProtocol(iOS)
    • 原理与实现
      • 对于iOS开发,可以使用NSURLProtocol来拦截HTTP请求。需要写一个继承自NSURLProtocol的类,通过+ canInitWithRequest:方法来决定是否处理请求,在+ canonicalRequestForRequest:方法中对请求进行操作,在 - startLoading方法中转发请求并处理响应回调等操作。这样就可以拦截APP中的HTTP请求,实现诸如缓存控制、请求修改等功能。

三、使用Fiddler(Windows平台)

  • 配置代理
    • 启动Fiddler,设置好代理相关选项,如开启HTTPS抓包功能(在[Tools]---[Options]---[HTTPS]中进行勾选设置)。
    • 查看PC的IP地址(可通过ipconfig命令),然后在手机上设置代理为Fiddler所在电脑的IP地址和Fiddler的监听端口。
  • 拦截功能
    • 当APP请求经过Fiddler时,Fiddler就可以拦截到请求,能够查看请求的详细信息,并且可以在Fiddler中修改订单数据等内容后点击相关按钮(如Run to Completion按钮)实现数据篡改,从而影响APP页面中的数据。

未完待续~~~!!!!!!!!

相关推荐
网络安全(华哥)39 分钟前
系统安全——访问控制访问控制
安全·系统安全
小春学渗透2 小时前
DAY168内网对抗-基石框架篇&单域架构&域内应用控制&成员组成&用户策略&信息收集&环境搭建
网络·安全·架构·内网攻防
网络安全指导员5 小时前
渗透利器-kali工具 (第四章-5) 爬虫入门
爬虫·web安全·系统安全
程序员入门进阶5 小时前
实习记录小程序+ssm
小程序
Hacker_LaoYi7 小时前
CryptoJS加密(网络安全)
网络·web安全·php
阿大撒大撒7 小时前
windows操作系统安全
安全
Jiaberrr7 小时前
微信小程序中 crypto-js 加解密全攻略
前端·javascript·vue.js·微信小程序·小程序
独行soc8 小时前
#渗透测试#红蓝对抗#SRC漏洞挖掘# Yakit插件使用及编写01
安全·web安全·漏洞挖掘·hw·红蓝攻防
tangjunjun-owen8 小时前
异常安全重启运行机制:健壮的Ai模型训练自动化
人工智能·python·安全·异常重运行或重启
打码人的日常分享9 小时前
【网络安全资料文档】网络安全空间态势感知系统建设方案,网络安全数据采集建设方案(word原件)
数据库·安全·web安全·需求分析·规格说明书