今天写一篇关于站点安全的文章。 4(Hp-?
很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! G "0.nd
所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! v.!,.,WZ
关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: R1^-VZ y
<%
m2mkv#
'''''''''''''''''''''''''''''''''''''''''''''''' bF4;F
'ASP通用防注入代码 :li@:T||V
'您可以把该代码COPY到头文件中.也可以单独作 (>\
I
'为一个文件存在,每次调用使用 m+_lpdK
'''''''''''''''''''''''''''''''''''''''''''''''' ;P:;3 5
Dim GetFlag Rem(提交方式) aBf9Rz
Dim ErrorSql Rem(非法字符) A#ykJw*Q
Dim RequestKey Rem(提交数据) J!PODYo
Dim ForI Rem(循环标记) ~RM5D!'?E
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) tfU; t?&5
ErrorSql = split(ErrorSql,"~") _a+>;
If Request.ServerVariables("REQUEST_METHOD")="GET" Then B1Do;X'G
GetFlag=True p$#
ip$t0
Else 9cMwvL7"
GetFlag=False >Fmg.
k
End If Rtu&WzoV5
If GetFlag Then _BP(p)#
For Each RequestKey In Request.QueryString m `a58jqx
For ForI=0 To Ubound(ErrorSql) |q<Pn
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then U,>)$v
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" 1LZ+bpH
Response.End I.hi?m
End If a:Yn)3Y(
Next *z|VR
Next \p%f/U(
Else B+ua dU7k
For Each RequestKey In Request.Form uofZGb@V(S
For ForI=0 To Ubound(ErrorSql) @B|*,`Fz
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then \Gk*>z
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" #?sa+D
Response.End ,$
^Dr5
End If dP]`v
Next Tq,k?%7_1
Next ;Ks
;C'I
End If C.,a
)K5
%> IDb>v/
------------------------------------------------------------------------------------------------------------------- RSs5 |`1G
d/|:K;^NS
第二个: Y#$8a f:
Dx,
<% , 8oS
'防止注入 ttu'F\k
dim qs,errc,iii 8
P N%
qs=lcase(request.servervariables("query_string")) 2TL@cH[,L
'response.write(qs) ]>{ndHNR\W
dim deStr(18) MyyN!
em5
deStr(0)="net user" ;8;iNd0
deStr(1)="xp_cmdshell" PQI"pB{
deStr(2)="/add" 7`OFyu9
deStr(3)="exec%20master.dbo.xp_cmdshell" Q{ecFlU
deStr(4)="net localgroup administrators" G`[ViPTm
deStr(5)="select" pIbs9
9
deStr(6)="count" +
M (
deStr(7)="asc" ZCG'Yl`m
deStr(8)="char" 6,bKI'B8
deStr(9)="mid" :3mRm&n^
deStr(10)="'" P W)(<
deStr(11)=":" %dtr{
9
deStr(12)="""" Z9 x&%E!
G
deStr(13)="insert" \s}h@S
deStr(14)="delete" kbl"AYr
deStr(15)="drop" r)~$hS>)&@
deStr(16)="truncate" %(SX .+$i
deStr(17)="from" M(TjJw"e3
deStr(18)="%" JArt|r
errc=false /G
>H1|
for iii= 0 to ubound(deStr) Sm%7v -N%
if instr(qs,deStr(iii))<>0 then /hCU8C,y
errc=true kb
yQ>ozA
end if cz-#cp}
next LMc0oe3bV.
if errc then s`nU$oUk
Response.Write("对不起,非法URL地址请求!") &6Z(`! _
response.end Jrp}X
a
end if 2dV@Fz"j
%> Ro+> ^G-
|umNL,pd
注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!