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

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

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2009-04-10
— 本帖被 鞋带总是开 从 Exchange中文站-灌水乐园 移动到本区(2009-07-11) —
今天写一篇关于站点安全的文章。 QVkrhwp  
  很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! `r&]Ydu:  
  所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! a [E}o<{  
  关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: 7Q?^wx  
<% #@P0i^pFTB  
'''''''''''''''''''''''''''''''''''''''''''''''' >LW}N!IBy  
'ASP通用防注入代码 )h0b}HMW)  
'您可以把该代码COPY到头文件中.也可以单独作 &W*^&0AV  
'为一个文件存在,每次调用使用 *eMMf xFl  
'''''''''''''''''''''''''''''''''''''''''''''''' f7&9IW`7F^  
Dim GetFlag Rem(提交方式) rXq{WS`  
Dim ErrorSql Rem(非法字符) sA oxLI  
Dim RequestKey Rem(提交数据) %m-U:H.Vp  
Dim ForI Rem(循环标记) x !n8Wx  
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) 6>z,7 [  
ErrorSql = split(ErrorSql,"~") # GzowI'  
If Request.ServerVariables("REQUEST_METHOD")="GET" Then -]Q\G  
GetFlag=True =G`g-E2  
Else FzG>iC}  
GetFlag=False @DSKa`  
End If plM:7#eA  
If GetFlag Then _P*QX  
For Each RequestKey In Request.QueryString V+t's*9o3  
For ForI=0 To Ubound(ErrorSql) ~r e~Ys  
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then 7\yh<?`V8  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" !i\ gCLg2_  
Response.End TrBW0Bn>p  
End If sGc.;":  
Next eU8p;ajW!L  
Next -L!lJ  
Else #Sg"/Cc  
For Each RequestKey In Request.Form XJ7pX1nf  
For ForI=0 To Ubound(ErrorSql) ;*WG9Y(W  
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then o_03Io ~Bf  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" 6i@* L\ Dl  
Response.End / |isRh|  
End If e/}4Pt  
Next <T]ey  
Next #@F.wV0  
End If ~JO.h$1C  
%> PJ^qE| X  
------------------------------------------------------------------------------------------------------------------- w^N QLV S  
w@LLxL>Y  
第二个: N! I$Qtr,  
wZWAx  
<% S q{@4F}d  
'防止注入 `UT UrM  
dim qs,errc,iii z, n[}Q#u  
qs=lcase(request.servervariables("query_string")) IL`=r6\  
'response.write(qs) w1 eFm:'  
dim deStr(18) iU AY  
deStr(0)="net user" *q+X ?3  
deStr(1)="xp_cmdshell" I{=Yuc  
deStr(2)="/add" G=|~SYz  
deStr(3)="exec%20master.dbo.xp_cmdshell" < pZwM  
deStr(4)="net localgroup administrators" Os KtxtLO  
deStr(5)="select" K|I<kA~!H  
deStr(6)="count" 13+. >  
deStr(7)="asc" 6"R'z#{OF  
deStr(8)="char" `@#rAW D  
deStr(9)="mid" ]'pL*&"X  
deStr(10)="'" nkf7Fq}  
deStr(11)=":" dg_w$#  
deStr(12)="""" (p<pF].  
deStr(13)="insert" w"C,oo3  
deStr(14)="delete" lSc=c-iOv  
deStr(15)="drop" F6aC'<#/  
deStr(16)="truncate" {(I":rt#  
deStr(17)="from" 4iss j$  
deStr(18)="%" Eihn%Esa  
errc=false rR 86D  
for iii= 0 to ubound(deStr) ]J@-,FFC  
if instr(qs,deStr(iii))<>0 then hw(\3h()  
errc=true '.&Y)A6!  
end if  K~B  
next QNH3\<IS  
if errc then n#@Qd!uzM  
Response.Write("对不起,非法URL地址请求!") -gUp/ #l1  
response.end Xt +9z  
end if ILqBa:J  
%> _n_()at)  
Z B`d&!W>  
  注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!
分享到
只看该作者 1楼  发表于: 2009-04-10

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

 W/AF  

 

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