背景

七牛云存储的一个js文件,很长时间没有个更新。(仅限于联通的网络)最近发现已经被替换,替换之后大概的结构类似于

1. load 之前的文件
2. 加载一个第三方的js(混淆之后的并没有看懂)

然而,在第一步的过程中使用http请求,从而导致请求失败,才得以发现这次的劫持。

请求头

GET /statics/components/sys-man/role-man-detail.controller.e00c1331.js HTTP/1.1
Host: 马赛克
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Accept: */*
Referer: 马赛克
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

联通响应头

这可以看到直接从 cdn cache server中返回结果,

HTTP/1.1 200 OK
Server: nginx/1.2.2
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 761
Content-Type: text/html
X-Via: 1.1 PShnaywtye146:4 (Cdn Cache Server V2.0), 1.1 zhouwangtong133:1 (Cdn Cache Server V2.0)
Connection: keep-alive
X-Dscp-Value: 03

移动响应头

移动环境下是正确的

HTTP/1.1 200 OK
Date: Thu, 03 May 2018 06:35:03 GMT
Server: nginx
Content-Type: application/javascript
Content-Length: 1174
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: X-Log, X-Reqid
Access-Control-Max-Age: 2592000
Cache-Control: public, max-age=31536000
Content-Disposition: inline; filename="role-man-detail.controller.e00c1331.js"; filename*=utf-8' 'role-man-detail.controller.e00c1331.js
Content-Encoding: gzip
Content-Transfer-Encoding: binary
ETag: "FtSb8MHf6mZNnUsIMy5NAbW_mVN5.gz"
Last-Modified: Fri, 22 Dec 2017 06:39:04 GMT
X-Log: mc.g;0s.gh;PFDS;AUTHPROXY_jjh_out:3;IO:6
X-Reqid: CG4AAGezPRYGBSsV
X-Svr: IO
X-Qiniu-Zone: 0
X-Via: 1.1 tandianxin87:5 (Cdn Cache Server V2.0), 1.1 zhdxxz12:7 (Cdn Cache Server V2.0)
Connection: keep-alive
X-Dscp-Value: 0

记录一次联通cdn劫持的请求响应报文相关推荐

  1. http :请求响应报文-web服务-ajax-cors跨域

    node:http 协议:请求响应报文-web服务-url与对象的转化-ajax-cors跨域 1 梳理重点 1.1搭建服务 注意: ① 站点创建完成后,需要通过node命令启动 ② 创建站点的代码如 ...

  2. HTTP请求/响应报文结构

    HTTP请求/响应报文结构 HTTP请求报文 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据. 1.请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它 ...

  3. 【HTTP协议】HTTP请求/响应报文结构

    文章内容 HTTP请求/响应报文结构 请求报文 1.请求行 2.请求头部 3.空行 4.请求数据 响应报文 1.响应行 2.响应头 3.响应体 通用头.实体头 (1) 通用头域 (2) 实体头域 如果 ...

  4. 使用java解析Infor XA ERP SystemLink请求响应报文

    Infor XA ERP的SystemLink响应报文是一段比较复杂的xml,里面记录了操作是否成功的状态以及操作结果或者错误说明. 对SystemLink解析,就是从响应的xml报文里面解析出操作结 ...

  5. HTTP请求/响应报文头部结构

    HTTP请求 一个HTTP请求由四个部分组成:请求行.请求头部.空行.请求数据. -请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET /data ...

  6. HTTP协议请求响应报文相关介绍

    1.相关概念 1.1  TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据: 1.2  HTTP协议是基于TCP之上的,当浏览器须要从Server ...

  7. python之http请求响应报文

    1. HTTP 请求报文介绍 HTTP最常见的请求报文有两种: GET 方式的请求报文 POST 方式的请求报文 说明: GET: 获取web服务器数据 POST: 向web服务器提交数据 2. HT ...

  8. 初次使用Apache、ip地址、防火墙、域名、DNS、hosts文件、端口、URL介绍、Apache配置文件、配置虚拟主机、请求响应、http协议、

    Apache提供web服务: 启动Apache,让其客户端可以使用你机器上安装的Apache提供的web服务,访问你机器上的网站.这种情况下你的计算机就是服务器,别人的机器就是客户端. 注意:确保配置 ...

  9. 我是这样发现ISP劫持HTTP请求的

    编者按:Fundebug的客户通过分析我们提供的报警信息,定位了一个非常棘手的问题-ISP劫持http请求.他的分析过程非常有意思,同时也提醒我们,应该及时支持HTTPS来保证站点安全. 原文: IS ...

最新文章

  1. java 图片合成 工具类_Java实现的图片上传工具类完整实例
  2. 我用90年代的古董电脑训练CNN
  3. DefaultServlet
  4. SAP云平台点了subscription菜单后的roundtrip
  5. c#中BackGroundWorker控件
  6. android 通知垃圾回收,Android中垃圾回收日志信息
  7. 如何绘制逻辑图 — 3.要素的属性:粒度与分层
  8. MongoDB数据库备份恢复与导入导出
  9. Solana 海湾流(Gulf Stream)海平面(Sealevel)区别
  10. matlab pid参数仿真研究,利用MATLAB实现PID参数整定及仿真
  11. OCCT教程二:在visual studio上创建一个occt工程
  12. android x86 驱动精灵,手机驱动精灵软件下载(5个步骤即可解决)
  13. 如何给外行解释云计算
  14. kbhit linux windows通用,_kbhit() for Linux
  15. 前端架构,有什么能做的?
  16. 高清屏智能手表PSRAM存储芯片APS6404L-SQR-ZR
  17. 前端面试知识点大全——浏览器篇
  18. CAD图纸打印文字显示空心怎么办?
  19. python人工智能入门书籍推荐-了解、学习人工智能必看的十本书
  20. 如何裁剪视频画面?快来看看这个详细教程

热门文章

  1. microsoft sql server 错误18456
  2. putText输出中文方法
  3. 计算机能换显卡吗,笔记本能换显卡么 笔记本电脑能否换显卡【详解】
  4. 聊聊一道简单的javascript面试题
  5. 洛奇今天突然与服务器连接中断,《洛奇Mabinogi》官方网站
  6. 《二代妖精之今生有幸》到底谁才是真正的男主啊?
  7. 国产蓝牙耳机有哪些?音质好的国产品牌耳机排行榜
  8. 国产蓝牙耳机哪个好用?目前音质最好的国产蓝牙耳机推荐
  9. 基础java重点知识总结_Java基础知识要点总结
  10. java计算机毕业设计课题申报系统源码+mysql数据库+系统+lw文档+部署