godlovesxcjtest
V2EX  ›  问与答

Chrome 的 bug 还是其他原因?(Dev Tools 不显示 http response body)

  •  
  •   godlovesxcjtest · Apr 2, 2020 · 1790 views
    This topic created in 2257 days ago, the information mentioned may be changed or developed.

    最近在研究瓜子二手车这个网站, https://www.guazi.com/dezhou/dazhong/ 发现一个令人头疼的事:

    1. 初次访问这个网站时,会返回 http 203,同时还返回一个混淆过的脚本,这个脚本用来生成 cookies 参数,同时,这个脚本还会再次访问请求网址,并携带 cookie 参数,此时 http code 是 200,并且正常返回内容了,如下图,有两个请求,一个是 200,另一个是 203 GG3ky4.png
    2. 我用 Chrome 抓包发现,第一个请求 的 http response 中显示没有数据,但是我用 burpsuite 抓包确可以看到 body 中返回了这个脚本 chrome 不显示返回内容 burpsuite 可以看到

    这是 chrome 的 bug,还是因为其他原因呢?

    12 replies    2020-04-02 16:13:46 +08:00
    chanchan
        1
    chanchan  
       Apr 2, 2020
    右键 Copy response 看看
    godlovesxcjtest
        2
    godlovesxcjtest  
    OP
       Apr 2, 2020
    @chanchan #1 还是那样,什么都看不到
    sarlanori
        3
    sarlanori  
       Apr 2, 2020
    我能想到的原因有两个:

    1 、返回的数据有问题,比如加密混淆过的,devtools 解不出来
    2 、devtools 正在解析的时候发生跳转,导致解析失败

    你可以尝试在返回数据的源码那里下断点看看返回结果到底是啥。
    sarlanori
        4
    sarlanori  
       Apr 2, 2020
    @sarlanori 我试了下,我这里是返回正常的。
    godlovesxcjtest
        5
    godlovesxcjtest  
    OP
       Apr 2, 2020
    @sarlanori #4 您这里可以看到第一个请求返回的脚本?我在网上搜了下,好像有很多人也和我的问题一样,看不到这个响应
    godlovesxcjtest
        6
    godlovesxcjtest  
    OP
       Apr 2, 2020
    @chanchan #1
    @sarlanori #3
    试了下,firefox 可以看到,chrome 以及基于 chromium 的 edge 都看不到
    cyndihuifei
        7
    cyndihuifei  
       Apr 2, 2020
    应该是 chrome 不显示跨域接口的返回值吧?看看接口地址和页面地址是不是跨域
    godlovesxcjtest
        8
    godlovesxcjtest  
    OP
       Apr 2, 2020
    @cyndihuifei #7 不是跨域
    sarlanori
        9
    sarlanori  
       Apr 2, 2020
    我用的 Linux 下的 Chrome,版本 73.0.3683.86 (正式版本)( 64 位),可以看到结果。
    goofool
        10
    goofool  
       Apr 2, 2020
    页面刷新了
    SunriseFox
        11
    SunriseFox  
       Apr 2, 2020   ❤️ 1
    确实有这个问题,原因应该是页面重新加载了所以上一次加载的上下文丢失掉了...
    可以在 Event Listener Breakpoint -> Script -> Script First Statement 处加断点,发现脚本调用了 xredirect (实际上是 location.replace ),页面刷新 devtools 就丢弃了上次响应的内容
    hronro
        12
    hronro  
       Apr 2, 2020 via iPhone   ❤️ 1
    存在许久的 BUG 了,我每次都是 COPY AS CURL 然后在 CURL 里面查看
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1232 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 23:50 · PVG 07:50 · LAX 16:50 · JFK 19:50
    ♥ Do have faith in what you're doing.