找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 67|回复: 2

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

[复制链接]
发表于 2010-1-20 00:33:58 | 显示全部楼层 |阅读模式 IP:江苏扬州
下面是很多网站转载的原文
目前有很多无组件上传类,我大概看了一下,大多写的相当复杂,有的居然还只能传文本最关键的是没有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]
由于无知,害我浪费了很多时间,希望大家不要再上当。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 17:31 , Processed in 0.331351 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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