fso的应用实例《网站防欼改》
<html><head><title>bak</title>
<script language="JavaScript">
function myrefresh(){
window.location.reload();
}
setTimeout('myrefresh()',1000); //指定1秒刷新一次
</script>
</head>
<body>
<%
response.write"<span style='color:red;'>现在是:"
response.write(year(now())&"年"&month(now())&"月"&day(now())&"日"&hour(now())&"时"&minute(now())&"分"&Second(now())&"秒<br></span>")
Set objFileObj = CreateObject("Scripting.FileSystemObject")
sFile =server.MapPath("index.asp")
sFile1 =server.MapPath("dmsb\default.asp")
Set objFile = objFileObj.GetFile(sFile)
Set objFile1 = objFileObj.GetFile(sFile1)
response.write"<br>"
response.write"<br>"
response.write"管理员设定的首页修改时间:2008-6-16 16:50:14<span style='color:red;font-size:12px;'> 如果和最后一次修改时间不一样,程序将启动安全行为,时时还原!</span><br>"
response.write"管理员设定的代码申报系统首页修改时间:2008-7-1 15:01:00<span style='color:red;font-size:12px;'> 如果和最后一次修改时间不一样,程序将启动安全行为,时时还原!</span><br>"
response.write"<br>"
response.write"<br>"
Response.Write("首页最后一次修改时间:"&objFile.DateLastModified )
Response.Write("代码申报系统首页最后一次修改时间:"&objFile1.DateLastModified )
dt=cdate("2008-6-16 16:50:14")
dt1=cdate("2008-6-16 16:50:14")
response.write"<br>"
response.write"<br>"
response.write"<br>"
if DateDiff( "s", dt,objFile.DateLastModified )>1 or DateDiff( "s", dt,objFile.DateLastModified )<0 then
response.Write"时间不一样了,相差"
response.write("<span style='color:red;'>"&DateDiff( "s", dt,objFile.DateLastModified )&"</span>")
response.write"秒"
response.write"<br>"
response.write"<br>"
response.write"<br>程序将自动把还原备份文件"
objFileObj.CopyFile ""&server.MapPath("note\Tobk.asp")&"",""&server.MapPath("index.asp")&""
txtname=replace(now(),"-","")
cc=cstr(txtname)&".txt"
Set MyFile=objFileObj.CreateTextFile(""&server.MapPath(""&year(now())&month(now())&day(now())&hour(now())&minute(now())&Second(now())&".txt")&"")
MyFile.WriteLine("首页被修改记录,网站首页于"&year(now())&month(now())&day(now())&hour(now())&minute(now())&Second(now())&"被尝试修改,程序已经记录此动作,并恢复")
MyFile.close
elseif DateDiff( "s", dt1,objFile1.DateLastModified )>1 or DateDiff( "s", dt1,objFile1.DateLastModified )<0 then
objFileObj.CopyFile ""&server.MapPath("dmsb\Dmdb_A.asp")&"",""&server.MapPath("dmsb\ Default.asp")&""
txtname=replace(now(),"-","")
cc=cstr(txtname)&".txt"
Set MyFile=objFileObj.CreateTextFile(""&server.MapPath(""&year(now())&month(now())&day(now())&hour(now())&minute(now())&Second(now())&".txt")&"")
MyFile.WriteLine("修改记录,代码申报系统性首页于"&year(now())&month(now())&day(now())&hour(now())&minute(now())&Second(now())&"被尝试修改,程序已经记录此动作,并恢复")
MyFile.close
else
response.write"当前状态:页面正常"
end if
'删除index.htm,index.html,dmsb/index.htm,dmsb/index.html,Default.htm、Default.asp等其它默认首页
Sub delfile(filepaths)
Set fs = Server.CreateObject("Scripting.FileSystemObject")
File = Server.MapPath(filepaths)
on Error Resume Next
fs.DeleteFile File, True '强制删除只读文件
If Err.Number = 53 Then
Response.Write File & ""&filepaths&"文件不存在!"
Response.Write ""&filepaths&"成功删除文件!" & File
End If
End Sub
Call delfile("index.html")
Call delfile("index.htm")
Call delfile("Default.htm")
Call delfile("Default.html")
Call delfile("Default.asp")
Call delfile("dmsb/index.htm")
Call delfile("dmsb/index.html")
Call delfile("dmsb/Default.htm")
Call delfile("dmsb/Default.html")
%>
</body>
</html> 保护首页index.asp,和dmsb下的defult.asp,
同 先修改note\Tobk.asp在修改index.asp还不如直接给 index.asp只读权限,其他权限全部删除 程序既然是楼主写的,为什么不给个明白点的说明呢?
页面每隔一秒刷新一次,ASP程序检测index.asp有没有被修改,如果有被修改,则复制server.MapPath("note\Tobk.asp")为server.MapPath("index.asp")
也检测dmsb\default.asp有没有被修改,如果有被修改,则复制
server.MapPath("dmsb\Dmdb_A.asp")为server.MapPath("dmsb\Default.asp")
你觉得这样有用吗?
首先,你这个页面打开不能关闭..也就是说你得找一台机器一直开着这个网页.如果有N个人都打开了这个网页.然后不停的刷新,你觉得它们之间不会存在一些意想不到的事?
其次,每刷新一次,向服务器请求一次.等于是一直占了IIS的一个连接数.
最后,既然别人可以修改你的index.asp那为什么不顺便也修改你的程序里面所指的备份的文件呢????
据我所知,现在的批量挂马.可都是遍历目录,给指定文件添加恶意代码的..
你的备份文件[note\Tobk.asp,dmsb\Dmdb_A.asp]都被搞了..那你再恢复,它不还是带着恶意代码的网页吗?
不太明白,你写这段程序的意图是什么. 你这样似乎是没有用处的,除非将这个文件的所有内容全部存到数据库中,发现有问题的话,点击还原,但似乎不能批量还原。
最直接最简单的方法不是FTP上传,没有其它的办法了。 把程序写好点、写安全点,还用费那些劲?:o [排除ARP和主机权限问题]
另外:
1、正如小秦说的那样,现在批量挂马很容易,所有文件都有恶意代码,你怎么恢复?
2、只保护首页,这个想法很幼稚。。别的链接呢?
我感觉保护数据库,比保护"首页"更现实一些。 具体情况具体分析吧
当前的情况是这样的,垃圾的服务器连FTP都不能用,用户修改FTP ,SQL密码都要打电话过去让那边客服修改,
我试图找到网站的程序注入,可没有,扫描服务器站点中发现有一个企业站能注入,难道是?
服务器的权限设置不严格,阿江探针能列出所有用户进程和其它很多信息,
那时我曾经想在本地写个程序时时访问网站,当出现异常的时候自动激活FTP,上传本地备份文件到服务器上的,可FTP用不了
,HACK确实遍历了我所有文件夹, 每个目录下都有他放的首页文件,但用户访问输入网址后看到的第一张页面不能出问题,宁可打不开也不要出其它的东西,对方要想知道我的备份和检测文件是哪个就一定得人工来看,除非他想删除我的所有文件,那就没办法了, 虽然不能常常看网站,但二天也会看一次,到时人工弄回来,再过半年要换服务商了,到时候我在本地做个软件时时监控远程FTP文件的变化和恢复就行了,
保护程序谁没想过,我想到的地方我都找不到漏洞, 这可是请大公司1.5W的开发费用出来的,
我能做的就这样,坚持 等到换服务器再用自己做的软件时时检测FTP,
服务器那边我无语中,, 无奈中,, 上传更新都得去U盘考到他们那去才行,FTP用不了。
更加说设置服务器这些了, 想要些服务器日志都拿不到,
现在的方法只是补补, 工具和软件如果只想覆盖首页的话 些方法还能起点作用,HACK要删除所有文件再上传他的首页的话当然是没办法了,那就不叫挂马了, 那是攻击服务器,
有兴趣的朋友可以检测下我这1.5W的程序 ,网站不公开,要检测的朋友发站内信息给我! 1.5w也要看什么程序哦,1.5w都掏了,怎么还选个连个ftp都没有的服务商,真是奇了怪了 服务商说真的,我都不想提了, 是中国电信!一年好几千呢,100MB 。
上次要修改个FTP密码都打电话,发传真 搞的我都想死。。。 哎!
页:
[1]