从网吧的ARP欺骗看局域网的安全管理
[ 2007-03-25 03:04:38 | 作者: sun ]
我们在管理网站文件时,可以把扩展名一样的文件放在同一个目录下,起一个比较特别名字,例如放pdf文件目录为the_pdf_file_s,把下面代码另存为down.asp,他的网上路径为http://www.xx.com/down.asp,我们就可以用http://www.xx.com/down.asp?FileName=51windows.pdf来下载这个文件了,而且下载者无法看到这个文件实际下载路径的!在down.asp中我们还可以设置下载文件是否需要登陆,判断下载的来源页是否为外部网站,从而可以做到防止文件被盗链。
示例代码:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write "非法链接!" '防止盗链
response.end
end if
if Request.Cookies("Logined")="" then
response.redirect "/login.asp" '需要登陆!
end if
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
while instr(longname,"/")
longname = right(longname,len(longname)-1)
wend
GetFileName = longname
End Function
Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "无效文件名!"
Response.End
End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "非法操作!"
Response.End
End Select
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '对图像文件不出现下载对话框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
if lcase(right(FileName,3))="pdf" then '设置pdf类型文件目录
TrueFileName = "/the_pdf_file_s/"&FileName
end if
if lcase(right(FileName,3))="doc" then '设置DOC类型文件目录
TrueFileName = "/my_D_O_C_file/"&FileName
end if
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
TrueFileName = "/all_images_/"&FileName '设置图像文件目录
end if
Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
本地图片,音乐等ASP防盗链代码(asp)
以下是引用片段:
以下是引用片段:
<%
'定义函数,用ADODB.Stream读取二进制数据
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" ’设置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你读取存在本地的文件,防止被
别人知道真实路径盗连的。
%>
(1)下面的示例将 ContentType 属性设置为其他的常见值。
text/HTML 这个就不说了
image/GIF gif图片
image/JPEG jpg图片
application/x-cdf cdf文档
application/wma 就是西瓜哪个音乐类型了
具体可以参照 Web 浏览器文档或当前的 HTTP 规格说明
这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里
没有设置缓存,如果访问量巨大,我想设置下就会更好吧。
asp下载防盗链代码
第一种:
终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.gc888.cn" then
response.write "您下载的软件来自IT学习网,请直接从主页下载,谢谢<br>" ’防止盗链
response.write "<a href=http://www.gc888.cn>IT学习网http://www.gc888.cn</a>" ’防止盗链
response.end
end if
%>
第二种:
以下是引用片段:
以下是引用片段:
<%
’定义函数,用ADODB.Stream读取二进制数据
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"’文件名
Response.ContentType = "image/GIF" ’设置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))’就是你读取存在本地的文件,防止被
别人知道真实路径盗连的。
%>
下面的示例将 ContentType 属性设置为其他的常见值。 text/HTML 这个就不说了
image/GIF gif图片
image/JPEG jpg图片
application/x-cdf cdf文档
application/wma 就是西瓜哪个音乐类型了
具体可以参照 Web 浏览器文档或当前的 HTTP 规格说明
这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里
没有设置缓存,如果访问量巨大,我想设置下就会更好吧。
第三种:
最简单的用Active Server Pages防站外提交表单、跨站提交表单、防盗链……
方法:Request.SeverVariables("HTTP_REFERER")
解释:当某人通过链接到达当前页,HTTP_REFERER 就保存了这个用户的来源(来路)
举个例子,这个例子很简单,只是抛砖引玉而已,大家可以增加更多的功能。
如下,只有首先从“ http://www.gc888.cn”登陆才能看到文件内容。
源码:index.asp
以下是引用片段:
以下是引用片段:
<html>
<head><title>最简单的用asp防盗链</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl(http://www.gc888.cn)
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必须从"&url&"访问才能进来!")
End if
End Function
%>
<%
Sub main()
Response.write("这儿是你要显示的网页内容")
End sub
%>
</body>
</html>
该方法对防止盗链文章、站外提交表单、跨站提交表单还比较有效,对于软件盗链比如.rar.zip.exe等倒没什么作用。
不知各位读者是否有好的主意,呵呵。
还有一种方法就是用判断服务器及上一页的地址来完成。
以下是引用片段:
以下是引用片段:
<%
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要从外部提交数据"
else
call main()
end if
sub main()
’你的主体内容
end sub
%>
示例代码:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write "非法链接!" '防止盗链
response.end
end if
if Request.Cookies("Logined")="" then
response.redirect "/login.asp" '需要登陆!
end if
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
while instr(longname,"/")
longname = right(longname,len(longname)-1)
wend
GetFileName = longname
End Function
Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "无效文件名!"
Response.End
End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "非法操作!"
Response.End
End Select
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '对图像文件不出现下载对话框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
if lcase(right(FileName,3))="pdf" then '设置pdf类型文件目录
TrueFileName = "/the_pdf_file_s/"&FileName
end if
if lcase(right(FileName,3))="doc" then '设置DOC类型文件目录
TrueFileName = "/my_D_O_C_file/"&FileName
end if
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
TrueFileName = "/all_images_/"&FileName '设置图像文件目录
end if
Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
本地图片,音乐等ASP防盗链代码(asp)
以下是引用片段:
以下是引用片段:
<%
'定义函数,用ADODB.Stream读取二进制数据
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" ’设置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你读取存在本地的文件,防止被
别人知道真实路径盗连的。
%>
(1)下面的示例将 ContentType 属性设置为其他的常见值。
text/HTML 这个就不说了
image/GIF gif图片
image/JPEG jpg图片
application/x-cdf cdf文档
application/wma 就是西瓜哪个音乐类型了
具体可以参照 Web 浏览器文档或当前的 HTTP 规格说明
这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里
没有设置缓存,如果访问量巨大,我想设置下就会更好吧。
asp下载防盗链代码
第一种:
终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.gc888.cn" then
response.write "您下载的软件来自IT学习网,请直接从主页下载,谢谢<br>" ’防止盗链
response.write "<a href=http://www.gc888.cn>IT学习网http://www.gc888.cn</a>" ’防止盗链
response.end
end if
%>
第二种:
以下是引用片段:
以下是引用片段:
<%
’定义函数,用ADODB.Stream读取二进制数据
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"’文件名
Response.ContentType = "image/GIF" ’设置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))’就是你读取存在本地的文件,防止被
别人知道真实路径盗连的。
%>
下面的示例将 ContentType 属性设置为其他的常见值。 text/HTML 这个就不说了
image/GIF gif图片
image/JPEG jpg图片
application/x-cdf cdf文档
application/wma 就是西瓜哪个音乐类型了
具体可以参照 Web 浏览器文档或当前的 HTTP 规格说明
这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里
没有设置缓存,如果访问量巨大,我想设置下就会更好吧。
第三种:
最简单的用Active Server Pages防站外提交表单、跨站提交表单、防盗链……
方法:Request.SeverVariables("HTTP_REFERER")
解释:当某人通过链接到达当前页,HTTP_REFERER 就保存了这个用户的来源(来路)
举个例子,这个例子很简单,只是抛砖引玉而已,大家可以增加更多的功能。
如下,只有首先从“ http://www.gc888.cn”登陆才能看到文件内容。
源码:index.asp
以下是引用片段:
以下是引用片段:
<html>
<head><title>最简单的用asp防盗链</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl(http://www.gc888.cn)
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必须从"&url&"访问才能进来!")
End if
End Function
%>
<%
Sub main()
Response.write("这儿是你要显示的网页内容")
End sub
%>
</body>
</html>
该方法对防止盗链文章、站外提交表单、跨站提交表单还比较有效,对于软件盗链比如.rar.zip.exe等倒没什么作用。
不知各位读者是否有好的主意,呵呵。
还有一种方法就是用判断服务器及上一页的地址来完成。
以下是引用片段:
以下是引用片段:
<%
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要从外部提交数据"
else
call main()
end if
sub main()
’你的主体内容
end sub
%>
ASP防止盗链或防止下载的方法
[ 2007-03-25 03:04:24 | 作者: sun ]
我们在管理网站文件时,可以把扩展名一样的文件放在同一个目录下,起一个比较特别名字,例如放pdf文件目录为the_pdf_file_s,把下面代码另存为down.asp,他的网上路径为http://www.xx.com/down.asp,我们就可以用http://www.xx.com/down.asp?FileName=51windows.pdf来下载这个文件了,而且下载者无法看到这个文件实际下载路径的!在down.asp中我们还可以设置下载文件是否需要登陆,判断下载的来源页是否为外部网站,从而可以做到防止文件被盗链。
示例代码:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write "非法链接!" '防止盗链
response.end
end if
if Request.Cookies("Logined")="" then
response.redirect "/login.asp" '需要登陆!
end if
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
while instr(longname,"/")
longname = right(longname,len(longname)-1)
wend
GetFileName = longname
End Function
Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "无效文件名!"
Response.End
End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "非法操作!"
Response.End
End Select
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '对图像文件不出现下载对话框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
if lcase(right(FileName,3))="pdf" then '设置pdf类型文件目录
TrueFileName = "/the_pdf_file_s/"&FileName
end if
if lcase(right(FileName,3))="doc" then '设置DOC类型文件目录
TrueFileName = "/my_D_O_C_file/"&FileName
end if
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
TrueFileName = "/all_images_/"&FileName '设置图像文件目录
end if
Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
本地图片,音乐等ASP防盗链代码(asp)
以下是引用片段:
以下是引用片段:
<%
'定义函数,用ADODB.Stream读取二进制数据
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" ’设置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你读取存在本地的文件,防止被
别人知道真实路径盗连的。
%>
(1)下面的示例将 ContentType 属性设置为其他的常见值。
text/HTML 这个就不说了
image/GIF gif图片
image/JPEG jpg图片
application/x-cdf cdf文档
application/wma 就是西瓜哪个音乐类型了
具体可以参照 Web 浏览器文档或当前的 HTTP 规格说明
这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里
没有设置缓存,如果访问量巨大,我想设置下就会更好吧。
asp下载防盗链代码
第一种:
终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.gc888.cn" then
response.write "您下载的软件来自IT学习网,请直接从主页下载,谢谢<br>" ’防止盗链
response.write "<a href=http://www.gc888.cn>IT学习网http://www.gc888.cn</a>" ’防止盗链
response.end
end if
%>
第二种:
以下是引用片段:
以下是引用片段:
<%
’定义函数,用ADODB.Stream读取二进制数据
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"’文件名
Response.ContentType = "image/GIF" ’设置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))’就是你读取存在本地的文件,防止被
别人知道真实路径盗连的。
%>
下面的示例将 ContentType 属性设置为其他的常见值。 text/HTML 这个就不说了
image/GIF gif图片
image/JPEG jpg图片
application/x-cdf cdf文档
application/wma 就是西瓜哪个音乐类型了
具体可以参照 Web 浏览器文档或当前的 HTTP 规格说明
这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里
没有设置缓存,如果访问量巨大,我想设置下就会更好吧。
第三种:
最简单的用Active Server Pages防站外提交表单、跨站提交表单、防盗链……
方法:Request.SeverVariables("HTTP_REFERER")
解释:当某人通过链接到达当前页,HTTP_REFERER 就保存了这个用户的来源(来路)
举个例子,这个例子很简单,只是抛砖引玉而已,大家可以增加更多的功能。
如下,只有首先从“ http://www.gc888.cn”登陆才能看到文件内容。
源码:index.asp
以下是引用片段:
以下是引用片段:
<html>
<head><title>最简单的用asp防盗链</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl(http://www.gc888.cn)
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必须从"&url&"访问才能进来!")
End if
End Function
%>
<%
Sub main()
Response.write("这儿是你要显示的网页内容")
End sub
%>
</body>
</html>
该方法对防止盗链文章、站外提交表单、跨站提交表单还比较有效,对于软件盗链比如.rar.zip.exe等倒没什么作用。
不知各位读者是否有好的主意,呵呵。
还有一种方法就是用判断服务器及上一页的地址来完成。
以下是引用片段:
以下是引用片段:
<%
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要从外部提交数据"
else
call main()
end if
sub main()
’你的主体内容
end sub
%>
示例代码:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write "非法链接!" '防止盗链
response.end
end if
if Request.Cookies("Logined")="" then
response.redirect "/login.asp" '需要登陆!
end if
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
while instr(longname,"/")
longname = right(longname,len(longname)-1)
wend
GetFileName = longname
End Function
Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "无效文件名!"
Response.End
End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "非法操作!"
Response.End
End Select
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '对图像文件不出现下载对话框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
if lcase(right(FileName,3))="pdf" then '设置pdf类型文件目录
TrueFileName = "/the_pdf_file_s/"&FileName
end if
if lcase(right(FileName,3))="doc" then '设置DOC类型文件目录
TrueFileName = "/my_D_O_C_file/"&FileName
end if
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
TrueFileName = "/all_images_/"&FileName '设置图像文件目录
end if
Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
本地图片,音乐等ASP防盗链代码(asp)
以下是引用片段:
以下是引用片段:
<%
'定义函数,用ADODB.Stream读取二进制数据
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" ’设置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你读取存在本地的文件,防止被
别人知道真实路径盗连的。
%>
(1)下面的示例将 ContentType 属性设置为其他的常见值。
text/HTML 这个就不说了
image/GIF gif图片
image/JPEG jpg图片
application/x-cdf cdf文档
application/wma 就是西瓜哪个音乐类型了
具体可以参照 Web 浏览器文档或当前的 HTTP 规格说明
这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里
没有设置缓存,如果访问量巨大,我想设置下就会更好吧。
asp下载防盗链代码
第一种:
终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.gc888.cn" then
response.write "您下载的软件来自IT学习网,请直接从主页下载,谢谢<br>" ’防止盗链
response.write "<a href=http://www.gc888.cn>IT学习网http://www.gc888.cn</a>" ’防止盗链
response.end
end if
%>
第二种:
以下是引用片段:
以下是引用片段:
<%
’定义函数,用ADODB.Stream读取二进制数据
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"’文件名
Response.ContentType = "image/GIF" ’设置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))’就是你读取存在本地的文件,防止被
别人知道真实路径盗连的。
%>
下面的示例将 ContentType 属性设置为其他的常见值。 text/HTML 这个就不说了
image/GIF gif图片
image/JPEG jpg图片
application/x-cdf cdf文档
application/wma 就是西瓜哪个音乐类型了
具体可以参照 Web 浏览器文档或当前的 HTTP 规格说明
这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里
没有设置缓存,如果访问量巨大,我想设置下就会更好吧。
第三种:
最简单的用Active Server Pages防站外提交表单、跨站提交表单、防盗链……
方法:Request.SeverVariables("HTTP_REFERER")
解释:当某人通过链接到达当前页,HTTP_REFERER 就保存了这个用户的来源(来路)
举个例子,这个例子很简单,只是抛砖引玉而已,大家可以增加更多的功能。
如下,只有首先从“ http://www.gc888.cn”登陆才能看到文件内容。
源码:index.asp
以下是引用片段:
以下是引用片段:
<html>
<head><title>最简单的用asp防盗链</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl(http://www.gc888.cn)
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必须从"&url&"访问才能进来!")
End if
End Function
%>
<%
Sub main()
Response.write("这儿是你要显示的网页内容")
End sub
%>
</body>
</html>
该方法对防止盗链文章、站外提交表单、跨站提交表单还比较有效,对于软件盗链比如.rar.zip.exe等倒没什么作用。
不知各位读者是否有好的主意,呵呵。
还有一种方法就是用判断服务器及上一页的地址来完成。
以下是引用片段:
以下是引用片段:
<%
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要从外部提交数据"
else
call main()
end if
sub main()
’你的主体内容
end sub
%>
推荐:各类攻击软件原理与防范
[ 2007-03-25 03:02:20 | 作者: sun ]
特洛伊木马原理
BO(Back oriffice)象是一种没有任何权限限制的FTP服务器程序,黑客先使用各种方法诱惑他人使用BO的服务器端程序,一旦得逞便可通过BO客户端程序经由TCP/IP网络进入并控制远程的Windows的微机。
其工作原理:Boserve.exe在对方的电脑中运行后,自动在win里注册并隐藏起来,控制者在对方上网后通过Boconfig.exe(安装设置的程序)和Boclient.exe(文本方式的控制程序)或Bogui.exe(图形界面控制程序)来控制对方。
网上更有一些害人虫将木马程序和其他应用程序结合起来发送给攻击者,只要对方运行了那个程序,木马一样的会驻留到Windwos系统中。
BO本质上属于客户机/服务器应用程序。它通过一个极其简单的图形用户界面和控制面板,可以对感染了BO(即运行了 BO服务器)的机器操作Windows本身具备的所有功能。
这个仅有123K的程序,水平一流,令那些复杂而庞大的商用远程管理 软件相形见绌。而真正可怕的是:BO没有利用系统和软件的任何漏洞或Bug,也没有利用任何微软未公开的内部API,而完全是利用Windows系统的基本设计缺陷。甚至连普通的局域网防火墙和代理服务器也难以有效抵挡。
BO服务器可通过网上下载、电子邮件、盗版光盘、人为投放等途径传播,并且可极其隐藏地粘贴在其他应用程序。一旦激活,就可以自动安装,创建Windll.dll,然后删除自安装程序,埋名隐姓,潜伏在机器中。外人就可通过BO客户机程序,方便地搜索到世界上任何一台被BO感染并上网的计算机IP地址。通过IP地址就可对其轻易实现网络和系统控制功能。
可获取包括网址口令、拨号上网口令、用户口令、磁盘、CPU,软件版本等详细的系统信息;可删除、复制、检查、查看文件;可运行机内任何一个程序;可捕捉屏幕信息;可上传各种文件;可以查阅、创建、删除和修改系统注册表;甚至可以使计算机重新启动或锁死机器。而所有这些功能的实现,只需在菜单中作一选择,轻摁一键,就可轻松完成。 除了BO外,还有很多原理和它差不多的特洛伊木马程序,例如:“NetSpy”、“Netbus”等。
防范
不要随便运行不太了解的人给你的程序,特别是后缀名为exe的可执行程序。特洛伊木马程序很多,它们的安装服务器有Boserve.exe(122k),NETSPY.EXE(127k),如果你从Email收到或是DOWN了大小和上述文件一样的EXE文件,运行时可要小心了。运行后如果程序突然消失,或者是无任何反应,那你很可能是被攻击了。这时候你的电脑就完全被别人所控制,他可以复制,删除甚至运行你电脑里的文件和程序。这时你只要到注册表里去修改一下就可以消灭它:运行注册表找到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
下的RunServices和RUN键值中的“.EXE”和“NETSPY.EXE”等的键值,将其删除,重新启动你的计算机然后删除Windows\System下的“.EXE”和“NETSPY.EXE”等程序就行了。或用最新版本的杀毒软件,如瑞星90(11),KV300等,你也可以下载一些专门扫除特洛伊木马的软件。
如何防范Back orifice2000
对于Windows95和Windows98的用户:
检查c:\windows\system目录下是否有UMGR32~1.exe文件,如果有的话请运行Regedit将
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
中UMGT32.exe清除,Reboot你的机器,然后Delete你硬盘上的这个文件。
对于NT的用户:
检查winnt\system32目录下是否有UMGR32~1.exe这个文件,如果有的话请先在任务管理器中对应的进程Kill掉再运行Regedit将路径指向
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Remote Administration Service
然后Delete it,最好Reboot一次你的机器。
邮件炸弹原理
E-MAIL炸弹原本泛指一切破坏电子邮箱的办法,一般的电子邮箱的容量在5,6M以下,平时大家收发邮件,传送软件都会觉得容量不够,如果电子邮箱一下子被几百,几千甚至上万封电子邮件所占据,这是电子邮件的总容量就会超过电子邮箱的总容量,以至造成邮箱超负荷而崩溃。“kaboom3”、“upyours4”、“Avalanche v2.8”就是人们常见的几种邮件炸弹。
防范
⒈不要将自己的邮箱地址到处传播,特别是申请上网帐号时ISP送的电子信箱,那可是要按字节收费的哟!去申请几个免费信箱对外使用,随便别人怎么炸,大不了不要了。
⒉最好用POP3收信,你可以用Outlook 或Foxmail等POP收信工具收取Email。例如用Outlook,你可以选择“工具”/“收件箱助理”,然后点击“添加”在属性窗口可以设定对各种条件的Email的处理方式。如果我们想让超过1024KB的邮件直接从服务器上删除,根本不下载到计算机上,可以在邮件条件框中将“大于”选中,然后输入1024,接着在“执行下列操作”框中选中“从服务器删除”就行了。
⒊当某人不停炸你信箱时,你可以先打开一封信,看清对方地址,然后在收件工具的过滤器中选择不再接收这地址的信,直接从服务器删除。
⒋在收信时,一旦看见邮件列表的数量超过平时正常邮件的数量的若干倍,应当马上停止下载邮件,然后再从服务器删除炸弹邮件。(要用下面提到的工具)
⒌不要认为邮件发送有个回复功能,就可以将发炸弹的人报复回来,那是十分愚蠢的!发件人有可能是用的假地址发信,这个地址也许填得与收件人地址相同。这样你不但不能回报对方,还会使自己的邮箱彻底完结!
⒍你还可以用一些工具软件防止邮件炸弹。
端口攻击原理
这类软件是利用Window95/NT系统本身的漏洞,这与Windows下微软网络协议NetBIOS的一个例外处理程序OOB(Out of Band)有关。只要对方以OOB的方式,就可以通过TCP/IP传递一个小小的封包到某个IP地址的Port139上,该地址的电脑系统即(WINDOWS95/NT)就会“应封包而死”,自动重新开机,你未存档的所有工作就得重新再做一遍了。
你一定会问这个封包到底里面是些什么?会有如此神奇的效果!这不过是一些很小的ICMP(Internet Control Message Protocolata)碎片,当你机器收到这份“礼物”时,你的系统会不停地试图把碎片恢复,当然这是不可能的,它怎么会这样便宜你了!于是你的电脑系统就这样速度越来越慢直至完全死机!而你就只有重新启动。
其实,并不只是Port139会出现问题,只要是使用OOB的开放接受端,都有可能出现症状不一的“电脑狂乱”情形。例如,Identel所用的Port113,据说收到同样的封包也会出问题。常见的端口攻击器有“uKe23”、“voob”、WINNUKE2”。如果你还是用的Windows95,那您就要当心了。
防范
将你的Windows95马上升级到Windows98,首先修正Win95的BUG,在微软主页的附件中有对于Win95和OSR2以前的版本的补丁程序,Win98不需要。然后学会隐藏自己的IP,包括将ICQ中"IP隐藏"打开,注意避免在会显示IP的BBS和聊天室上暴露真实身份,特别在去黑客站点访问时最好先运行隐藏IP的程序。
JAVA炸弹原理
很多网友在聊天室中被炸了以后,就以为是被别人黑了,其实不是的。炸弹有很多种,有的是造成电脑直接死机,有的是通过HTML语言,让你的浏览器吃完你的系统资源,然后你就死机了。 这里我就告诉大家几个java炸弹的原理:
第一个炸弹是javascript类型的炸弹:
<img src="javascript:n=1;do{window.open('')}while(n==1)"
width="1">
这个Javascript语言要求浏览在新窗口中再打开本页。新的页面被打开以后就会同样提出要求,于是浏览器不停地打开新窗口,没几秒钟你就死机了。就算是不死机,你也必须把浏览器中内存中驱除出去,这样,你就被踢出了网络。
下面分析一下这个HTML语言的原理。 分析 "javascript:n=1;do{window.open('')}while(n==1)" ,javascript 是定义运行此语言,n=1 是定义变量 n 等于1, do{ }while(n==1) 指当 n 等于1,的时候运行{ }中间的命令,window.open('') 指打开本窗口,整个语言的意思是,变量 n 赋值为1,如果 n 等于1,那么就打开一个窗口,而 n 永远等于1,就不停地打开新的窗口。
同样道理,也可以利用无限循环的原理看看其他的炸弹。前面的文章中提到了 alert ("欢迎辞") 是用来致欢迎辞的,你可以在网页中加入以下的Javascript 语言:
<SCRIPT language="LiveScript">javascript:n=1;do{alert ("嘿嘿,你死定
了!");}while(n==1)</SCRIPT>
下面介绍一个1999年5月才出炉的java炸弹,威力比上两种都强,大家务必要当心。 我们就不在这里提供效果了!
<HTML>
<BODY>
<SCRIPT>
var color = new Array;
color = "black";
color = "white";
for(x = 0; x <3; x++)
{
document.bgColor = color[x]
if(x == 2)
{
x = 0;
}
}
</SCRIPT>
</BODY>
</HTML>
防范
唯一的防范方法就是你在聊天室聊天时,特别是支持HTML的聊天室(比如湛江,新疆等)请你一定记住关掉你浏览器里的java功能,还要记住不要浏览一些来路不明的网站和不要在聊天室里按其他网友发出的超级链接,这样可以避免遭到恶作剧者的攻击。
BO(Back oriffice)象是一种没有任何权限限制的FTP服务器程序,黑客先使用各种方法诱惑他人使用BO的服务器端程序,一旦得逞便可通过BO客户端程序经由TCP/IP网络进入并控制远程的Windows的微机。
其工作原理:Boserve.exe在对方的电脑中运行后,自动在win里注册并隐藏起来,控制者在对方上网后通过Boconfig.exe(安装设置的程序)和Boclient.exe(文本方式的控制程序)或Bogui.exe(图形界面控制程序)来控制对方。
网上更有一些害人虫将木马程序和其他应用程序结合起来发送给攻击者,只要对方运行了那个程序,木马一样的会驻留到Windwos系统中。
BO本质上属于客户机/服务器应用程序。它通过一个极其简单的图形用户界面和控制面板,可以对感染了BO(即运行了 BO服务器)的机器操作Windows本身具备的所有功能。
这个仅有123K的程序,水平一流,令那些复杂而庞大的商用远程管理 软件相形见绌。而真正可怕的是:BO没有利用系统和软件的任何漏洞或Bug,也没有利用任何微软未公开的内部API,而完全是利用Windows系统的基本设计缺陷。甚至连普通的局域网防火墙和代理服务器也难以有效抵挡。
BO服务器可通过网上下载、电子邮件、盗版光盘、人为投放等途径传播,并且可极其隐藏地粘贴在其他应用程序。一旦激活,就可以自动安装,创建Windll.dll,然后删除自安装程序,埋名隐姓,潜伏在机器中。外人就可通过BO客户机程序,方便地搜索到世界上任何一台被BO感染并上网的计算机IP地址。通过IP地址就可对其轻易实现网络和系统控制功能。
可获取包括网址口令、拨号上网口令、用户口令、磁盘、CPU,软件版本等详细的系统信息;可删除、复制、检查、查看文件;可运行机内任何一个程序;可捕捉屏幕信息;可上传各种文件;可以查阅、创建、删除和修改系统注册表;甚至可以使计算机重新启动或锁死机器。而所有这些功能的实现,只需在菜单中作一选择,轻摁一键,就可轻松完成。 除了BO外,还有很多原理和它差不多的特洛伊木马程序,例如:“NetSpy”、“Netbus”等。
防范
不要随便运行不太了解的人给你的程序,特别是后缀名为exe的可执行程序。特洛伊木马程序很多,它们的安装服务器有Boserve.exe(122k),NETSPY.EXE(127k),如果你从Email收到或是DOWN了大小和上述文件一样的EXE文件,运行时可要小心了。运行后如果程序突然消失,或者是无任何反应,那你很可能是被攻击了。这时候你的电脑就完全被别人所控制,他可以复制,删除甚至运行你电脑里的文件和程序。这时你只要到注册表里去修改一下就可以消灭它:运行注册表找到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
下的RunServices和RUN键值中的“.EXE”和“NETSPY.EXE”等的键值,将其删除,重新启动你的计算机然后删除Windows\System下的“.EXE”和“NETSPY.EXE”等程序就行了。或用最新版本的杀毒软件,如瑞星90(11),KV300等,你也可以下载一些专门扫除特洛伊木马的软件。
如何防范Back orifice2000
对于Windows95和Windows98的用户:
检查c:\windows\system目录下是否有UMGR32~1.exe文件,如果有的话请运行Regedit将
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
中UMGT32.exe清除,Reboot你的机器,然后Delete你硬盘上的这个文件。
对于NT的用户:
检查winnt\system32目录下是否有UMGR32~1.exe这个文件,如果有的话请先在任务管理器中对应的进程Kill掉再运行Regedit将路径指向
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Remote Administration Service
然后Delete it,最好Reboot一次你的机器。
邮件炸弹原理
E-MAIL炸弹原本泛指一切破坏电子邮箱的办法,一般的电子邮箱的容量在5,6M以下,平时大家收发邮件,传送软件都会觉得容量不够,如果电子邮箱一下子被几百,几千甚至上万封电子邮件所占据,这是电子邮件的总容量就会超过电子邮箱的总容量,以至造成邮箱超负荷而崩溃。“kaboom3”、“upyours4”、“Avalanche v2.8”就是人们常见的几种邮件炸弹。
防范
⒈不要将自己的邮箱地址到处传播,特别是申请上网帐号时ISP送的电子信箱,那可是要按字节收费的哟!去申请几个免费信箱对外使用,随便别人怎么炸,大不了不要了。
⒉最好用POP3收信,你可以用Outlook 或Foxmail等POP收信工具收取Email。例如用Outlook,你可以选择“工具”/“收件箱助理”,然后点击“添加”在属性窗口可以设定对各种条件的Email的处理方式。如果我们想让超过1024KB的邮件直接从服务器上删除,根本不下载到计算机上,可以在邮件条件框中将“大于”选中,然后输入1024,接着在“执行下列操作”框中选中“从服务器删除”就行了。
⒊当某人不停炸你信箱时,你可以先打开一封信,看清对方地址,然后在收件工具的过滤器中选择不再接收这地址的信,直接从服务器删除。
⒋在收信时,一旦看见邮件列表的数量超过平时正常邮件的数量的若干倍,应当马上停止下载邮件,然后再从服务器删除炸弹邮件。(要用下面提到的工具)
⒌不要认为邮件发送有个回复功能,就可以将发炸弹的人报复回来,那是十分愚蠢的!发件人有可能是用的假地址发信,这个地址也许填得与收件人地址相同。这样你不但不能回报对方,还会使自己的邮箱彻底完结!
⒍你还可以用一些工具软件防止邮件炸弹。
端口攻击原理
这类软件是利用Window95/NT系统本身的漏洞,这与Windows下微软网络协议NetBIOS的一个例外处理程序OOB(Out of Band)有关。只要对方以OOB的方式,就可以通过TCP/IP传递一个小小的封包到某个IP地址的Port139上,该地址的电脑系统即(WINDOWS95/NT)就会“应封包而死”,自动重新开机,你未存档的所有工作就得重新再做一遍了。
你一定会问这个封包到底里面是些什么?会有如此神奇的效果!这不过是一些很小的ICMP(Internet Control Message Protocolata)碎片,当你机器收到这份“礼物”时,你的系统会不停地试图把碎片恢复,当然这是不可能的,它怎么会这样便宜你了!于是你的电脑系统就这样速度越来越慢直至完全死机!而你就只有重新启动。
其实,并不只是Port139会出现问题,只要是使用OOB的开放接受端,都有可能出现症状不一的“电脑狂乱”情形。例如,Identel所用的Port113,据说收到同样的封包也会出问题。常见的端口攻击器有“uKe23”、“voob”、WINNUKE2”。如果你还是用的Windows95,那您就要当心了。
防范
将你的Windows95马上升级到Windows98,首先修正Win95的BUG,在微软主页的附件中有对于Win95和OSR2以前的版本的补丁程序,Win98不需要。然后学会隐藏自己的IP,包括将ICQ中"IP隐藏"打开,注意避免在会显示IP的BBS和聊天室上暴露真实身份,特别在去黑客站点访问时最好先运行隐藏IP的程序。
JAVA炸弹原理
很多网友在聊天室中被炸了以后,就以为是被别人黑了,其实不是的。炸弹有很多种,有的是造成电脑直接死机,有的是通过HTML语言,让你的浏览器吃完你的系统资源,然后你就死机了。 这里我就告诉大家几个java炸弹的原理:
第一个炸弹是javascript类型的炸弹:
<img src="javascript:n=1;do{window.open('')}while(n==1)"
width="1">
这个Javascript语言要求浏览在新窗口中再打开本页。新的页面被打开以后就会同样提出要求,于是浏览器不停地打开新窗口,没几秒钟你就死机了。就算是不死机,你也必须把浏览器中内存中驱除出去,这样,你就被踢出了网络。
下面分析一下这个HTML语言的原理。 分析 "javascript:n=1;do{window.open('')}while(n==1)" ,javascript 是定义运行此语言,n=1 是定义变量 n 等于1, do{ }while(n==1) 指当 n 等于1,的时候运行{ }中间的命令,window.open('') 指打开本窗口,整个语言的意思是,变量 n 赋值为1,如果 n 等于1,那么就打开一个窗口,而 n 永远等于1,就不停地打开新的窗口。
同样道理,也可以利用无限循环的原理看看其他的炸弹。前面的文章中提到了 alert ("欢迎辞") 是用来致欢迎辞的,你可以在网页中加入以下的Javascript 语言:
<SCRIPT language="LiveScript">javascript:n=1;do{alert ("嘿嘿,你死定
了!");}while(n==1)</SCRIPT>
下面介绍一个1999年5月才出炉的java炸弹,威力比上两种都强,大家务必要当心。 我们就不在这里提供效果了!
<HTML>
<BODY>
<SCRIPT>
var color = new Array;
color = "black";
color = "white";
for(x = 0; x <3; x++)
{
document.bgColor = color[x]
if(x == 2)
{
x = 0;
}
}
</SCRIPT>
</BODY>
</HTML>
防范
唯一的防范方法就是你在聊天室聊天时,特别是支持HTML的聊天室(比如湛江,新疆等)请你一定记住关掉你浏览器里的java功能,还要记住不要浏览一些来路不明的网站和不要在聊天室里按其他网友发出的超级链接,这样可以避免遭到恶作剧者的攻击。
MS07-004通用溢出方法补完
[ 2007-03-25 03:02:06 | 作者: sun ]
本文以ms07-004为例子,探讨了此类漏洞的通用方法,恢复ie方法,以及heap spray的技术。
抛砖引玉!
by axis
Date: 2007-02-13
Email: axis_at_ph4nt0m.org
MS07-004出来也有段时间了,我之前写过一个分析的paper,并且针对此发布了一个POC。
事实上,因为我们可以控制指向内存中的地址为0x00xxxxxx,除了第一个字节是00无法控制外,后面三个字节都是可以控制的,这样其实我们就有了一个很大范围的选择。
很多人为了通用而头疼,这里我针对这个exp给出一个通用地址。
因为这个漏洞比较特殊,所以可能这个地址只能适用于这一个地址。
0x00420001
00420000 00 00 00 00 00 00 00 00 00 00 01 00 48 1B DD BB ...........H莼
00420010 00 00 00 00 0C 00 01 00 C8 9A F2 E1 08 EA A4 E1 .......葰蜥辘
注意0x00420011的地方是0c
而在漏洞中利用的指针是 call [ecx+10h]
所以覆盖的地址需要减去10h
而这个0x00420011的地址,是和ie有关的,在目前所有的windows平台,不论语言和版本,以及所有的ie版本中,都是固定不变的为0c
所以我们利用了这个地址,就变成了call 0x00420011
就跑去0x0c000000去执行代码去了
而这个时候,堆里已经被我们heap spray过了,所以代码就会一直执行到我们的shellcode去。
这里选用0c的好处是因为双字节指令,非常方便用来做heap spray。
其实这类ie漏洞,主要的问题有几个
1.通用性 (上面已经解决了)
2.稳定性 (触发漏洞概率) ms07-004这个的稳定性我觉得还是不错的
3.不挂ie
关于这点可能要详细说一下, 之前以为只要单纯的恢复栈平衡就可以了,事实上恢复了栈平衡是没用的,因为这是个堆溢出,覆盖了堆内的指针,而堆已经被我们破坏干净了,所以后面总会在某个dll里出错。而栈本来就是平衡的,也不需要恢复。
所以这类漏洞,要达到不挂ie的效果(我说的是不挂ie,不是让ie僵死),就需要恢复堆。与牛人讨论后,得到两种方法:一个是hook RtlCreateHeap, hook RtlAllocHeap 重新分配个堆;另一个方法是:hook RtlFreeHeap不让挂掉就可以了。或者大家还有什么别的好方法,欢迎补充。
4.健壮性
由于是堆溢出,所以对于访问了多网页,内存中0x0c0c0c0c处已经被别的东西占用了,所以运行不到shellcode去,也是这个漏洞为什么不好的原因。
这个问题属于这类漏洞的先天缺陷。swan曾经提出用内存空洞的办法把堆地址推到内存高位去,可是我试过发现行不通。luoluo提出来用java分配内存,做heap spray。这个是个可行的方法,并且也已经poc实现了,分配的内存在0x21xxxxxx附近,而0x24这个指令又非常好,可以做heap spray。
ms07-004除了最后一点多网页的我问题没解决,其他都已经解决了,包括bypass firewall。poc代码不方便给出来,本文就到此为止。
抛砖引玉!
by axis
Date: 2007-02-13
Email: axis_at_ph4nt0m.org
MS07-004出来也有段时间了,我之前写过一个分析的paper,并且针对此发布了一个POC。
事实上,因为我们可以控制指向内存中的地址为0x00xxxxxx,除了第一个字节是00无法控制外,后面三个字节都是可以控制的,这样其实我们就有了一个很大范围的选择。
很多人为了通用而头疼,这里我针对这个exp给出一个通用地址。
因为这个漏洞比较特殊,所以可能这个地址只能适用于这一个地址。
0x00420001
00420000 00 00 00 00 00 00 00 00 00 00 01 00 48 1B DD BB ...........H莼
00420010 00 00 00 00 0C 00 01 00 C8 9A F2 E1 08 EA A4 E1 .......葰蜥辘
注意0x00420011的地方是0c
而在漏洞中利用的指针是 call [ecx+10h]
所以覆盖的地址需要减去10h
而这个0x00420011的地址,是和ie有关的,在目前所有的windows平台,不论语言和版本,以及所有的ie版本中,都是固定不变的为0c
所以我们利用了这个地址,就变成了call 0x00420011
就跑去0x0c000000去执行代码去了
而这个时候,堆里已经被我们heap spray过了,所以代码就会一直执行到我们的shellcode去。
这里选用0c的好处是因为双字节指令,非常方便用来做heap spray。
其实这类ie漏洞,主要的问题有几个
1.通用性 (上面已经解决了)
2.稳定性 (触发漏洞概率) ms07-004这个的稳定性我觉得还是不错的
3.不挂ie
关于这点可能要详细说一下, 之前以为只要单纯的恢复栈平衡就可以了,事实上恢复了栈平衡是没用的,因为这是个堆溢出,覆盖了堆内的指针,而堆已经被我们破坏干净了,所以后面总会在某个dll里出错。而栈本来就是平衡的,也不需要恢复。
所以这类漏洞,要达到不挂ie的效果(我说的是不挂ie,不是让ie僵死),就需要恢复堆。与牛人讨论后,得到两种方法:一个是hook RtlCreateHeap, hook RtlAllocHeap 重新分配个堆;另一个方法是:hook RtlFreeHeap不让挂掉就可以了。或者大家还有什么别的好方法,欢迎补充。
4.健壮性
由于是堆溢出,所以对于访问了多网页,内存中0x0c0c0c0c处已经被别的东西占用了,所以运行不到shellcode去,也是这个漏洞为什么不好的原因。
这个问题属于这类漏洞的先天缺陷。swan曾经提出用内存空洞的办法把堆地址推到内存高位去,可是我试过发现行不通。luoluo提出来用java分配内存,做heap spray。这个是个可行的方法,并且也已经poc实现了,分配的内存在0x21xxxxxx附近,而0x24这个指令又非常好,可以做heap spray。
ms07-004除了最后一点多网页的我问题没解决,其他都已经解决了,包括bypass firewall。poc代码不方便给出来,本文就到此为止。
使用杀毒软件的十大误区
[ 2007-03-25 03:01:54 | 作者: sun ]
几乎每个用电脑的人都遇到过计算机病毒,也使用过杀毒软件。但是,对病毒和杀毒软件的认识许多人还存在误区。杀毒软件不是万能的,但也绝不是废物。撰写此文的目的就是让更多的人能够对杀毒软件有正确的认识,更合理地使用杀毒软件。
误区一:好的杀毒软件可以查杀所有的病毒
许多人认为杀毒软件可以查杀所有的已知和未知病毒,这是不正确的。对于一个病毒,杀毒软件厂商首先要先将其截获,然后进行分析,提取病毒特征,测试,然后升级给用户使用。
虽然,目前许多杀毒软件厂商都在不断努力查杀未知病毒,有些厂商甚至宣称可以100%杀未知病毒。不幸的是,经过专家论证这是不可能的。杀毒软件厂商只能尽可能地去发现更多的未知病毒,但还远远达不到100%的标准。
甚至,至于一些已知病毒,比如覆盖型病毒。由于病毒本身就将原有的系统文件覆盖了。因此,即使杀毒软件将病毒杀死也不能恢复操作系统的正常运行。
误区二:杀毒软件是专门查杀病毒的,木马专杀才是专门杀木马的
计算机病毒在《中华人民共和国计算机信息系统安全保护条例》中被明确定义,病毒是指“编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。随着信息安全技术的不断发展,病毒的定义已经被扩大化。
随着技术的不断发展,计算机病毒的定义已经被广义化,它大致包含:引导区病毒、文件型病毒、宏病毒、蠕虫病毒、特洛伊木马、后门程序、恶意脚本、恶意程序、键盘记录器、黑客工具等等。
可以看出木马是病毒的一个子集,杀毒软件完全可以将其查杀。从杀毒软件角度讲,清除木马和清除蠕虫没有配制的区别,甚至查杀木马比清除文件型病毒更简单。因此,没有必要单独安装木马查杀软件。
误区三:我的机器没重要数据,有病毒重装系统,不用杀毒软件
许多电脑用户,特别是一些网络游戏玩家,认为自己的计算机上没有重要的文件。计算机感染病毒,直接格式化重新安装操作系统就万事大吉,不用安装杀毒软件。这种观点是不正确的。
几年前,病毒编写者撰写病毒主要是为了寻找乐趣或是证明自己。这些病毒往往采用高超的编写技术,有着明显的发作特征(比如某月某日发作,删除所有文件等等)。
但是,近几年的病毒已经发生了巨大的变化,病毒编写者以获取经济利益为目的。病毒没有明显的特征,不会删除用户计算机上的数据。但是,它们会在后台悄悄运行,盗取游戏玩家的账号信息、QQ密码甚至是银行卡的账号。由于这些病毒可以直接给用户带来经济损失。对于个人用户来说,它的危害性比传统的病毒更大。
对于此种病毒,往往发现感染病毒时,用户的账号信息就已经被盗用。即使格式化计算机重新安装系统,被盗的账号也找不回来了。误区四:查毒速度快的杀毒软件才好
不少人都认为,查毒速度快的杀毒软件才是最好的。甚至不少媒体进行杀毒软件评测时都将查杀速度作为重要指标之一。不可否认,目前各个杀毒软件厂商都在不断努力改进杀毒软件引擎,以达到更高的查杀速度。但仅仅以查毒速度快慢来评价杀毒软件的好坏是片面的。
杀毒软件查毒速度的快慢主要与引擎和病毒特征有关。举个例子,一款杀毒软件可以查杀10万个病毒,另一款杀毒软件只能查杀100个病毒。杀毒软件查毒时需要对每一条记录进行匹配,因此查杀100个病毒的杀毒软件速度肯定会更快些。
一个好的杀毒软件引擎需要对文件进行分析、脱壳甚至虚拟执行,这些操作都需要耗费一定的时间。而有些杀毒软件的引擎比较简单,对文件不做过多的分析,只进行特征匹配。这种杀毒软件的查毒速度也很快,但它却有可能会漏查比较多的病毒。
由此可见,虽然提高杀毒速度是各个厂商不断努力奋斗的目标,但仅从查毒速度快慢来衡量杀毒软件好坏是不科学的。
误区五:杀毒软件不管正版盗版,随便装一个能用的就行
目前,有很多人机器上安装着盗版的杀毒软件,他们认为只要装上杀毒软件就万无一失了,这种观点是不正确的。杀毒软件与其他软件不太一样,杀毒软件需要经常不断升级才能够查杀最新最流行的病毒。
此外,大多数盗版杀毒软件都在破解过程中或多或少地损坏了一些数据,造成某些关键功能无法使用,系统不稳定或杀毒软件对某些病毒漏查漏杀等等。更有一些居心不良的破解者,直接在破解的杀毒软件中捆绑了病毒、木马或者后门程序等,给用户带来不必要的麻烦。
杀毒软件买的是服务,只要正版的杀毒软件,才能得到持续不断的升级和售后服务。同时,如果盗版软件用户真的遇到无法解决的问题也不能享受和正版软件用户一样的售后服务,使用盗版软件看似占了便宜,实际得不偿失。
误区六:根据任务管理器中的内存占用判断杀毒软件的资源占用
很多人,包括一些媒体进行杀毒软件评测,都用Windows自带的任务管理器来查看杀毒软件的内存占用,进而判断一款杀毒软件的资源占用情况,这是值得商榷的。
不同杀毒软件的功能不尽相同,比如一款优秀的杀毒软件有注册表、漏洞攻击、邮件发送、接收、网页、引导区、内存等监控系统。比起只有文件监控的杀毒软件,内存占用肯定会更多,但却提供了更全面的安全防护。
同时,也有一小部分杀毒软件厂商为了对付评测,故意在程序中限定杀毒软件可占用内存数的大小,使这些数值看上去很小,一般在100KB甚至几十KB左右。实际上,内存占用虽然小了,但杀毒软件却要频繁的进行硬盘读写,反倒降低了软件的运行效率。误区七:只要不用软盘,不乱下东西就不会中毒
目前,计算机病毒的传播有很多途径。它们可以通过软盘、U盘、移动硬盘、局域网、文件,甚至是系统漏洞等进行传播。一台存在漏洞的计算机,只要连入互联网,即使不做任何操作,都会被病毒感染。
因此,仅仅从使用计算机的习惯上来防范计算机病毒难度很大,一定要配合杀毒软件进行整体防护。
误区八:杀毒软件应该至少装三个才能保障系统安全
尽管杀毒软件的开发厂商不同,宣称使用的技术不同,但他们的实现原理却可能是相似或相同的。同时开启多个杀毒软件的实时监控程序很可能会产生冲突,比如多个病毒防火墙同时争抢一个文件进行扫描。安装有多种杀毒软件的计算机往往运行速度缓慢并且很不稳定,因此,我们并不推荐一般用户安装多个杀毒软件,即使真的要同时安装,也不要同时开启它们的实时监控程序(病毒防火墙)。
误区九:杀毒软件和个人防火墙装一个就行了
许多人把杀毒软件的实时监控程序认为是防火墙,确实有一些杀毒软件将实时监控称为“病毒防火墙”。实际上,杀毒软件的实时监控程序和个人防火墙完全是两个不同的产品。
通俗地说,杀毒软件是防病毒的软件,而个人防火墙是防黑客的软件,二者功能不同,缺一不可。建议用户同时安装这两种软件,对计算机进行整体防御。
误区十:专杀工具比杀毒软件好 有病毒先找专杀
不少人都认为杀毒软件厂商推出专杀工具是因为杀毒软件存在问题,杀不干净此类病毒,事实上并非如此。针对一些具有严重破坏能力的病毒,有及传播较为迅速的病毒,杀毒软件厂商会义务地推出针对该病毒的免费专杀工具,但这并不意味着杀毒软件本身无法查杀此类病毒。如果你的机器安装有杀毒软件,完全没有必要再去使用专杀工具。
专杀工具只是在用户的计算机上已经感染了病毒后进行清除的一个小工具。与完整的杀毒软件相比,它不具备实时监控功能,同时专杀工具的引擎一般都比较简单,不会查杀压缩文件、邮件中的病毒,并且一般也不会对文件进行脱壳检查。
误区一:好的杀毒软件可以查杀所有的病毒
许多人认为杀毒软件可以查杀所有的已知和未知病毒,这是不正确的。对于一个病毒,杀毒软件厂商首先要先将其截获,然后进行分析,提取病毒特征,测试,然后升级给用户使用。
虽然,目前许多杀毒软件厂商都在不断努力查杀未知病毒,有些厂商甚至宣称可以100%杀未知病毒。不幸的是,经过专家论证这是不可能的。杀毒软件厂商只能尽可能地去发现更多的未知病毒,但还远远达不到100%的标准。
甚至,至于一些已知病毒,比如覆盖型病毒。由于病毒本身就将原有的系统文件覆盖了。因此,即使杀毒软件将病毒杀死也不能恢复操作系统的正常运行。
误区二:杀毒软件是专门查杀病毒的,木马专杀才是专门杀木马的
计算机病毒在《中华人民共和国计算机信息系统安全保护条例》中被明确定义,病毒是指“编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。随着信息安全技术的不断发展,病毒的定义已经被扩大化。
随着技术的不断发展,计算机病毒的定义已经被广义化,它大致包含:引导区病毒、文件型病毒、宏病毒、蠕虫病毒、特洛伊木马、后门程序、恶意脚本、恶意程序、键盘记录器、黑客工具等等。
可以看出木马是病毒的一个子集,杀毒软件完全可以将其查杀。从杀毒软件角度讲,清除木马和清除蠕虫没有配制的区别,甚至查杀木马比清除文件型病毒更简单。因此,没有必要单独安装木马查杀软件。
误区三:我的机器没重要数据,有病毒重装系统,不用杀毒软件
许多电脑用户,特别是一些网络游戏玩家,认为自己的计算机上没有重要的文件。计算机感染病毒,直接格式化重新安装操作系统就万事大吉,不用安装杀毒软件。这种观点是不正确的。
几年前,病毒编写者撰写病毒主要是为了寻找乐趣或是证明自己。这些病毒往往采用高超的编写技术,有着明显的发作特征(比如某月某日发作,删除所有文件等等)。
但是,近几年的病毒已经发生了巨大的变化,病毒编写者以获取经济利益为目的。病毒没有明显的特征,不会删除用户计算机上的数据。但是,它们会在后台悄悄运行,盗取游戏玩家的账号信息、QQ密码甚至是银行卡的账号。由于这些病毒可以直接给用户带来经济损失。对于个人用户来说,它的危害性比传统的病毒更大。
对于此种病毒,往往发现感染病毒时,用户的账号信息就已经被盗用。即使格式化计算机重新安装系统,被盗的账号也找不回来了。误区四:查毒速度快的杀毒软件才好
不少人都认为,查毒速度快的杀毒软件才是最好的。甚至不少媒体进行杀毒软件评测时都将查杀速度作为重要指标之一。不可否认,目前各个杀毒软件厂商都在不断努力改进杀毒软件引擎,以达到更高的查杀速度。但仅仅以查毒速度快慢来评价杀毒软件的好坏是片面的。
杀毒软件查毒速度的快慢主要与引擎和病毒特征有关。举个例子,一款杀毒软件可以查杀10万个病毒,另一款杀毒软件只能查杀100个病毒。杀毒软件查毒时需要对每一条记录进行匹配,因此查杀100个病毒的杀毒软件速度肯定会更快些。
一个好的杀毒软件引擎需要对文件进行分析、脱壳甚至虚拟执行,这些操作都需要耗费一定的时间。而有些杀毒软件的引擎比较简单,对文件不做过多的分析,只进行特征匹配。这种杀毒软件的查毒速度也很快,但它却有可能会漏查比较多的病毒。
由此可见,虽然提高杀毒速度是各个厂商不断努力奋斗的目标,但仅从查毒速度快慢来衡量杀毒软件好坏是不科学的。
误区五:杀毒软件不管正版盗版,随便装一个能用的就行
目前,有很多人机器上安装着盗版的杀毒软件,他们认为只要装上杀毒软件就万无一失了,这种观点是不正确的。杀毒软件与其他软件不太一样,杀毒软件需要经常不断升级才能够查杀最新最流行的病毒。
此外,大多数盗版杀毒软件都在破解过程中或多或少地损坏了一些数据,造成某些关键功能无法使用,系统不稳定或杀毒软件对某些病毒漏查漏杀等等。更有一些居心不良的破解者,直接在破解的杀毒软件中捆绑了病毒、木马或者后门程序等,给用户带来不必要的麻烦。
杀毒软件买的是服务,只要正版的杀毒软件,才能得到持续不断的升级和售后服务。同时,如果盗版软件用户真的遇到无法解决的问题也不能享受和正版软件用户一样的售后服务,使用盗版软件看似占了便宜,实际得不偿失。
误区六:根据任务管理器中的内存占用判断杀毒软件的资源占用
很多人,包括一些媒体进行杀毒软件评测,都用Windows自带的任务管理器来查看杀毒软件的内存占用,进而判断一款杀毒软件的资源占用情况,这是值得商榷的。
不同杀毒软件的功能不尽相同,比如一款优秀的杀毒软件有注册表、漏洞攻击、邮件发送、接收、网页、引导区、内存等监控系统。比起只有文件监控的杀毒软件,内存占用肯定会更多,但却提供了更全面的安全防护。
同时,也有一小部分杀毒软件厂商为了对付评测,故意在程序中限定杀毒软件可占用内存数的大小,使这些数值看上去很小,一般在100KB甚至几十KB左右。实际上,内存占用虽然小了,但杀毒软件却要频繁的进行硬盘读写,反倒降低了软件的运行效率。误区七:只要不用软盘,不乱下东西就不会中毒
目前,计算机病毒的传播有很多途径。它们可以通过软盘、U盘、移动硬盘、局域网、文件,甚至是系统漏洞等进行传播。一台存在漏洞的计算机,只要连入互联网,即使不做任何操作,都会被病毒感染。
因此,仅仅从使用计算机的习惯上来防范计算机病毒难度很大,一定要配合杀毒软件进行整体防护。
误区八:杀毒软件应该至少装三个才能保障系统安全
尽管杀毒软件的开发厂商不同,宣称使用的技术不同,但他们的实现原理却可能是相似或相同的。同时开启多个杀毒软件的实时监控程序很可能会产生冲突,比如多个病毒防火墙同时争抢一个文件进行扫描。安装有多种杀毒软件的计算机往往运行速度缓慢并且很不稳定,因此,我们并不推荐一般用户安装多个杀毒软件,即使真的要同时安装,也不要同时开启它们的实时监控程序(病毒防火墙)。
误区九:杀毒软件和个人防火墙装一个就行了
许多人把杀毒软件的实时监控程序认为是防火墙,确实有一些杀毒软件将实时监控称为“病毒防火墙”。实际上,杀毒软件的实时监控程序和个人防火墙完全是两个不同的产品。
通俗地说,杀毒软件是防病毒的软件,而个人防火墙是防黑客的软件,二者功能不同,缺一不可。建议用户同时安装这两种软件,对计算机进行整体防御。
误区十:专杀工具比杀毒软件好 有病毒先找专杀
不少人都认为杀毒软件厂商推出专杀工具是因为杀毒软件存在问题,杀不干净此类病毒,事实上并非如此。针对一些具有严重破坏能力的病毒,有及传播较为迅速的病毒,杀毒软件厂商会义务地推出针对该病毒的免费专杀工具,但这并不意味着杀毒软件本身无法查杀此类病毒。如果你的机器安装有杀毒软件,完全没有必要再去使用专杀工具。
专杀工具只是在用户的计算机上已经感染了病毒后进行清除的一个小工具。与完整的杀毒软件相比,它不具备实时监控功能,同时专杀工具的引擎一般都比较简单,不会查杀压缩文件、邮件中的病毒,并且一般也不会对文件进行脱壳检查。
手工清除灰鸽子并不难,重要的是我们必须懂得它的运行原理。
灰鸽子的运行原理
灰鸽子远程监控软件分两部分:客户端和服务端。黑客(姑且这么称呼吧)操纵着客户端,利用客户端配置生成出一个服务端程序。服务端文件的名字默认为G_Server.exe,然后黑客通过各种渠道传播这个服务端(俗称种木马)。种木马的手段有很多,比如,黑客可以将它与一张图片绑定,然后假冒成一个羞涩的MM通过QQ把木马传给你,诱骗你运行;也可以建立一个个人网页,诱骗你点击,利用IE漏洞把木马下载到你的机器上并运行;还可以将文件上传到某个软件下载站点,冒充成一个有趣的软件诱骗用户下载……这正违背了我们开发灰鸽子的目的,所以本文适用于那些让人非法安装灰鸽子服务端的用户,帮助用户删除灰鸽子Vip2005的服务端程序。本文大部分内容摘自互联网。
G_Server.exe运行后将自己拷贝到Windows目录下(Windows98/xp下为系统盘的windows目录,Windows2000/NT下为系统盘的Winnt目录),然后再从体内释放G_Server.dll和G_Server_Hook.dll到windows目录下。G_Server.exe、G_Server.dll和G_Server_Hook.dll三个文件相互配合组成了灰鸽子服务端,有些灰鸽子会多释放出一个名为G_ServerKey.dll的文件用来记录键盘操作。注意,G_Server.exe这个名称并不固定,它是可以定制的,比如当定制服务端文件名为A.exe时,生成的文件就是A.exe、A.dll和A_Hook.dll。
Windows目录下的G_Server.exe文件将自己注册成服务(9X系统写注册表启动项),每次开机都能自动运行,运行后启动G_Server.dll和G_Server_Hook.dll并自动退出。G_Server.dll文件实现后门功能,与控制端客户端进行通信;G_Server_Hook.dll则通过拦截API调用来隐藏病毒。因此,中毒后,我们看不到病毒文件,也看不到病毒注册的服务项。随着灰鸽子服务端文件的设置不同,G_Server_Hook.dll有时候附在Explorer.exe的进程空间中,有时候则是附在所有进程中。
灰鸽子的手工检测
由于灰鸽子拦截了API调用,在正常模式下服务端程序文件和它注册的服务项均被隐藏,也就是说你即使设置了“显示所有隐藏文件”也看不到它们。此外,灰鸽子服务端的文件名也是可以自定义的,这都给手工检测带来了一定的困难。
但是,通过仔细观察我们发现,对于灰鸽子的检测仍然是有规律可循的。从上面的运行原理分析可以看出,无论自定义的服务器端文件名是什么,一般都会在操作系统的安装目录下生成一个以“_hook.dll”结尾的文件。通过这一点,我们可以较为准确手工检测出灰鸽子服务端。
由于正常模式下灰鸽子会隐藏自身,因此检测灰鸽子的操作一定要在安全模式下进行。进入安全模式的方法是:启动计算机,在系统进入Windows启动画面前,按下F8键(或者在启动计算机时按住Ctrl键不放),在出现的启动选项菜单中,选择“Safe Mode”或“安全模式”。
1、由于灰鸽子的文件本身具有隐藏属性,因此要设置Windows显示所有文件。打开“我的电脑”,选择菜单“工具”—》“文件夹选项”,点击“查看”,取消“隐藏受保护的操作系统文件”前的对勾,并在“隐藏文件和文件夹”项中选择“显示所有文件和文件夹”,然后点击“确定”。
2、打开Windows的“搜索文件”,文件名称输入“_hook.dll”,搜索位置选择Windows的安装目录(默认98/xp为C:\windows,2k/NT为C:\Winnt)。
3、经过搜索,我们在Windows目录(不包含子目录)下发现了一个名为Game_Hook.dll的文件。
4、根据灰鸽子原理分析我们知道,如果Game_Hook.DLL是灰鸽子的文件,则在操作系统安装目录下还会有Game.exe和Game.dll文件。打开Windows目录,果然有这两个文件,同时还有一个用于记录键盘操作的GameKey.dll文件。
经过这几步操作我们基本就可以确定这些文件是灰鸽子服务端了,下面就可以进行手动清除。
灰鸽子的手工清除
经过上面的分析,清除灰鸽子就很容易了。清除灰鸽子仍然要在安全模式下操作,主要有两步:1、清除灰鸽子的服务;2删除灰鸽子程序文件。
注意:为防止误操作,清除前一定要做好备份。
一、清除灰鸽子的服务
Windows2000/WindowsXP系统:
1、打开注册表编辑器(点击“开始”-》“运行”,输入“Regedit.exe”,确定。),打开
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
注册表项。
2、点击菜单“编辑”-》“查找”,“查找目标”输入“game.exe”,点击确定,我们就可以找到灰鸽子的服务项(此例为Game_Server)。
3、删除整个Game_Server项。
Windows98/WindowsME系统:
在Windows9X下,灰鸽子启动项只有一个,因此清除更为简单。运行注册表编辑器,打开
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
项,我们立即看到名为Game.exe的一项,将Game.exe项删除即可。
二、删除灰鸽子程序文件
删除灰鸽子程序文件非常简单,只需要在安全模式下删除Windows目录下的Game.exe、Game.dll、Game_Hook.dll以及Gamekey.dll文件,然后重新启动计算机。至此,灰鸽子VIP 2005服务端已经被清除干净。
灰鸽子的运行原理
灰鸽子远程监控软件分两部分:客户端和服务端。黑客(姑且这么称呼吧)操纵着客户端,利用客户端配置生成出一个服务端程序。服务端文件的名字默认为G_Server.exe,然后黑客通过各种渠道传播这个服务端(俗称种木马)。种木马的手段有很多,比如,黑客可以将它与一张图片绑定,然后假冒成一个羞涩的MM通过QQ把木马传给你,诱骗你运行;也可以建立一个个人网页,诱骗你点击,利用IE漏洞把木马下载到你的机器上并运行;还可以将文件上传到某个软件下载站点,冒充成一个有趣的软件诱骗用户下载……这正违背了我们开发灰鸽子的目的,所以本文适用于那些让人非法安装灰鸽子服务端的用户,帮助用户删除灰鸽子Vip2005的服务端程序。本文大部分内容摘自互联网。
G_Server.exe运行后将自己拷贝到Windows目录下(Windows98/xp下为系统盘的windows目录,Windows2000/NT下为系统盘的Winnt目录),然后再从体内释放G_Server.dll和G_Server_Hook.dll到windows目录下。G_Server.exe、G_Server.dll和G_Server_Hook.dll三个文件相互配合组成了灰鸽子服务端,有些灰鸽子会多释放出一个名为G_ServerKey.dll的文件用来记录键盘操作。注意,G_Server.exe这个名称并不固定,它是可以定制的,比如当定制服务端文件名为A.exe时,生成的文件就是A.exe、A.dll和A_Hook.dll。
Windows目录下的G_Server.exe文件将自己注册成服务(9X系统写注册表启动项),每次开机都能自动运行,运行后启动G_Server.dll和G_Server_Hook.dll并自动退出。G_Server.dll文件实现后门功能,与控制端客户端进行通信;G_Server_Hook.dll则通过拦截API调用来隐藏病毒。因此,中毒后,我们看不到病毒文件,也看不到病毒注册的服务项。随着灰鸽子服务端文件的设置不同,G_Server_Hook.dll有时候附在Explorer.exe的进程空间中,有时候则是附在所有进程中。
灰鸽子的手工检测
由于灰鸽子拦截了API调用,在正常模式下服务端程序文件和它注册的服务项均被隐藏,也就是说你即使设置了“显示所有隐藏文件”也看不到它们。此外,灰鸽子服务端的文件名也是可以自定义的,这都给手工检测带来了一定的困难。
但是,通过仔细观察我们发现,对于灰鸽子的检测仍然是有规律可循的。从上面的运行原理分析可以看出,无论自定义的服务器端文件名是什么,一般都会在操作系统的安装目录下生成一个以“_hook.dll”结尾的文件。通过这一点,我们可以较为准确手工检测出灰鸽子服务端。
由于正常模式下灰鸽子会隐藏自身,因此检测灰鸽子的操作一定要在安全模式下进行。进入安全模式的方法是:启动计算机,在系统进入Windows启动画面前,按下F8键(或者在启动计算机时按住Ctrl键不放),在出现的启动选项菜单中,选择“Safe Mode”或“安全模式”。
1、由于灰鸽子的文件本身具有隐藏属性,因此要设置Windows显示所有文件。打开“我的电脑”,选择菜单“工具”—》“文件夹选项”,点击“查看”,取消“隐藏受保护的操作系统文件”前的对勾,并在“隐藏文件和文件夹”项中选择“显示所有文件和文件夹”,然后点击“确定”。
2、打开Windows的“搜索文件”,文件名称输入“_hook.dll”,搜索位置选择Windows的安装目录(默认98/xp为C:\windows,2k/NT为C:\Winnt)。
3、经过搜索,我们在Windows目录(不包含子目录)下发现了一个名为Game_Hook.dll的文件。
4、根据灰鸽子原理分析我们知道,如果Game_Hook.DLL是灰鸽子的文件,则在操作系统安装目录下还会有Game.exe和Game.dll文件。打开Windows目录,果然有这两个文件,同时还有一个用于记录键盘操作的GameKey.dll文件。
经过这几步操作我们基本就可以确定这些文件是灰鸽子服务端了,下面就可以进行手动清除。
灰鸽子的手工清除
经过上面的分析,清除灰鸽子就很容易了。清除灰鸽子仍然要在安全模式下操作,主要有两步:1、清除灰鸽子的服务;2删除灰鸽子程序文件。
注意:为防止误操作,清除前一定要做好备份。
一、清除灰鸽子的服务
Windows2000/WindowsXP系统:
1、打开注册表编辑器(点击“开始”-》“运行”,输入“Regedit.exe”,确定。),打开
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
注册表项。
2、点击菜单“编辑”-》“查找”,“查找目标”输入“game.exe”,点击确定,我们就可以找到灰鸽子的服务项(此例为Game_Server)。
3、删除整个Game_Server项。
Windows98/WindowsME系统:
在Windows9X下,灰鸽子启动项只有一个,因此清除更为简单。运行注册表编辑器,打开
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
项,我们立即看到名为Game.exe的一项,将Game.exe项删除即可。
二、删除灰鸽子程序文件
删除灰鸽子程序文件非常简单,只需要在安全模式下删除Windows目录下的Game.exe、Game.dll、Game_Hook.dll以及Gamekey.dll文件,然后重新启动计算机。至此,灰鸽子VIP 2005服务端已经被清除干净。
系统安全的最小特权原则
[ 2007-03-25 03:01:27 | 作者: sun ]
1、前言
系统安全的根本目标是数据资料的安全,而数据资料是由它的使用者进行存取和维护的。传统的数据存取和维护,都是以新的数据覆盖旧的数据,对于数据的无心错误,或有心的更改数据,一个管理者并无法有效地查出蛛丝马迹。因此,对数据的存取控制是系统安全的一个重要方面。为此,Sandhu等学者提出了一套以角色为基础的存取控制(Role-based Access Control,RBAC)理论,其基本组件包括使用者(User)、角色(Role)、授权(Authorization)及会话(Session)。如何为每个使用者分配相应的权力(即授权)将是本文将要分析的一个重要原则--最小特权原则(Least Privilege Theorem)。
2、最小特权原则简介
最小特权原则是系统安全中最基本的原则之一。所谓最小特权(Least Privilege),指的是"在完成某种操作时所赋予网络中每个主体(用户或进程)必不可少的特权"。最小特权原则,则是指"应限定网络中每个主体所必须的最小特权,确保可能的事故、错误、网络部件的篡改等原因造成的损失最小"。
最小特权原则一方面给予主体"必不可少"的特权,这就保证了所有的主体都能在所赋予的特权之下完成所需要完成的任务或操作;另一方面,它只给予主体"必不可少"的特权,这就限制了每个主体所能进行的操作。
最小特权原则要求每个用户和程序在操作时应当使用尽可能少的特权,而角色允许主体以参与某特定工作所需要的最小特权去签入(Sign)系统。被授权拥有强力角色(Powerful Roles)的主体,不需要动辄运用到其所有的特权,只有在那些特权有实际需求时,主体才去运用它们。如此一来,将可减少由于不注意的错误或是侵入者假装合法主体所造成的损坏发生,限制了事故、错误或攻击带来的危害。它还减少了特权程序之间潜在的相互作用,从而使对特权无意的、没必要的或不适当的使用不太可能发生。这种想法还可以引申到程序内部:只有程序中需要那些特权的最小部分才拥有特权。
3、最小特权原则的应用
3.1 安全操作系统
操作系统对于系统安全来说好比是大楼的地基,如果没有了它,大楼就无从谈起。在计算机系统的各个层次上,硬件、操作系统、网络软件、数据库管理系统软件以及应用软件,各自在计算机安全中都肩负着重要的职责。在软件的范畴中,操作系统处在最底层,是所有其他软件的基础,它在解决安全上也起着基础性、关键性的作用,没有操作系统的安全支持,计算机软件系统的安全就缺乏了根基。对安全操作系统的研究首先从1967年的Adept-50项目开始,随后安全操作系统的发展经历了奠基时期、食谱时期、多政策时期以及动态政策时期。国内对安全操作系统的开发大多处于食谱时期,即以美国国防部的TCSEC(又称橙皮书)或我国的计算机信息系统安全保护等级划分准则为标准进行的开发。
最小特权在安全操作系统中占据了非常重要的地位,它适应UNIX操作系统、超级用户/根目录体系结构的固有特征,以便了解如何到达根目录的的任何用户提供总体系统控制棗而且几乎在UNIX环境工作的所有程序员都了解这一点。
角色管理机制依据"最小特权"原则对系统管理员的特权进行了分化,每个用户只能拥有刚够完成工作的最小权限。然后根据系统管理任务设立角色,依据角色划分权限,每个角色各负其责,权限各自分立,一个管理角色不拥有另一个管理角色的特权。例如当入侵者取得系统管理员权限后欲访问一个高安全级别的文件,则很有可能被拒绝。因为用户(包括系统管理员)在登录后默认的安全级别是最低的,他无法访问高级别的文件,而安全级别的调整只有通过安全管理员才能完成。因此,安全管理员只要对敏感文件配置了合理的安全标记,系统管理员就无法访问这些文件。由此可知,安全管理员对系统管理员的权限进行了有力的限制。
Windows NT操作系统的某些漏洞也与最小特权的应用有关,例如:缺省组的权利和能力总是不能被删除,它们包括:Administrator组,服务器操作员组,打印操作员组,帐户操作员组。这是因为当删除一个缺省组时,表面上,系统已经接受了删除。然而,当再检查时,这些组并没有被真正删除。有时,当服务器重新启动时,这些缺省组被赋予回缺省的权利和能力。为了减小因此而带来的风险,系统管理员可以创建自己定制的组,根据最小特权的原则,定制这些组的权利和能力,以迎合业务的需要。可能的话,创建一个新的Administrator组,使其具有特别的指定的权利和能力。
下面介绍目前几种安全操作系统及最小特权的应用:
惠普的Praesidium/Virtual Vault
它通过以最小特权机制将根功能分成42种独立的特权,仅赋予每一应用程序正常运行所需的最小特权。因而,即便一名黑客将Trojan Horse(特洛伊木马)程序安装在金融机构的Web服务器上,入侵者也无法改变网络配置或安装文件系统。最小特权是在惠普可信赖操作系统Virtual Vault的基本特性。
红旗安全操作系统(RFSOS)
RFSOS在系统管理员的权限、访问控制、病毒防护方面具有突出的特点,例如在系统特权分化方面,红旗安全操作系统根据"最小特权"原则,对系统管理员的特权进行了分化,根据系统管理任务设立角色,依据角色划分特权。典型的系统管理角色有系统管理员、安全管理员、审计管理员等。系统管理员负责系统的安装、管理和日常维护,如安装软件、增添用户账号、数据备份等。安全管理员负责安全属性的设定与管理。审计管理员负责配置系统的审计行为和管理系统的审计信息。一个管理角色不拥有另一个管理角色的特权。攻击者破获某个管理角色的口令时不会得到对系统的完全控制。
中科安胜安全操作系统
安胜安全操作系统是参照美国国防部《可信计算机系统评估准则》B2级安全需求和我国新颁布的《计算机信息系统安全保护等级划分准则》,结合我国国情和实际需求,自行开发的高级别安全操作系统,即安胜安全操作系统(SecLinux),并通过国家信息安全测评认证中心认证,同时获得公安部的销售许可。
最小特权管理是SecLinux的一个特色,它使得系统中不再有超级用户,而是将其所有特权分解成一组细粒度的特权子集,定义成不同的"角色",分别赋予不同的用户,每个用户仅拥有完成其工作所必须的最小特权,避免了超级用户的误操作或其身份被假冒而带来的安全隐患。
3.2 Internet安全
Internet的发展可谓一日千里,而对Internet安全的要求却比Inerternet本身发展得更快。目前Internet上的安全问题,有相当多的是由于网络管理员对于角色权利的错误分配引起的。因此,最小特权原则在Internet安全上也大有用武之地。
在日常生活里,最小特权的例子也很多。一些汽车制造厂制造汽车锁,用一个钥匙开车门和点火器,而用另一个钥匙开手套箱和衣物箱;停车场的服务员有安排停车的权而没有从汽车衣物箱里取东西的权力;同样是最小特权,可以给人汽车的钥匙而不给他大门的钥匙。
在Internet上,需要最小特权的例子也很多,例如:不是每个用户都需要使用所有的网络服务;不是每个用户都需要去修改(甚至去读)系统中的所有文件;不是每个用户都需要知道系统的根口令(Root Password);不是每个系统管理员都必须知道系统的根口令;也不是每个系统都需要去申请每一个其他系统的文件等等。
Internet上出现的一些安全问题都可看成是由于最小特权原则的失败。例如Unix上最常用的邮件传输协议Sendmail,它是一个庞大而又复杂的程序。这样的程序肯定会有很多隐患。它经常运行全部解密(Setuid)根目录,这对很多攻击者是很有利的。系统上运行的程序希望是尽可能简单的程序,如果是一个较复杂的程序,那么应该找出办法从复杂部分里去分开或孤立需要特权的模块。
为了保护站点而采取的一些措施也是使用最小特权原则的,如包过滤系统就设计为只允许进入所需要的服务,而过滤掉不必要的服务。在堡垒主机里也使用了最小特权原则。
最小特权原则还有助于建立严格的身份认证机制。对于所有接触系统的人员,按其职责设定其访问系统的最小权限;并且按照分级管理原则,严格管理内部用户帐号和密码,进入系统内部必须通过严格的身份确认,防止非法占用、冒用合法用户帐号和密码。具体实现用户身份认证时,可以通过服务器CA证书与IC卡相结合实现。CA证书用来认证服务器的身份,IC卡用来认证企业用户的身份等等。
4、结束语
最小特权原则有效地限制、分割了用户对数据资料进行访问时的权限,降低了非法用户或非法操作可能给系统及数据带来的损失,对于系统安全具有至关重要的作用。但目前大多数系统的管理员对于最小特权原则的认识还不够深入。尤其是对于UNIX、Windows系列操作系统下,因为系统所赋予用户的默认权限是最高的权限,例如Windows NT下的目录和文件的默认权限是Everyone(所有人)均具有完全的权限,而Administrator(系统管理员)则有对整个系统的完全控制。如果系统的管理员不对此进行修改,则系统的安全性将非常薄弱。
当然,最小特权原则只是系统安全的原则之一,如纵深防御原则、特权分离原则、强制存取控制等等。如果要使系统的达到相当高的安全性,还需要其他原则的配合使用。
系统安全的根本目标是数据资料的安全,而数据资料是由它的使用者进行存取和维护的。传统的数据存取和维护,都是以新的数据覆盖旧的数据,对于数据的无心错误,或有心的更改数据,一个管理者并无法有效地查出蛛丝马迹。因此,对数据的存取控制是系统安全的一个重要方面。为此,Sandhu等学者提出了一套以角色为基础的存取控制(Role-based Access Control,RBAC)理论,其基本组件包括使用者(User)、角色(Role)、授权(Authorization)及会话(Session)。如何为每个使用者分配相应的权力(即授权)将是本文将要分析的一个重要原则--最小特权原则(Least Privilege Theorem)。
2、最小特权原则简介
最小特权原则是系统安全中最基本的原则之一。所谓最小特权(Least Privilege),指的是"在完成某种操作时所赋予网络中每个主体(用户或进程)必不可少的特权"。最小特权原则,则是指"应限定网络中每个主体所必须的最小特权,确保可能的事故、错误、网络部件的篡改等原因造成的损失最小"。
最小特权原则一方面给予主体"必不可少"的特权,这就保证了所有的主体都能在所赋予的特权之下完成所需要完成的任务或操作;另一方面,它只给予主体"必不可少"的特权,这就限制了每个主体所能进行的操作。
最小特权原则要求每个用户和程序在操作时应当使用尽可能少的特权,而角色允许主体以参与某特定工作所需要的最小特权去签入(Sign)系统。被授权拥有强力角色(Powerful Roles)的主体,不需要动辄运用到其所有的特权,只有在那些特权有实际需求时,主体才去运用它们。如此一来,将可减少由于不注意的错误或是侵入者假装合法主体所造成的损坏发生,限制了事故、错误或攻击带来的危害。它还减少了特权程序之间潜在的相互作用,从而使对特权无意的、没必要的或不适当的使用不太可能发生。这种想法还可以引申到程序内部:只有程序中需要那些特权的最小部分才拥有特权。
3、最小特权原则的应用
3.1 安全操作系统
操作系统对于系统安全来说好比是大楼的地基,如果没有了它,大楼就无从谈起。在计算机系统的各个层次上,硬件、操作系统、网络软件、数据库管理系统软件以及应用软件,各自在计算机安全中都肩负着重要的职责。在软件的范畴中,操作系统处在最底层,是所有其他软件的基础,它在解决安全上也起着基础性、关键性的作用,没有操作系统的安全支持,计算机软件系统的安全就缺乏了根基。对安全操作系统的研究首先从1967年的Adept-50项目开始,随后安全操作系统的发展经历了奠基时期、食谱时期、多政策时期以及动态政策时期。国内对安全操作系统的开发大多处于食谱时期,即以美国国防部的TCSEC(又称橙皮书)或我国的计算机信息系统安全保护等级划分准则为标准进行的开发。
最小特权在安全操作系统中占据了非常重要的地位,它适应UNIX操作系统、超级用户/根目录体系结构的固有特征,以便了解如何到达根目录的的任何用户提供总体系统控制棗而且几乎在UNIX环境工作的所有程序员都了解这一点。
角色管理机制依据"最小特权"原则对系统管理员的特权进行了分化,每个用户只能拥有刚够完成工作的最小权限。然后根据系统管理任务设立角色,依据角色划分权限,每个角色各负其责,权限各自分立,一个管理角色不拥有另一个管理角色的特权。例如当入侵者取得系统管理员权限后欲访问一个高安全级别的文件,则很有可能被拒绝。因为用户(包括系统管理员)在登录后默认的安全级别是最低的,他无法访问高级别的文件,而安全级别的调整只有通过安全管理员才能完成。因此,安全管理员只要对敏感文件配置了合理的安全标记,系统管理员就无法访问这些文件。由此可知,安全管理员对系统管理员的权限进行了有力的限制。
Windows NT操作系统的某些漏洞也与最小特权的应用有关,例如:缺省组的权利和能力总是不能被删除,它们包括:Administrator组,服务器操作员组,打印操作员组,帐户操作员组。这是因为当删除一个缺省组时,表面上,系统已经接受了删除。然而,当再检查时,这些组并没有被真正删除。有时,当服务器重新启动时,这些缺省组被赋予回缺省的权利和能力。为了减小因此而带来的风险,系统管理员可以创建自己定制的组,根据最小特权的原则,定制这些组的权利和能力,以迎合业务的需要。可能的话,创建一个新的Administrator组,使其具有特别的指定的权利和能力。
下面介绍目前几种安全操作系统及最小特权的应用:
惠普的Praesidium/Virtual Vault
它通过以最小特权机制将根功能分成42种独立的特权,仅赋予每一应用程序正常运行所需的最小特权。因而,即便一名黑客将Trojan Horse(特洛伊木马)程序安装在金融机构的Web服务器上,入侵者也无法改变网络配置或安装文件系统。最小特权是在惠普可信赖操作系统Virtual Vault的基本特性。
红旗安全操作系统(RFSOS)
RFSOS在系统管理员的权限、访问控制、病毒防护方面具有突出的特点,例如在系统特权分化方面,红旗安全操作系统根据"最小特权"原则,对系统管理员的特权进行了分化,根据系统管理任务设立角色,依据角色划分特权。典型的系统管理角色有系统管理员、安全管理员、审计管理员等。系统管理员负责系统的安装、管理和日常维护,如安装软件、增添用户账号、数据备份等。安全管理员负责安全属性的设定与管理。审计管理员负责配置系统的审计行为和管理系统的审计信息。一个管理角色不拥有另一个管理角色的特权。攻击者破获某个管理角色的口令时不会得到对系统的完全控制。
中科安胜安全操作系统
安胜安全操作系统是参照美国国防部《可信计算机系统评估准则》B2级安全需求和我国新颁布的《计算机信息系统安全保护等级划分准则》,结合我国国情和实际需求,自行开发的高级别安全操作系统,即安胜安全操作系统(SecLinux),并通过国家信息安全测评认证中心认证,同时获得公安部的销售许可。
最小特权管理是SecLinux的一个特色,它使得系统中不再有超级用户,而是将其所有特权分解成一组细粒度的特权子集,定义成不同的"角色",分别赋予不同的用户,每个用户仅拥有完成其工作所必须的最小特权,避免了超级用户的误操作或其身份被假冒而带来的安全隐患。
3.2 Internet安全
Internet的发展可谓一日千里,而对Internet安全的要求却比Inerternet本身发展得更快。目前Internet上的安全问题,有相当多的是由于网络管理员对于角色权利的错误分配引起的。因此,最小特权原则在Internet安全上也大有用武之地。
在日常生活里,最小特权的例子也很多。一些汽车制造厂制造汽车锁,用一个钥匙开车门和点火器,而用另一个钥匙开手套箱和衣物箱;停车场的服务员有安排停车的权而没有从汽车衣物箱里取东西的权力;同样是最小特权,可以给人汽车的钥匙而不给他大门的钥匙。
在Internet上,需要最小特权的例子也很多,例如:不是每个用户都需要使用所有的网络服务;不是每个用户都需要去修改(甚至去读)系统中的所有文件;不是每个用户都需要知道系统的根口令(Root Password);不是每个系统管理员都必须知道系统的根口令;也不是每个系统都需要去申请每一个其他系统的文件等等。
Internet上出现的一些安全问题都可看成是由于最小特权原则的失败。例如Unix上最常用的邮件传输协议Sendmail,它是一个庞大而又复杂的程序。这样的程序肯定会有很多隐患。它经常运行全部解密(Setuid)根目录,这对很多攻击者是很有利的。系统上运行的程序希望是尽可能简单的程序,如果是一个较复杂的程序,那么应该找出办法从复杂部分里去分开或孤立需要特权的模块。
为了保护站点而采取的一些措施也是使用最小特权原则的,如包过滤系统就设计为只允许进入所需要的服务,而过滤掉不必要的服务。在堡垒主机里也使用了最小特权原则。
最小特权原则还有助于建立严格的身份认证机制。对于所有接触系统的人员,按其职责设定其访问系统的最小权限;并且按照分级管理原则,严格管理内部用户帐号和密码,进入系统内部必须通过严格的身份确认,防止非法占用、冒用合法用户帐号和密码。具体实现用户身份认证时,可以通过服务器CA证书与IC卡相结合实现。CA证书用来认证服务器的身份,IC卡用来认证企业用户的身份等等。
4、结束语
最小特权原则有效地限制、分割了用户对数据资料进行访问时的权限,降低了非法用户或非法操作可能给系统及数据带来的损失,对于系统安全具有至关重要的作用。但目前大多数系统的管理员对于最小特权原则的认识还不够深入。尤其是对于UNIX、Windows系列操作系统下,因为系统所赋予用户的默认权限是最高的权限,例如Windows NT下的目录和文件的默认权限是Everyone(所有人)均具有完全的权限,而Administrator(系统管理员)则有对整个系统的完全控制。如果系统的管理员不对此进行修改,则系统的安全性将非常薄弱。
当然,最小特权原则只是系统安全的原则之一,如纵深防御原则、特权分离原则、强制存取控制等等。如果要使系统的达到相当高的安全性,还需要其他原则的配合使用。
恶意网页修改11种系统配置的处理办法
[ 2007-03-25 03:01:15 | 作者: sun ]
恶意网页越来越厉害,本文就给大家讲霁恶意网页修改11种系统配置的处理办法。
1.禁止使用电脑
现象描述:尽管网络流氓们用这一招的不多,但是一旦你中招了,后果真是不堪设想!浏览了含有这种恶意代码的网页其后果是:"关闭系统"、"运行"、"注销"、注册表编辑器、DOS程序、运行任何程序被禁止,系统无法进入"实模式"、驱动器被隐藏。
解决办法:一般来说上述八大现象你都遇上了的话,基本上系统就给"废"了,建议重装。
2.格式化硬盘
现象描述:这类恶意代码的特征就是利用IE执行ActiveX的功能,让你无意中格式化自己的硬盘。只要你浏览了含有它的网页,浏览器就会弹出一个警告说"当前的页面含有不安全的ctiveX,可能会对你造成危害",问你是否执行。如果你选择"是"的话,硬盘就会被快速格式化,因为格式化时窗口是最小化的,你可能根本就没注意,等发现时已悔之晚矣。
解决办法:除非你知道自己是在做什么,否则不要随便回答"是"。该提示信息还可以被修改,如改成"Windows正在删除本机的临时文件,是否继续",所以千万要注意!此外,将计算机上Format.com、Fdisk.exe、Del.exe、Deltree.exe等命令改名也是一个办法。
3.下载运行木马程序
现象描述:在网页上浏览也会中木马?当然,由于IE5.0本身的漏洞,使这样的新式入侵手法成为可能,方法就是利用了微软的可以嵌入exe文件的eml文件的漏洞,将木马放在eml文件里,然后用一段恶意代码指向它。上网者浏览到该恶意网页,就会在不知不觉中下载了木马并执行,其间居然没有任何提示和警告!
解决办法:第一个办法是升级您的IE5.0,IE5.0以上版本没这毛病;此外,安装金山毒霸、Norton等病毒防火墙,它会把网页木马当作病毒迅速查截杀。
4.注册表的锁定
现象描述:有时浏览了恶意网页后系统被修改,想要用Regedit更改时,却发现系统提示你没有权限运行该程序,然后让你联系管理员。晕了!动了我的东西还不让改,这是哪门子的道理!
解决办法:能够修改注册表的又不止Regedit一个,找一个注册表编辑器,例如:Reghance。将注册表中的HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/System下的DWORD值"DisableRegistryTools"键值恢复为"0",即可恢复注册表。
5.默认主页修改
现象描述:一些网站为了提高自己的访问量和做广告宣传,利用IE的漏洞,将访问者的IE不由分说地进行修改。一般改掉你的起始页和默认主页,为了不让你改回去,甚至将IE选项中的默认主页按钮变为失效的灰色。不愧是网络流氓的一惯做风。
解决办法:1.起始页的修改。展开注册表到HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Main,在右半部分窗口中将"Start Page"的键值改为"about:blank"即可。同理,展开注册表到HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main,在右半部分窗口中将"Start Page"的键值改为"about:blank"即可。
注意:有时进行了以上步骤后仍然没有生效,估计是有程序加载到了启动项的缘故,就算修改了,下次启动时也会自动运行程序,将上述设置改回来,解决方法如下:
运行注册表编辑器Regedit.exe,然后依次展开HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run主键,然后将下面的"registry.exe"子键(名字不固定)删除,最后删除硬盘里的同名可执行程序。退出注册编辑器,重新启动计算机,问题就解决了。
2.默认主页的修改。运行注册表编辑器,展开HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Main/,将Default-Page-URL子键的键值中的那些恶意网站的网址改正,或者设置为IE的默认值。
3.IE选项按钮失效。运行注册表编辑器,将HKEY_CURRENT_USER/Software/Policies/Microsoft/Internet Explorer/Control Panel中的DWORD值"Settings"=dword:1、"Links"=dword:1、"SecAddSites"=dword:1全部改为"0",将HKEY_USERS/.DEFAULT/Software/Policies/Microsoft/Internet Explorer/Control Panel下的DWORD值"homepage"的键值改为"0"。
1.禁止使用电脑
现象描述:尽管网络流氓们用这一招的不多,但是一旦你中招了,后果真是不堪设想!浏览了含有这种恶意代码的网页其后果是:"关闭系统"、"运行"、"注销"、注册表编辑器、DOS程序、运行任何程序被禁止,系统无法进入"实模式"、驱动器被隐藏。
解决办法:一般来说上述八大现象你都遇上了的话,基本上系统就给"废"了,建议重装。
2.格式化硬盘
现象描述:这类恶意代码的特征就是利用IE执行ActiveX的功能,让你无意中格式化自己的硬盘。只要你浏览了含有它的网页,浏览器就会弹出一个警告说"当前的页面含有不安全的ctiveX,可能会对你造成危害",问你是否执行。如果你选择"是"的话,硬盘就会被快速格式化,因为格式化时窗口是最小化的,你可能根本就没注意,等发现时已悔之晚矣。
解决办法:除非你知道自己是在做什么,否则不要随便回答"是"。该提示信息还可以被修改,如改成"Windows正在删除本机的临时文件,是否继续",所以千万要注意!此外,将计算机上Format.com、Fdisk.exe、Del.exe、Deltree.exe等命令改名也是一个办法。
3.下载运行木马程序
现象描述:在网页上浏览也会中木马?当然,由于IE5.0本身的漏洞,使这样的新式入侵手法成为可能,方法就是利用了微软的可以嵌入exe文件的eml文件的漏洞,将木马放在eml文件里,然后用一段恶意代码指向它。上网者浏览到该恶意网页,就会在不知不觉中下载了木马并执行,其间居然没有任何提示和警告!
解决办法:第一个办法是升级您的IE5.0,IE5.0以上版本没这毛病;此外,安装金山毒霸、Norton等病毒防火墙,它会把网页木马当作病毒迅速查截杀。
4.注册表的锁定
现象描述:有时浏览了恶意网页后系统被修改,想要用Regedit更改时,却发现系统提示你没有权限运行该程序,然后让你联系管理员。晕了!动了我的东西还不让改,这是哪门子的道理!
解决办法:能够修改注册表的又不止Regedit一个,找一个注册表编辑器,例如:Reghance。将注册表中的HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/System下的DWORD值"DisableRegistryTools"键值恢复为"0",即可恢复注册表。
5.默认主页修改
现象描述:一些网站为了提高自己的访问量和做广告宣传,利用IE的漏洞,将访问者的IE不由分说地进行修改。一般改掉你的起始页和默认主页,为了不让你改回去,甚至将IE选项中的默认主页按钮变为失效的灰色。不愧是网络流氓的一惯做风。
解决办法:1.起始页的修改。展开注册表到HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Main,在右半部分窗口中将"Start Page"的键值改为"about:blank"即可。同理,展开注册表到HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main,在右半部分窗口中将"Start Page"的键值改为"about:blank"即可。
注意:有时进行了以上步骤后仍然没有生效,估计是有程序加载到了启动项的缘故,就算修改了,下次启动时也会自动运行程序,将上述设置改回来,解决方法如下:
运行注册表编辑器Regedit.exe,然后依次展开HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run主键,然后将下面的"registry.exe"子键(名字不固定)删除,最后删除硬盘里的同名可执行程序。退出注册编辑器,重新启动计算机,问题就解决了。
2.默认主页的修改。运行注册表编辑器,展开HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Main/,将Default-Page-URL子键的键值中的那些恶意网站的网址改正,或者设置为IE的默认值。
3.IE选项按钮失效。运行注册表编辑器,将HKEY_CURRENT_USER/Software/Policies/Microsoft/Internet Explorer/Control Panel中的DWORD值"Settings"=dword:1、"Links"=dword:1、"SecAddSites"=dword:1全部改为"0",将HKEY_USERS/.DEFAULT/Software/Policies/Microsoft/Internet Explorer/Control Panel下的DWORD值"homepage"的键值改为"0"。
小心QQ密码被远程破解
[ 2007-03-25 03:01:03 | 作者: sun ]
“远程破解”与前面的“本地破解”正好相反,是指QQ盗号者通过网络盗窃远端QQ用户的密码。这种QQ破解有很多方法,如在线密码破解、登录窗口破解、邮箱破解、消息诈骗以及形形色色的QQ木马病毒等。下面就让我们一同来看看这些QQ密码的远程破解是怎么实现的。
1、在线密码破解 大家知道QQ可以利用代理服务器登录,这是一种保护措施。它不仅可以隐藏用户的真实IP地址,以避免遭受网络攻击,还可以加快登录速度,保证登录的稳定性。 在线密码破解和本地密码破解采用的技术方法类似,都是穷举法,只不过前者完全脱离了本地用户使用的QQ。它通过对登录代理服务器进行扫描,只要想盗的QQ号码在线,就可利用在线盗号工具实现远程TCP/IP的追捕,从而神不知鬼不觉地盗取QQ密码! 在线破解改变了本地破解那种被动的破解方式,只要是在线的QQ号码都可以破解,适用范围较广。但是由于它仍然采用穷举法技术,所以在枚举密钥位数长度以及类型时,校验时间很长,破解效率不高。同样,这种方法还受到电脑速度、网速等诸多因素的影响,因此比前面的本地破解更麻烦。
目前功能比较强大的一款QQ密码在线破解软件叫QQExplorer。它的破解操作分四步:第一步,在QQ起始号码和结束号码中填上想要盗取的QQ号码(此号码必须在线);第二步,在“添加或删除HTTP代理服务器”中输入代理服务器的IP地址和端口号码(如果你嫌自己寻找QQ代理服务器麻烦,可以使用一些现代的QQ代理公布软件);第三步,点击“添加&测试”按钮,软件先自动检测此服务器是否正常,确定后将它加入代理服务器列表(此软件可填入多个代理服务器的地址,并且能够自动筛选不可用或者速度慢的服务器);第四步,点击“开始”按钮,开始在线密码破解…… QQExporer是一款QQ密码在线破解软件
1、在线密码破解 大家知道QQ可以利用代理服务器登录,这是一种保护措施。它不仅可以隐藏用户的真实IP地址,以避免遭受网络攻击,还可以加快登录速度,保证登录的稳定性。 在线密码破解和本地密码破解采用的技术方法类似,都是穷举法,只不过前者完全脱离了本地用户使用的QQ。它通过对登录代理服务器进行扫描,只要想盗的QQ号码在线,就可利用在线盗号工具实现远程TCP/IP的追捕,从而神不知鬼不觉地盗取QQ密码! 在线破解改变了本地破解那种被动的破解方式,只要是在线的QQ号码都可以破解,适用范围较广。但是由于它仍然采用穷举法技术,所以在枚举密钥位数长度以及类型时,校验时间很长,破解效率不高。同样,这种方法还受到电脑速度、网速等诸多因素的影响,因此比前面的本地破解更麻烦。
目前功能比较强大的一款QQ密码在线破解软件叫QQExplorer。它的破解操作分四步:第一步,在QQ起始号码和结束号码中填上想要盗取的QQ号码(此号码必须在线);第二步,在“添加或删除HTTP代理服务器”中输入代理服务器的IP地址和端口号码(如果你嫌自己寻找QQ代理服务器麻烦,可以使用一些现代的QQ代理公布软件);第三步,点击“添加&测试”按钮,软件先自动检测此服务器是否正常,确定后将它加入代理服务器列表(此软件可填入多个代理服务器的地址,并且能够自动筛选不可用或者速度慢的服务器);第四步,点击“开始”按钮,开始在线密码破解…… QQExporer是一款QQ密码在线破解软件
网络安全之注意警惕DoS的路由器攻击
[ 2007-03-25 03:00:52 | 作者: sun ]
现在,Dos已经由最初的“恶作剧”越来越演变成了一种有目的、有选择的攻击路由器的恶性行为,它像一股凶险的暗流正在向我们涌来。
用Dos来攻击路由器将对整个因特网造成严重影响。因为路由协议会遭到直接攻击,从而在大范围内带来严重的服务器的可用性问题。路由器攻击之所以吸引黑客有几个原因。
不同于计算机系统,路由器通常处于企业的基础设施内部。与计算机相比,它们受监视器和安全政策的保护相对薄弱,从而为不法之徒提供了为非作歹的躲藏之处。许多路由器配置不当,厂商提供的默认口令是网络安全与遭受毁坏的主要原因。一旦受到危害,路由器就可以被用作扫描行动、欺骗连接的平台,并作为发动dos攻击的一块跳板。
Cahners in-stat集团的高级分析家劳里·维科斯声称,“路由器是通向公司的门户。它成为黑客的目标已经有了一段时间,现在的黑客似乎变得更加老谋深算。他们往往会这样,当发现锁定的目标前门被锁上后,就会改而寻找露台的大门是否敞开。”
维科斯坚称,路由器攻击会对网络造成毁灭性的后果。因为路由器常常集成了vpn服务或者防火墙,因而使其成为更吸引黑客的目标。因为,一旦路由器岌岌可危,整个网络便立刻变得十分危险了。
另一个问题是卡内基·梅隆大学的计算机紧急响应队(cert)协调中心提到的“利用时间”(time-to-exploit)的缩短。即一旦系统或设备的一个漏洞被发现,在短时间内就打上安全补丁往往来不及。
那么如何采取适当的对策来抵御dos呢?传统的安全解决方案对付现在的dos只能是隔靴搔痒。因为防火墙和入侵检测系统(ids)的目的在于检测针对个别网络服务器或主机的攻击,而不是网络基础设施。
为了解决这个问题,目前已经有几家公司想出了专门防御dos攻击的方案。arbor networks凭借产品peakflow dos成为这个领域的先驱。peakflow会部署数据收集程序,由此分析通信流量(到达企业路由器或防火墙之前),并搜寻反常现象。这类信息会转发给控制程序,进而对攻击进行追根溯源的审查。同时,控制程序会把过滤建议发给网络管理人员,从而进行相应部署以避开攻击。他们提供的企业解决方案的起始价为13万美元,arbor另有计划为规模较小的网络以按月收费的方式来提供这种服务。
Tripwire的tripwire for routers则采取价格比较适中的方案,以监视cisco路由器的启动和配置文件。只要该设备的安全状态出现任何变动,它就会通知你。目前只有针对solaris 7或8工作站的版本。适用windows 2000的版本即将推出,其价格随路由器数量不同而异,有一个评估版软件可供下载。
总地来说,具备一些基本常识是首要的,可能也是最佳的防御方法,这可以确保你时刻关注外部接入路由器的每个连接,并且确保改变了默认安全配置,尤其是口令。
Dos攻击的这些新动向表明:服务可用性面临的危胁,无论针对网络还是整个因特网都可能会更让人防不胜防。除了你的网络受到影响外,路由器和基础设施缺乏安全审查也会使你无意当中成为攻击dos的帮凶。密切关注事态发展,并肩负起保护网络各方面安全的责任,这样你才能够避免灾难。
用Dos来攻击路由器将对整个因特网造成严重影响。因为路由协议会遭到直接攻击,从而在大范围内带来严重的服务器的可用性问题。路由器攻击之所以吸引黑客有几个原因。
不同于计算机系统,路由器通常处于企业的基础设施内部。与计算机相比,它们受监视器和安全政策的保护相对薄弱,从而为不法之徒提供了为非作歹的躲藏之处。许多路由器配置不当,厂商提供的默认口令是网络安全与遭受毁坏的主要原因。一旦受到危害,路由器就可以被用作扫描行动、欺骗连接的平台,并作为发动dos攻击的一块跳板。
Cahners in-stat集团的高级分析家劳里·维科斯声称,“路由器是通向公司的门户。它成为黑客的目标已经有了一段时间,现在的黑客似乎变得更加老谋深算。他们往往会这样,当发现锁定的目标前门被锁上后,就会改而寻找露台的大门是否敞开。”
维科斯坚称,路由器攻击会对网络造成毁灭性的后果。因为路由器常常集成了vpn服务或者防火墙,因而使其成为更吸引黑客的目标。因为,一旦路由器岌岌可危,整个网络便立刻变得十分危险了。
另一个问题是卡内基·梅隆大学的计算机紧急响应队(cert)协调中心提到的“利用时间”(time-to-exploit)的缩短。即一旦系统或设备的一个漏洞被发现,在短时间内就打上安全补丁往往来不及。
那么如何采取适当的对策来抵御dos呢?传统的安全解决方案对付现在的dos只能是隔靴搔痒。因为防火墙和入侵检测系统(ids)的目的在于检测针对个别网络服务器或主机的攻击,而不是网络基础设施。
为了解决这个问题,目前已经有几家公司想出了专门防御dos攻击的方案。arbor networks凭借产品peakflow dos成为这个领域的先驱。peakflow会部署数据收集程序,由此分析通信流量(到达企业路由器或防火墙之前),并搜寻反常现象。这类信息会转发给控制程序,进而对攻击进行追根溯源的审查。同时,控制程序会把过滤建议发给网络管理人员,从而进行相应部署以避开攻击。他们提供的企业解决方案的起始价为13万美元,arbor另有计划为规模较小的网络以按月收费的方式来提供这种服务。
Tripwire的tripwire for routers则采取价格比较适中的方案,以监视cisco路由器的启动和配置文件。只要该设备的安全状态出现任何变动,它就会通知你。目前只有针对solaris 7或8工作站的版本。适用windows 2000的版本即将推出,其价格随路由器数量不同而异,有一个评估版软件可供下载。
总地来说,具备一些基本常识是首要的,可能也是最佳的防御方法,这可以确保你时刻关注外部接入路由器的每个连接,并且确保改变了默认安全配置,尤其是口令。
Dos攻击的这些新动向表明:服务可用性面临的危胁,无论针对网络还是整个因特网都可能会更让人防不胜防。除了你的网络受到影响外,路由器和基础设施缺乏安全审查也会使你无意当中成为攻击dos的帮凶。密切关注事态发展,并肩负起保护网络各方面安全的责任,这样你才能够避免灾难。