首页 > 其他分享 >BurpSuite连接浏览器代理无法打开部分网页问题

BurpSuite连接浏览器代理无法打开部分网页问题

时间:2024-04-30 17:24:01浏览次数:27  
标签:网页 请求 Connection BurpSuite connection bp close 浏览器 连接

本人写这篇记录时,尚未熟悉bp基本操作,仅记录该次探索bp功能解决问题的心路历程。

发现并解决问题

最近两天为能打开尘封已久的bp,抓包做题,卸载了jdk20,下了jdk1.8(高版本jdk破解用的java命令完全不能执行,挣扎了一天尝试找功能相同的jdk20代码,以失败告终),一顿操作后发现居然有的页面还是无法打开(不使用代理可以正常打开),尤其是靶机页面,首先报错显示连接重置connection reset,等我根据网上找的资料把bp设置的时间限制判断全部删光之后,又报错连接超时移除服务Timeout in communication with remote server
打不开的网页有:有道翻译(fanyi.youdao.com)、至少两个CTF练习网站的靶机网页等。

下图为连接重置报错

下图为删除了时间限制判断

下图为连接超时移除服务报错

不理解为什么有的页面能访问,有的就不行,而且这些不能访问的页面也没有什么共同特点,于是我决定抓包再分析一下。

下图为历史抓包结果(抓包修改内容的时候没有截图,直接翻历史记录了)

发现请求包中有一行connection: close,连接关闭看上去不是个好词,我把它删除然后发出了请求包,结果发现页面正常显示了,而且反应很快。

删除connection: close后接收到的数据包如下图

接收到的数据包connection的设置是keep-alive。

既然很有可能是connection: close的问题,我又抓包测试了某CTF题目练习网站的其他web靶机页面,只要删除请求包中的这一行,网页就能正常访问了。但是问题又来了,我总不能请求一次页面手动改一次请求包吧。

为了搞清原理,彻底解决问题,我在网上查找请求包中connection设置为close的相关资料,发现报错的问题可能是bp的设置导致的,bp的设置可以对请求包进行修改(截至2024.4.30还没有彻底搞清楚原理,不知道到底是原本请求包中就有connection: close还是bp加上去的)

涉及到的选项设置如下

只要取消勾选红框内的选项,就相当于将connection设置为keep-alive,原本报错超时的网页就可以正常打开了。
在此之后又有一个发现,connection设置为keep-alive后,原本能打开的网站(connection: close能打开的网站)访问需要的时间显著变长,超级慢,但是仍然可以打开。


解决方法总结

在使用bp代理的时候,如果遇到只有部分网页报错显示连接重置(connection reset)或者连接超时移除服务(Timeout in communication with remote server),可以尝试在bp代理模块(Proxy)的选项设置(Options)中,取消勾选“将连接关闭设置为接收请求”(Set response header "Connection: close")。
如果有页面加载时间过长,可以尝试勾选“将连接关闭设置为接收请求”(Set response header "Connection: close")。


关于Connection的两种选项对HTTP请求的影响

HTTP 协议中的 Connection 头字段用于决定客户端和服务器之间的连接是否应该保持打开状态。在发送 HTTP 请求时,Connection 头字段可以设置为 close 或 keep-alive,这两个选项决定了连接在请求处理后的行为。

  1. Connection: close

    • 当请求头中包含 Connection: close 时,它告诉服务器在完成响应后应该立即关闭这个连接。这意味着每次请求都会建立一个新的连接,并在收到响应后立即断开这个连接。

    • 使用 close 可以确保每个请求都拥有自己独立的连接,收到相应后立即断开的特点在某些特定场景下有好处,比如希望服务器或客户端能确切知道连接何时结束。

    • 适用于只需要单次请求或不需要长时间保持连接的场景。

  2. Connection: keep-alive

    • 当请求头中包含 Connection: keep-alive 时,它告诉服务器在响应后不要关闭连接,以便后续可以在同一个连接上发送更多的请求。这样可以避免频繁地建立和关闭连接,从而提高性能。

    • 使用 keep-alive 机制,多个请求可以复用一个 TCP 连接,无需为每个请求都新建一个连接。这减少了延迟,更有效地利用了网络资源。
      它们的作用和原理:

    • 适用于需要频繁与服务器交互或希望减少连接建立和关闭开销的场景。

