没有将文件重命名,外加本地JS验证。配合IIS6.0解析漏洞 如果是IIS7 的话用火狐
漏洞出在fileload目录下的FileUpload.asp文件中,用的是无惧组建上传看代码
01 var fu = new FileUpload("uploadForm","idFile", { Limit: 3, ExtIn: ["rar","doc","xls"], RanName: true,
02 onIniFile: function(file){ file.value ? file.style.display ="none" : this.Folder.removeChild(file); },
03 onEmpty: function(){ alert("请选择一个文件"); },
04 onLimite: function(){ alert("超过上传限制"); },
05 onSame: function(){ alert("已经有相同文件"); },
06 onNotExtIn: function(){ alert("只允许上传" + this.ExtIn.join(",") +"文件"); },
07 onFail: function(file){ this.Folder.removeChild(file); },
08 onIni: function(){
09 //显示文件列表
10 var arrRows = [];
11 if(this.Files.length){
12 var oThis = this;
13 Each(this.Files, function(o){
14 var a = document.createElement("a"); a.innerHTML ="取消"; a.href ="javascript:void(0);";
15 a.onclick = function(){ oThis.Delete(o); return false; };
16 arrRows.push();
17 });
18 } else { arrRows.push(["<font color='gray'>没有添加文件</font>"," "]); }
19 AddList(arrRows);
20 //设置按钮
21 $("idBtnupload").disabled = $("idBtndel").disabled = this.Files.length <= 0;
22 }
23 });
24
25 $("idBtnupload").onclick = function(){
26 //显示文件列表
27 var arrRows = [];
28 Each(fu.Files, function(o){ arrRows.push(); });
29 AddList(arrRows);
30
31 fu.Folder.style.display ="none";
32 $("idProcess").style.display ="";
33 $("idMsg").innerHTML ="正在上传文件到服务器,请稍候……<br />有可能因为网络问题,出现程序长时间无响应,请点击“<a href='?'><font color='red'>取消</font></a>”重新上传文件";
34
35 fu.Form.submit();
36 }
37
38 //用来添加文件列表的函数
39 function AddList(rows){
40 //根据数组来添加列表
41 var FileList = $("idFileList"), oFragment = document.createDocumentFragment();
42 //用文档碎片保存列表
43 Each(rows, function(cells){
44 var row = document.createElement("tr");
45 Each(cells, function(o){
46 var cell = document.createElement("td");
47 if(typeof o =="string"){ cell.innerHTML = o; }else{ cell.appendChild(o); }
48 row.appendChild(cell);
49 });
50 oFragment.appendChild(row);
51 })
52 //ie的table不支持innerHTML所以这样清空table
53 while(FileList.hasChildNodes()){ FileList.removeChild(FileList.firstChild); }
54 FileList.appendChild(oFragment);
55 }
56
57
58 $("idLimit").innerHTML = fu.Limit;
59
60 $("idExt").innerHTML = fu.ExtIn.join(",");
61
62 $("idBtndel").onclick = function(){ fu.Clear(); }
63
64 //在后台通过window.parent来访问主页面的函数
65 function Finish(msg){ alert(msg); location.href = location.href; }
66
67 </script>
68 <span class="STYLE1"> <strong> 注意:</strong></span></p>
69 <p class="STYLE1"> ·请选择【<strong id="idExt">rar,doc,xls</strong>】格式的文件,其他格式的文件请打包后再上传。</p>
70 <p class="STYLE1"> ·文件名尽量详细,以方便下载。</p>
71 <p class="STYLE1"> ·文件不能过大。 </p>
72 </body>
73 </html>
页:
[1]