╋艺 镇╋╋网站网络|程序语言|Flash╋┣◇网站建设&Web语言 → 利用上传漏洞上传.asp;jpg木马 该如何防范?


  共有18318人关注过本帖树形打印复制链接

主题:利用上传漏洞上传.asp;jpg木马 该如何防范?

美女呀,离线,留言给我吧!
admin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27521 威望:0 精华:7 注册:2003/12/30 16:34:32
利用上传漏洞上传.asp;jpg木马 该如何防范?  发帖心情 Post By:2013/4/25 13:42:57 [显示全部帖子]

.net上传功能 在上传过程中怎么判断出.asp;jpg木马文件。希望能够详细说明.asp;jpg木马是利用了什么方式并且都能说出详细的防止的方法,支持原创 最好说出自己的看法。

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

读取它的文件类型,不要根据扩展名来判断。

如果把一张网页的扩展名改成JPG,虽然图标变了,但它的文件类型还是text
------------------------------------


看看参考资料,也是我网上找到的,不过还没有试验,不知道是不是真的可以,但是可以参考一下他的写法 

我试了一下,效果还不错,你添加到你的上传文件即可

参考资料:http://www.030904.com/blog/blogview.asp?logID=834














http://zhidao.baidu.com/question/142183026.html


  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部
美女呀,离线,留言给我吧!
admin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27521 威望:0 精华:7 注册:2003/12/30 16:34:32
  发帖心情 Post By:2013/4/25 13:43:52 [显示全部帖子]

以下是上文中提到的验证代码:

L-BLOG的跨站漏洞介绍及修复方法 


<!--#include file="upload_wj.inc"-->

<%
set upload=new upload_file
if upload.form("act")="uploadfile" then
filepath=trim(upload.form("filepath"))
filelx=trim(upload.form("filelx"))

i=0
for each formName in upload.File
set file=upload.File(formName)

fileExt=lcase(file.FileExt) '得到的文件扩展名不含有.
if file.filesize<100 then
response.write "<span style=""font-family: 宋体; font-size: 9pt"">请先选择你要上传的文件! [ <a href=# onclick=history.go(-1)>重新上传</a> ]</span>"
response.end
end if
if (filelx<>"swf") and (filelx<>"jpg") then 
response.write "<span style=""font-family: 宋体; font-size: 9pt"">该文件类型不能上传! [ <a href=# onclick=history.go(-1)>重新上传</a> ]</span>"
response.end
end if
if filelx="swf" then
if fileext<>"swf" then
response.write "<span style=""font-family: 宋体; font-size: 9pt"">只能上传swf格式的Flash文件! [ <a href=# onclick=history.go(-1)>重新上传</a> ]</span>"
response.end
end if
end if
if filelx="jpg" then
if fileext<>"gif" and fileext<>"jpg" then
response.write "<span style=""font-family: 宋体; font-size: 9pt"">只能上传jpg或gif格式的图片! [ <a href=# onclick=history.go(-1)>重新上传</a> ]</span>"
response.end
end if
end if
if filelx="swf" then
if file.filesize>(3000*1024) then
response.write "<span style=""font-family: 宋体; font-size: 9pt"">最大只能上传 3M 的Flash文件! [ <a href=# onclick=history.go(-1)>重新上传</a> ]</span>"
response.end
end if
end if
if filelx="jpg" then
if file.filesize>(1000*1024) then
response.write "<span style=""font-family: 宋体; font-size: 9pt"">最大只能上传 1000K 的图片文件! [ <a href=# onclick=history.go(-1)>重新上传</a> ]</span>"
response.end
end if
end if

randomize
ranNum=int(90000*rnd)+10000
filename=filepath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt
%>
<%
if file.FileSize>0 then ''如果 FileSize > 0 说明有文件数据
'file.SaveAs Server.mappath(filename) ''保存文件

file.SaveToFile Server.mappath(FileName)

''以下代码Agang修改,

sFile=server.mappath(FileName)
set MyFile=server.CreateObject("Scripting.FileSystemObject")
set MyText=MyFile.OpenTextFile(sFile, 1) '读取文本文件
sTextAll=lcase(MyText.ReadAll)
MyText.close
'判断用户文件中的危险操作
sStr=".getfolder .createfolder .deletefolder .createdirectory .deletedirectory .saveas wscript.shell script.encode"
sNoString=split(sStr," ") 
for i=0 to ubound(sNoString)
if instr(sTextAll,sNoString(i)) then
set filedel=server.CreateObject ("Scripting.FileSystemObject")
filedel.deletefile server.mappath(FileName)
response.write "你的ip和时间已被纪录,由于你曾多次使用该方法对系统进行非法攻击,我们将会把你的数据向公安部及网警报告!"
set MyFiletemp=server.CreateObject("Scripting.FileSystemObject")
set wfile=myfiletemp.opentextfile(server.mappath("gjrz.txt"),8)
wfile.writeline date()&" "&time()&" "&request.servervariables("remote_addr")
Response.end
end if
next

'response.write file.FileName&"  上传成功!  <br/>"
'response.write "新文件名:"&FileName&"<br/>"
'response.write "新文件名已复制到所需的位置,可关闭窗口!"
if filelx="swf" then
response.write "<script>window.opener.document."&upload.form("FormName")&".size.value='"&int(file.FileSize/1024)&" K'</script>"
end if
response.write "<script>window.opener.document."&upload.form("FormName")&"."&upload.form("EditName")&".value='"&FileName&"'</script>"
%>
<%
end if
set file=nothing
next
set upload=nothing
end if
%>
<script language="javascript">
window.alert("文件上传成功!请不要修改生成的链接地址!");
window.close();
</script>

但经测试,如果将ASP文件加密,再改为JPG文件,同样还是可以上传,这样需要用到以下的代码,替换上面的:


'判断用户文件中的危险操作
sStr=".getfolder .createfolder .deletefolder .createdirectory .deletedirectory .saveas wscript.shell script.encode. 重命名 修改 属性 文件浏览器 新建 复制 成功 参数错误 服务器 空间 下载"

[此贴子已经被作者于2013-4-25 13:46:36编辑过]


  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部