HTTP/1.1 默认使用 keep-alive,如果请求头中没有明确指定 Connection 字段,那么默认就会保持连接开放。但是并非所有服务器和客户端都支持持久连接,在这种情况下,即使指定了 keep-alive,连接也可能在一次请求后被关闭。

标签:网页,请求,Connection,BurpSuite,connection,bp,close,浏览器,连接
From: https://www.cnblogs.com/sK07XdAy/p/18168408

相关文章

  • 当Surveymonkey报错Request Header Fields Too Large时需要清理Edge浏览器缓存
     第一步:点击浏览器左上角的...第二步:依次进入Cookie和网站权限---管理和删除Cookie和站点数据。第三步:点击查看所有Cookie和站点数据。第四步:点击全部删除。第五步:清除站点Cooke数据。......
  • 引爆你的网页乐趣!前端十个令人捧腹的JavaScript整蛊代码。
    愚人节整蛊代码。想要在网页上增添一抹幽默与惊喜吗?或是想给你的朋友一个意想不到的“小惊喜”?那么,这十款简单而有趣的JavaScript前端整蛊代码绝对能满足你的需求!每一个代码都能让你的网页瞬间变得生动有趣。1,抖动页面在线效果演示:张苹果博客模拟页面抖动的动画效果。3秒后......
  • python脚本获取当前浏览器客户端的公共ip以及其详细信息
    python脚本获取当前客户端的公共ip以及其详细信息importrequestsfromflaskimportFlask,request,make_response,send_from_directoryfromdatetimeimportdatetimeimportasynciofromhypercorn.asyncioimportservefromhypercorn.configimportConfigimportos......
  • 修改谷歌浏览器ua
    1.找到对应的配置项2.设置ua参数ua参数:UA:安卓QQ内置浏览器UA:Mozilla/5.0(Linux;Android5.0;SM-N9100Build/LRX21V)AppleWebKit/537.36(KHTML,likeGecko)Version/4.0Chrome/37.0.0.0MobileSafari/537.36V1_AND_SQ_5.3.1_196_YYB_DQQ/5.3.1.2335NetType/WIF......
  • 网页布局------导航栏悬浮特效
    实现效果:当鼠标指针悬浮在导航栏上会出现内阴影效果页面结构<ul><li>首页</li><li>知识星球</li><li>趣味问答</li><li>奖品</li></ul>页面样式*{margin:0;padding:0;......
  • 为什么vue打印的对象在浏览器中显示...
    1.现象当在vue中打印对象的时候会发现有一些属性或者全部属性都是显示的...,点击展开后才能看到真正的值是什么.2.原因因为在vue中对象都是用了代理重写了get,由于get重写也就导致了浏览器不能直接获取到具体的值,因此才会在打印的时候为...,手动点击展开才显示具体的值......
  • google浏览器插件开发
    项目结构在开发Chrome插件时,以下几个文件的作用如下:manifest.json:这是Chrome插件的清单文件,用于配置插件的基本信息、权限、页面跳转等。其中包括插件的名称、版本号、图标、后台脚本、浏览器动作等信息。background.js:这是Chrome插件的后台脚本文件,用于处理插件的后台逻辑......
  • js设置网页标题、关键字、描述
    import.meta.env.VITE...Vue.js3.x获取环境变量letdocTitle=import.meta.env.VITE_TITLE;letdocDesc=import.meta.env.VITE_DESCRIPT;letdocKeywords=import.meta.env.VITE_KEYWORDS;//设置页面标题document.title=docTitle;//设置页......
  • 网页布局------几种布局方式
    1、认识布局(1)确认页面的版心宽度版心是指页面的有效使用面积,主要元素以及内容所在的区域,一般在浏览器窗口中水平居中显示。在设计网页时,页面尺寸宽度一般为1200-1920排序。但是为例适配不同分辨率的显示器,一般版心宽度为1000-1200px。例如,屏幕分辨率为1021*768的浏览器,在浏览器......
  • 检测浏览器是否是处于开发模式、禁用F12和右键
    <script>functionisDevModel(){//阻止F12,Ctrl+Shift+Idocument.addEventListener('keydown',function(event){if((event.ctrlKey&&event.shiftKey&&event.keyCode==7......