今天写一篇关于站点安全的文章。 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(非法字符) sAoxLI
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^NQLV S
w@LLxL>Y
第二个: N! I$Qtr,
wZWAx
<% S
q{@4F}d
'防止注入 `UTUrM
dim qs,errc,iii z, n[}Q#u
qs=lcase(request.servervariables("query_string")) IL`=r6\
'response.write(qs) w1eFm:'
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" OsKtxtLO
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" 4issj$
deStr(18)="%" Eihn%Esa
errc=false rR
8 6D
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)
ZB`d&!W>
注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!