HTTP的上传文件实例分析
这个是http文件传输的一种格式,当时不知道这种格式,废弃。
HTTP的上传文件实例分析
由于论坛不支持Word写文章发帖。
首先就是附件发送怎么搞,这个必须解决。论坛是php的。我用Chrome类浏览器跟踪请求,但是上传的文件流怎么发过去没找到,估计流可能多或者什么的不好显示,只知道发送了文件名字。需要实际了解下post文件,不能只会后台或界面不了解前台数据处理和协议怎么传送数据。
图中:有些相关文章 HTTP请求中的form data和request payload的区别 AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
Multipart/form-data POST文件上传详解 《RFC 1867 -Form-based File Upload in HTML》
结构和我曾经通过Smtp提交带有软件BUG附件的形式相似。。。有边界。。。

所以使用抓包工具,如WireShark。机器64位。Ip = 118.192.48.35.

WireShark过滤下好看。前两个是删除文件,后两个才是上传,可以看到有个GIF89a字样。

然后选择后两个其中一个右键菜单-选择Follow TCP Stream,做的事情就是TCP数据包重组。弹出对话框如下:


流的内容出现的顺序同他们在网络中出现的顺序一致。从A到B的通信标记为红色,从B到A的通信标记为蓝色。即请求request为红色,response为蓝色。
从中看出有两次完整来回交互,其中第二个才是文件流。

GIF89a.......^K..w............h......!..NETSCAPE2.0.....!...d...,..........&h..*0.%....1,...u..a...U.X.....f. *Mo$.!.......,...........XS....I. ....!.......,..............A.H...!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........X.V.....!.......,............U
..;
文件内容格式Content-Type为image/gif,然后是流数据(标头+回车换行(0x0d+0x0a)+文件二进制),这里ASCII展示了,不可打印字符为点号表示。
这里把选中内容直接复制出来到WinHex粘贴不行,复制到点号时就不行了。
需要点选Save As保存Raw形式文件,然后到winhex打开找到它。
步骤是Ctrl+F输入gif。

继续找到目标,然后选择目标内容,ODOA(出车换行)开始和结束,如图。

选中后就会一直选中,在任意位置右键保存到文件就可以dump出来了。文件为
。

对于后面的html以gzip编码一样,步骤dump出来,保存为windows保存为zip后缀吧,这样直接rar打开。

至http解压出文件结束。
增强域名注册账户和DNS管理账户安全-防止域名被盗和域名恶意解析
站长故事:网站域名被盗的经历 http://www.williamlong.info/blog/archives/99.html
HTTP的上传文件实例分析的更多相关文章
- PHP+ajaxForm异步带进度条上传文件实例
在使用ajaxForm方法之前,首先需要安装form.js的插件,网上有: 一.首先说用法,ajaxForm可以接收0或1个参数,该参数可以是一个变量.一个对象或回调函数,这个对象主要有以下参数: v ...
- jQuery ajax上传文件实例
jQuery ajax上传文件实例 <form id="form" enctype="multipart/form-data"><input ...
- php 上传文件实例 上传并下载word文件
上传界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- JSP通过SmartUpload上传文件实例
httpRequest.setCharacterEncoding("gbk"); String preName = genName.doMake();//设置文件前缀名 Strin ...
- HttpClient 测试web API上传文件实例
1.使用HttpClient 测试上传文件并且设置header信息: using Lemon.Common; using Newtonsoft.Json; using System; using Sy ...
- jquery插件--ajaxfileupload.js上传文件原理分析
英文注解应该是原作者写的吧~说实话,有些if判断里的东西我也没太弄明白,但是大致思路还是OK的. jQuery.extend({ createUploadIframe: function (id, u ...
- php 上传文件实例 注册账号
注册界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- vue axios上传文件实例
<head> <title></title> <meta charset="UTF-8"> <meta name=" ...
- MVC 上传文件实例
http://www.cnblogs.com/leiOOlei/archive/2011/08/17/2143221.html
随机推荐
- Oracle跟踪分析数据库启动的各个阶段
目录 启动到nomount状态 设置trace 启动数据库到mount状态并打开 查阅trace 查阅trace的另外方法 v$diag_info 视图 演示如下: 启动到nomount状态 SYS@ ...
- 2011 Michigan Invitational Programming Contest
Crossings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100463 Description ...
- python 向MySQL里插入中文数据
用python向MySQL中插入中文数据出错,原代码片段: 1 db = MySQLdb.connect("localhost","root","12 ...
- iOS学习笔记15-序列化、偏好设置和归档
一.本地持久化 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件( ...
- properties类的基本使用方法
properties类的基本使用方法1.假设有“pp.properties”,内容有 age=22 2.java中用下面方法: Properties props = ...
- wsgi 简介
原文博客地址 http://blog.csdn.net/on_1y/article/details/18803563
- MysqL5.7在使用mysqldump命令备份数据库报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.
在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 [root@iZ2ze503xw2q1fftv5rhboZ mysql_bak]# /usr/local ...
- php——离线执行任务
<?php//设置忽略是否关闭终端窗口ignore_user_abort(true);ini_set('max_execution_time', '0');//采集页面函数,看不懂执行百度cur ...
- Java游戏服务器搭建
一.前言 此游戏服务器架构是一个单服的形式,也就是说所有游戏逻辑在一个工程里,没有区分登陆服务器.战斗服务器.世界服务器等.此架构已成功应用在了多款页游服务器 .在此框架中没有实现相关业务逻辑,只有简 ...
- BZOJ 1090 字符串折叠(Hash + DP)
题目链接 字符串折叠 区间DP.$f[l][r]$为字符串在区间l到r的最小值 正常情况下 $f[l][r] = min(f[l][r], f[l][l+k-1]+f[l+k][r]);$ 当$l$到 ...