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

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

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2009-04-10
— 本帖被 鞋带总是开 从 Exchange中文站-灌水乐园 移动到本区(2009-07-11) —
今天写一篇关于站点安全的文章。 _Ndy;MQ  
  很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! P#rwYPww\  
  所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! q0DoR@  
  关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: jVk|(  
<% M8S4D&vpD4  
'''''''''''''''''''''''''''''''''''''''''''''''' 1pO ;aG1O  
'ASP通用防注入代码 N-K.#5  
'您可以把该代码COPY到头文件中.也可以单独作 6t/})Xv  
'为一个文件存在,每次调用使用 I2K52A+  
'''''''''''''''''''''''''''''''''''''''''''''''' ?ix0 n,m  
Dim GetFlag Rem(提交方式) QF[9Zn  
Dim ErrorSql Rem(非法字符) LF*3Iw|v  
Dim RequestKey Rem(提交数据) _.Uz!2  
Dim ForI Rem(循环标记) E62VuX  
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) Kq6m5A]z  
ErrorSql = split(ErrorSql,"~") YN"102CK  
If Request.ServerVariables("REQUEST_METHOD")="GET" Then = eTI@pN`  
GetFlag=True gh i!4  
Else UxD1+\N6?  
GetFlag=False G}D?+MWY  
End If {TE0  
If GetFlag Then MeP U`M--  
For Each RequestKey In Request.QueryString @YWfq$23  
For ForI=0 To Ubound(ErrorSql) Ldt7?Y(V(  
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then /i DS#l\0  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" McH*J j  
Response.End mj5A*%"W  
End If )bw>)&)b`  
Next ( 9dV%#G\  
Next HRx#}hN?+  
Else YfF&: "-NU  
For Each RequestKey In Request.Form ][wS}~):  
For ForI=0 To Ubound(ErrorSql) Mk,8v],-Tj  
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then 5g/^wKhKG  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" {vA;#6B|  
Response.End vk;>#yoox  
End If C'7W50b  
Next rYN`u  
Next W+Gu\=s%O  
End If +=u*!6S  
%> ?R"5 .3  
------------------------------------------------------------------------------------------------------------------- 90I)"vfW5  
;$[o7Qm5r  
第二个: _ [XEL+.  
UkXc7D^jwm  
<% Qpf BM  
'防止注入 3S'V>:  
dim qs,errc,iii |byB7 f  
qs=lcase(request.servervariables("query_string")) EsA^P2?_+  
'response.write(qs) a; /4 ht  
dim deStr(18) vlzjALy  
deStr(0)="net user" z-$?.?d  
deStr(1)="xp_cmdshell" ?_n.B=H`8  
deStr(2)="/add" Q 7B) t;^  
deStr(3)="exec%20master.dbo.xp_cmdshell" T7cT4PAW  
deStr(4)="net localgroup administrators" `2r21rVntf  
deStr(5)="select" t'm]E2/  
deStr(6)="count" a-i#?hld  
deStr(7)="asc" e/@udau  
deStr(8)="char" .7E-  
deStr(9)="mid" SL@Vk(  
deStr(10)="'" t#Yyo$9  
deStr(11)=":" >k_Z]J6Pd  
deStr(12)="""" ,,BNUj/:  
deStr(13)="insert" 6@bGh|   
deStr(14)="delete" -b)p6>G-C  
deStr(15)="drop" R&PQ[Xc  
deStr(16)="truncate" ] ^  
deStr(17)="from" 0#Rj[J;kh  
deStr(18)="%" !4.;Ftgjn  
errc=false \ov>?5  
for iii= 0 to ubound(deStr) GXJ3E"_.  
if instr(qs,deStr(iii))<>0 then K=`*cSU>  
errc=true G/<{:R"  
end if Zd~s5  
next 4_r8ynq{z  
if errc then }1;Ie0l=_e  
Response.Write("对不起,非法URL地址请求!") \4zvknk<  
response.end '*-X 3p  
end if s#* mn  
%> HT1bsY 0t  
ao F>{Z4&B  
  注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!
分享到
只看该作者 1楼  发表于: 2009-04-10

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

Ej.D!@   

 

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