切换到宽版
  • 14560阅读
  • 1回复

站点安全简单防范 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2009-04-10
— 本帖被 鞋带总是开 从 Exchange中文站-灌水乐园 移动到本区(2009-07-11) —
今天写一篇关于站点安全的文章。 unKl5A[h  
  很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! 6J@,bB jVz  
  所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! !%$,S=_F  
  关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: 78 ]Kv^l^_  
<% W*DK pJy  
'''''''''''''''''''''''''''''''''''''''''''''''' m*YfbOhs#  
'ASP通用防注入代码 s {^wr6B  
'您可以把该代码COPY到头文件中.也可以单独作 ;$e)r3r`LV  
'为一个文件存在,每次调用使用  \S1W,H|  
'''''''''''''''''''''''''''''''''''''''''''''''' sKJr34  
Dim GetFlag Rem(提交方式) 6b$C/  
Dim ErrorSql Rem(非法字符) +-9-%O.(;  
Dim RequestKey Rem(提交数据) lrL:G[rt  
Dim ForI Rem(循环标记) dQ _4aO  
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) f=VlO d  
ErrorSql = split(ErrorSql,"~") ?k($Tc&Q  
If Request.ServerVariables("REQUEST_METHOD")="GET" Then 5#s],h  
GetFlag=True 2.=u '  
Else s:_a.4&Y  
GetFlag=False H=w):kL|  
End If q2'}S A/  
If GetFlag Then X Q CE`m  
For Each RequestKey In Request.QueryString E'98JZ5ga  
For ForI=0 To Ubound(ErrorSql) Ryh 0r  
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then @vXXf/  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" {qU;;`P]|  
Response.End `'>~(8&zE  
End If &328pOT4  
Next B}.:7,/0  
Next R MOs1<D  
Else <mj/P|P@  
For Each RequestKey In Request.Form uPapINj  
For ForI=0 To Ubound(ErrorSql) WRwx[[e6z  
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then kjB'W zZ8  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" v*FbvrY  
Response.End 9Kg yt  
End If yla- X|>  
Next d{t@+}0.u  
Next ,zr,>^ v  
End If /GM!3%'=  
%> jSH.e?  
------------------------------------------------------------------------------------------------------------------- )?7/fF)@|  
gat;Er  
第二个: e| 5@7~Vi  
IG{Me  
<% >d&0a:  
'防止注入 D _[NzCv<-  
dim qs,errc,iii *3!r &iY  
qs=lcase(request.servervariables("query_string")) i*$~uuY  
'response.write(qs) jT< I`K*  
dim deStr(18) fR~0Fy Gp  
deStr(0)="net user" )UpVGT)  
deStr(1)="xp_cmdshell" +P Dk>PdEt  
deStr(2)="/add" x X[WX#'f  
deStr(3)="exec%20master.dbo.xp_cmdshell" HFTeG4R  
deStr(4)="net localgroup administrators" =:xX~,qmv  
deStr(5)="select" w 4CcdpR  
deStr(6)="count" 1]5k l J  
deStr(7)="asc" %<+uJ'pj  
deStr(8)="char" Tx]p4wY:D  
deStr(9)="mid" Yw]$/oP`  
deStr(10)="'" J~4mp\4b  
deStr(11)=":" -mGG:#yP  
deStr(12)="""" _| cSXZ|  
deStr(13)="insert" BD;T>M  
deStr(14)="delete" C22h*QM*  
deStr(15)="drop" (aC=,5N  
deStr(16)="truncate" }{j@q~w>$  
deStr(17)="from" - 0q263z  
deStr(18)="%" N*6~$zl&  
errc=false & 0\:MJc  
for iii= 0 to ubound(deStr) rXT?w]4  
if instr(qs,deStr(iii))<>0 then ,c$tKj5ulQ  
errc=true nM:<l}~v{  
end if D`!BjhlW  
next zPybP E8  
if errc then YVv E>1z  
Response.Write("对不起,非法URL地址请求!") i+in?!@G:  
response.end 3c7i8b$  
end if G`jvy@  
%> 6}Tftw$0z  
 H!hd0.  
  注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!
分享到
只看该作者 1楼  发表于: 2009-04-10

这里是讨论邮件防病毒与防垃圾邮件的版区。

4e.19H9  

 

快速回复
限60 字节
 
上一个 下一个