今天写一篇关于站点安全的文章。 pU$k{^'UK
很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等!
LR97FG
所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! *F\wWg'!B
关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: 2J7|y\N,
<% :@(('X(".
'''''''''''''''''''''''''''''''''''''''''''''''' J9Ao*IW~
'ASP通用防注入代码 :os8
"
'您可以把该代码COPY到头文件中.也可以单独作 uX_H;,n
'为一个文件存在,每次调用使用 w% %q/![uy
'''''''''''''''''''''''''''''''''''''''''''''''' `6Bx8CZ'I
Dim GetFlag Rem(提交方式) ,Z
q:na
Dim ErrorSql Rem(非法字符) R}nvSerVb
Dim RequestKey Rem(提交数据) u<-)C)z
Dim ForI Rem(循环标记) e"E8BU
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) )?F&`+
ErrorSql = split(ErrorSql,"~") lsz3'!%Y)
If Request.ServerVariables("REQUEST_METHOD")="GET" Then K:,V>DL
GetFlag=True [G<ga80
Else G:AA>t
GetFlag=False 5\Q Tm;
End If pbH!u+DF
If GetFlag Then a-{|/
n%
For Each RequestKey In Request.QueryString aA
g Qv*
For ForI=0 To Ubound(ErrorSql) R#T-o,m
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then a(gXvgrf[
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" =zkN
63S
Response.End $}9jv3>)
End If 7%*#M#(T
Next |Y7SP]/`gB
Next 1m*)MZ)
Else ]o6ZZK
For Each RequestKey In Request.Form YX$(Sc3.6
For ForI=0 To Ubound(ErrorSql) Tagf7tw4
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then xl&@g)Jj
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" EXDDUqZ5\
Response.End #l=yD]tPU
End If L;Ff(0x|
Next y )QLR<wf
Next 1d5%(:@
End If {9@D zP
%> D=e*rrL7a
------------------------------------------------------------------------------------------------------------------- {wqT$( (<
EF0v!XW
第二个: vV,TT%J8D
nLN0zfhE#
<% _
Mw3>GNl
'防止注入 F>fCp
dim qs,errc,iii L'+bVP{L
qs=lcase(request.servervariables("query_string")) M\]lNQ A
'response.write(qs) =:H-9
dim deStr(18) AO-5>r
deStr(0)="net user" `
Fd
\dn
deStr(1)="xp_cmdshell" +A}t_u3<
deStr(2)="/add" dY8 H2;
deStr(3)="exec%20master.dbo.xp_cmdshell" msl.{
deStr(4)="net localgroup administrators" R"B{IWQi
deStr(5)="select" $ L*gtZ
deStr(6)="count" 3&hR#;,"X
deStr(7)="asc" hA7=:LG
deStr(8)="char" AdDX_\V,*
deStr(9)="mid" (i~UH04r>s
deStr(10)="'" ~KK}
$iM
deStr(11)=":" :""Hyj
Y!
deStr(12)="""" -S sgW
deStr(13)="insert" B2;P%B
deStr(14)="delete" )+_Vx}O:}
deStr(15)="drop" _.5{vGyxr
deStr(16)="truncate" m<CrkKfpG
deStr(17)="from" 7^gO>2~
deStr(18)="%" y;b#qUd5a
errc=false >h7(kj:
for iii= 0 to ubound(deStr) GwX)~.i
if instr(qs,deStr(iii))<>0 then IiPX`V>RC
errc=true V]H(;+^P
end if Q]WBH_j
next m
Q2i$ 0u
if errc then @6;OF5VsQ
Response.Write("对不起,非法URL地址请求!") ]A5F}wV4
response.end GcV/_Y
end if ..N6]u
%> [JOa^U=
jSI1tW8
注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!