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

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

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2009-04-10
— 本帖被 鞋带总是开 从 Exchange中文站-灌水乐园 移动到本区(2009-07-11) —
今天写一篇关于站点安全的文章。 u}[ a  
  很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! 5H0qMt P  
  所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! $r/$aq=K  
  关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: q? ' 4&  
<% g"m' C6;  
'''''''''''''''''''''''''''''''''''''''''''''''' ,t9EL 21  
'ASP通用防注入代码 G% tlV&In  
'您可以把该代码COPY到头文件中.也可以单独作 ez ,.-@O  
'为一个文件存在,每次调用使用 }=[p>3Dd  
'''''''''''''''''''''''''''''''''''''''''''''''' SK}sf9gTv  
Dim GetFlag Rem(提交方式) gjDNl/r/  
Dim ErrorSql Rem(非法字符) TTz=*t+D  
Dim RequestKey Rem(提交数据) NP T-d  
Dim ForI Rem(循环标记) _O`p(6  
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) 'Qy6m'esW  
ErrorSql = split(ErrorSql,"~") -tj#BEC[H(  
If Request.ServerVariables("REQUEST_METHOD")="GET" Then 'x*C#mt  
GetFlag=True  '"B  
Else Vp/XVyL}R  
GetFlag=False >^s2$@J?p  
End If x77L"5g  
If GetFlag Then 2/&=:,"t,B  
For Each RequestKey In Request.QueryString pl`4&y%Me  
For ForI=0 To Ubound(ErrorSql) &n6{wtBP  
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then Z<nNk.G  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>"  J=` 8  
Response.End )D+BvJ Y"  
End If TEz;:*,CG  
Next EN!C5/M{&  
Next E(~7NRRm  
Else 1<r!9x9G  
For Each RequestKey In Request.Form oy^-?+   
For ForI=0 To Ubound(ErrorSql) >dl5^  
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then F1#{(uW  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" q`*.F#/4c  
Response.End 0;bdwIP3  
End If ieZ$@3#&z  
Next }dkXRce*  
Next B$ eM  
End If ):$KM{X  
%> 2{79,Js0  
------------------------------------------------------------------------------------------------------------------- lVvcrU  
os/h~,=  
第二个: U@OdQAX  
QLY;@-jF$  
<% f24W*#IX  
'防止注入 q/EX`%U  
dim qs,errc,iii jY=y<R_oK  
qs=lcase(request.servervariables("query_string")) @_ %RQO_X  
'response.write(qs) TKB8%/_p  
dim deStr(18) n _K1%  
deStr(0)="net user" & kC  
deStr(1)="xp_cmdshell" @z1QoZ^w  
deStr(2)="/add" m _)-  
deStr(3)="exec%20master.dbo.xp_cmdshell" YV.' L  
deStr(4)="net localgroup administrators"  d$$5&a  
deStr(5)="select" ` UsJaoR#f  
deStr(6)="count" JwSF}kNs}  
deStr(7)="asc" v"k ? e  
deStr(8)="char" !Cr3>tA  
deStr(9)="mid" ojM'8z 0Hn  
deStr(10)="'" oco,sxT  
deStr(11)=":" "\o#YC  
deStr(12)="""" @:RoYvk$  
deStr(13)="insert" i`e[Vwe2x@  
deStr(14)="delete" ECi;o1hda  
deStr(15)="drop" . s >@@m-  
deStr(16)="truncate" p?#T^{Quz~  
deStr(17)="from" 1OExa<Zq  
deStr(18)="%" } r(b:}DN  
errc=false oh:9v+  
for iii= 0 to ubound(deStr) }wRm ~  
if instr(qs,deStr(iii))<>0 then ; v\s7y  
errc=true Z[w}PN,xV  
end if LI@BB:)[  
next Wcc4/:`Hu  
if errc then 4v/MZ:%C`  
Response.Write("对不起,非法URL地址请求!") ;<m*ASM.3  
response.end yYGs] +  
end if l0^cdl-  
%> t O.5  
 ;G}  
  注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!
分享到
只看该作者 1楼  发表于: 2009-04-10

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

VQqBo~  

 

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