今天写一篇关于站点安全的文章。 F`N*{at
很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! WgL!@g
所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! &Y&zUfA
关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: >ylVES/V
<% &vn9l#\(
'''''''''''''''''''''''''''''''''''''''''''''''' @GV^B'}*
'ASP通用防注入代码 a|>MueJ
'您可以把该代码COPY到头文件中.也可以单独作 j?,$
*Fi
'为一个文件存在,每次调用使用 f;Dz(~hw
'''''''''''''''''''''''''''''''''''''''''''''''' lV1|\~?4
Dim GetFlag Rem(提交方式) > w'6ZDA*X
Dim ErrorSql Rem(非法字符) 8L@di Y
Dim RequestKey Rem(提交数据) _\<M58/z
Dim ForI Rem(循环标记) S,v`rmI
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) St3~Y{aI|
ErrorSql = split(ErrorSql,"~") npF[J x[
If Request.ServerVariables("REQUEST_METHOD")="GET" Then 5-J-Tn
GetFlag=True B?4\IXek
Else (+@.L7>m+t
GetFlag=False ,s)H%
End If BKTsc/v2>:
If GetFlag Then )2A4vU-IR.
For Each RequestKey In Request.QueryString cZ(XY}
For ForI=0 To Ubound(ErrorSql) xWMMHIu
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then a"zoDD/
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" E0|aI4S4
Response.End yqU++;6
End If @PI\.y_w
Next E5dXu5+ye
Next ;CrA
Else p)ONw"sb
For Each RequestKey In Request.Form h
Na<LZ
For ForI=0 To Ubound(ErrorSql) Mc6y'w
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then 'ZDclz9}
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" nGt8u4gcP
Response.End oMVwIdf
End If ~,:f,FkSQ
Next VuY.})+J:
Next JB|I/\(A
End If Q&J,"Vxw
%> cQR1v-Xt
------------------------------------------------------------------------------------------------------------------- wfdFGoy(
6IX!9I\sT
第二个: Cr
`
0C
7PMZt$n
<%
j0GI[#
'防止注入 M Q6Y^,B
dim qs,errc,iii 2Ar
<(v$
qs=lcase(request.servervariables("query_string")) JjmL6(*ui
'response.write(qs) P8jK
yo
dim deStr(18) @.{
deStr(0)="net user" :U9R
1^}A
deStr(1)="xp_cmdshell" ![ QQF|
deStr(2)="/add" xv:?n^yt.[
deStr(3)="exec%20master.dbo.xp_cmdshell" Ud
GoPzN
deStr(4)="net localgroup administrators" 0b4OJ[
deStr(5)="select" =~h54/#[I
deStr(6)="count" oxzNV&D[{`
deStr(7)="asc" u62sq: GjH
deStr(8)="char" VtO+=mZV
deStr(9)="mid" kpdFb7>|
deStr(10)="'" U,=K_oBAq
deStr(11)=":" V~=)#3]`[
deStr(12)="""" H07j&
deStr(13)="insert" Y!L jy
[/
deStr(14)="delete" Vo%d;>!G\;
deStr(15)="drop" B'Wky>5)
deStr(16)="truncate" u!
i5Q
deStr(17)="from" VPHCPGrk
deStr(18)="%" 9ZBF1sMg
errc=false ]ok>PH]
for iii= 0 to ubound(deStr) _(hwU>.
if instr(qs,deStr(iii))<>0 then 8syo_sC |
errc=true CytpL`&^]
end if coWB KWF
next /K^cU;E,
if errc then Y[!a82MTzn
Response.Write("对不起,非法URL地址请求!") z)%1 i
response.end ^6+x0[13
end if ueR42J%s
%> 4D^ M<Xn
K`Bq(z?/
注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!