今天写一篇关于站点安全的文章。 *z2T[n?
很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! Z.-l#gfIO
所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! ~q%nDOf
关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: ~_R7M=22r
<% y;}D!`/
'''''''''''''''''''''''''''''''''''''''''''''''' B3( 4C5r
'ASP通用防注入代码 DB/(o'g
'您可以把该代码COPY到头文件中.也可以单独作 c)#?D*.(
'为一个文件存在,每次调用使用 5(G\ c|c}M
'''''''''''''''''''''''''''''''''''''''''''''''' q ,V
[
Dim GetFlag Rem(提交方式) _Iw5'Ss
Dim ErrorSql Rem(非法字符) Ddxzp-y^@
Dim RequestKey Rem(提交数据) e3)y/
Dim ForI Rem(循环标记) CiS9*Y#9#
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) 9t|E9 %5
ErrorSql = split(ErrorSql,"~") 7pmU
"2'
If Request.ServerVariables("REQUEST_METHOD")="GET" Then ;JL9?_ u5
GetFlag=True !(i:sFc
Else YjkQFkv>
GetFlag=False 8}[%\k t8
End If X!2m'B
If GetFlag Then ebP=](f
For Each RequestKey In Request.QueryString &xlJfq9;
For ForI=0 To Ubound(ErrorSql) 6:5v#$HP
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then fes3?#Ml,^
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" *,>.b G<
Response.End *K6@7f |
End If uKq!dfdBv
Next $!QVt#D6_P
Next uKHy0SwkK!
Else NxZ,4R;l(
For Each RequestKey In Request.Form Z3[Onz
For ForI=0 To Ubound(ErrorSql) /%uT^D
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then wXQE6n}?
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" QCG0H!"Y
Response.End M5L+L*
End If R?tSL n\}
Next q-AsXUR8E
Next uX`O3 hHq
End If %[`szlY
%> T*b
f&aB
------------------------------------------------------------------------------------------------------------------- &RdP{+
ys<KR5Rj=
第二个: ,.lzH~g
/6]@?X
<% 6SRL(s=w!
'防止注入 |1Vn}p!n
dim qs,errc,iii m CG!Y#Oi
qs=lcase(request.servervariables("query_string")) eg?VfC-^Z
'response.write(qs) zT9^ri.5
dim deStr(18) o(
-1Crw
deStr(0)="net user" .smD`]7
deStr(1)="xp_cmdshell" 2`u:$%]3
deStr(2)="/add" 4;XU.m_?
deStr(3)="exec%20master.dbo.xp_cmdshell" #9G.e"Fr,
deStr(4)="net localgroup administrators" *c^o4mQg
deStr(5)="select" MP]#nv
deStr(6)="count" _$8]{+
]
deStr(7)="asc" ?'J@w7o
deStr(8)="char" &=0v
L9
deStr(9)="mid" iQK7,T7
deStr(10)="'" u@$\,d
deStr(11)=":" ]@~
)V
[
deStr(12)="""" Hfby%L
deStr(13)="insert" $c}s.P
deStr(14)="delete" v3]7HB
+~
deStr(15)="drop" -*pIX!
deStr(16)="truncate"
z'_F2P+sn
deStr(17)="from" 4sa [X>o
deStr(18)="%" j_Ra(.Z
errc=false epG%_
for iii= 0 to ubound(deStr) =#kwymc!E
if instr(qs,deStr(iii))<>0 then 04-Nu9VI.
errc=true g:*j
end if /E|:L^;
next ^ 1),qy
if errc then %z!i{^%
Response.Write("对不起,非法URL地址请求!") Bw1_&fR
response.end >DN~uZP(N
end if &q3M
w
%> oZ*\r[Ij5
(/
,iCz
注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!