设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 65|回复: 2
打印 上一主题 下一主题

骗人的“6行代码实现无组件上传”

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-20 00:33:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面是很多网站转载的原文
目前有很多无组件上传类,我大概看了一下,大多写的相当复杂,有的居然还只能传文本最关键的是没有10行代码以下的 :)我花了一个晚上时间研究了一下ADODB.Stream,并且用了6行代码实现了无组件上传:
strFileName = Request.QueryString("file1")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 '' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName
objStream.SaveToFile Server."123_onweb.gif",2

使用方法:
把上面的代码写成upload.asp
在浏览器里面输入:
http://XXX/upload.asp?file1=c:\上传文件\123.gif
XXX为你的主机地址
执行完后你会看到你的目录下面多了一个123_onweb.gif
他就是你要文件拉!!!!

根据原理我们可以扩展以下代码:
upload.asp文件
<%
Function GetFileName(ByVal strFile)
If strFile <> "" Then
GetFileName = mid(strFile,InStrRev(strFile, "\")+1)
Else
GetFileName = ""
End If
End function
strFileName = Request.Form("file1")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 '' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName
objStream.SaveToFile Server.MapPath(GetFileName(strFileName)),2
objStream.Close
%>
upload.htm文件
<form name="FORM" action="upload.asp" method="post">
<input type="submit" name="submit" value="OK">
<input type="file" name="file1" style="width:400" value="">
</form>
======================================
我一开始在本机上测试,果然可行,并加了大小、格式限制,也可以。
但上传到服务器上,问题来了。500错误,“文件无法被打开。”。
用baidu搜索了一下,在baidu的asp吧,发现了以下信息。
http://post.baidu.com/f?kz=4635658
(57楼和58楼)
========================================

这段代码肯定不行:
第一行 strFileName = Request.QueryString("file1") 只是传了一个文件名路径上去,服务器由于在本机所以按照这个路径能找到文件strFileName
所以第四行才能加载文件
objStream.LoadFromFile strFileName
第五行保存
objStream.SaveToFile Server.MapPath("123_onweb.gif"),2
其实对服务器来说这个文件本来就在服务器上,加载这个文件后重新保存了一个地方。这不是自欺欺人么,嘿嘿。
如果你的服务器在远程,试想服务器从d:\chang.jpg这个位置能找到这个文件么?
如果把这段代码放到服务器上反而还会造成巨大漏洞
攻击者修改file1的值就可以把你服务器上其他路径的文件复制到当前目录下甚至c盘
文件名为123_onweb.gif
然后他就可以下载这个文件
哈哈

[知识问答ωωω.χiuGoo.сom]
由于无知,害我浪费了很多时间,希望大家不要再上当。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 15:46 , Processed in 0.108790 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表