今天写一篇关于站点安全的文章。 6_K#,_oZ
很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! !>Y\&zA
所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! E
(+wl
关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: 7d8qs%nA
<% B2qq C-hw?
'''''''''''''''''''''''''''''''''''''''''''''''' n12c075
'ASP通用防注入代码 Pt0} 9Q
'您可以把该代码COPY到头文件中.也可以单独作 Lj-&TO}OZ
'为一个文件存在,每次调用使用 8A u<\~p
'''''''''''''''''''''''''''''''''''''''''''''''' ~.`r(
Dim GetFlag Rem(提交方式) WTv\HI2X
!
Dim ErrorSql Rem(非法字符) :wmf{c
Dim RequestKey Rem(提交数据) Yf)|ws?!
Dim ForI Rem(循环标记) [mzF)/[_2
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) H6S vU
ErrorSql = split(ErrorSql,"~") /1#Q=T
If Request.ServerVariables("REQUEST_METHOD")="GET" Then ixHZX<6zYT
GetFlag=True y"L`bl A9}
Else SH$cn,3F8
GetFlag=False E(kb!Rz
End If Xb:BIp!e
If GetFlag Then L8xprHgL
For Each RequestKey In Request.QueryString wK`ieHmp
For ForI=0 To Ubound(ErrorSql) -JhjTA
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then #]a51Vss
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" D4 ]B>
Response.End ~2DV{dyj
End If T1!Gr!=
Next +Z~!n
Next xp8f
Else 2$W,R/CLh
For Each RequestKey In Request.Form "M0l;
For ForI=0 To Ubound(ErrorSql) a{Hb7&
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then =,8Eo"~\
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" fy>And*
Response.End (My$@l973
End If 9Y@?xn.\
Next 7RC096 ?}
Next z/&a\`DsU
End If G$|;~'E
%> {2gd4[:
------------------------------------------------------------------------------------------------------------------- p't:bR
qq7X",s
第二个: , !%R5*?=D
-hFyqIJW
<% +y4AUU:Q
'防止注入 =*:_swd
dim qs,errc,iii 7O9hn2?e
qs=lcase(request.servervariables("query_string")) x`6^+>y^
'response.write(qs) n,:.]3v%
dim deStr(18) zpr@!76
deStr(0)="net user" [x
p,&
deStr(1)="xp_cmdshell" {!e ANm'
deStr(2)="/add" pH l2!{z
deStr(3)="exec%20master.dbo.xp_cmdshell" 4J
51i*`
deStr(4)="net localgroup administrators" 6?.pKFBZ
deStr(5)="select" :8-gm"awL5
deStr(6)="count" /j69NEl
deStr(7)="asc" -YjgS/g
deStr(8)="char" =<zSF\Zr_
deStr(9)="mid" j484b2uj1
deStr(10)="'" b
hr
E
deStr(11)=":" !a&SB*%^I3
deStr(12)="""" r{2].31'
deStr(13)="insert" Z t+FRR=
deStr(14)="delete" J1Ki2I=
deStr(15)="drop" chMc(.cN0
deStr(16)="truncate" h k!,
deStr(17)="from" ?-:: {2O)
deStr(18)="%" ._MAHBx+G
errc=false , 64t
for iii= 0 to ubound(deStr) ssyd8LC#
if instr(qs,deStr(iii))<>0 then MAD}Tv\S7
errc=true i|]Va44
end if m_Ac/ctf
next h
n\Q6f+
if errc then L8]{B
Response.Write("对不起,非法URL地址请求!") -0VA!3l
response.end [+MX$y
end if {+6D-rDw
%> =_m9so
T'b/]&0Tio
注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!