切换到宽版
  • 14657阅读
  • 1回复

站点安全简单防范 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2009-04-10
— 本帖被 鞋带总是开 从 Exchange中文站-灌水乐园 移动到本区(2009-07-11) —
今天写一篇关于站点安全的文章。 BhM '@g*  
  很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! L,mQ   
  所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! *.\  
  关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: = QQ5f5\l  
<% (S xR`QP?,  
'''''''''''''''''''''''''''''''''''''''''''''''' CamE'  
'ASP通用防注入代码 *g y{]  
'您可以把该代码COPY到头文件中.也可以单独作 bx]N>k J  
'为一个文件存在,每次调用使用 p3]_}Y D[#  
''''''''''''''''''''''''''''''''''''''''''''''''  `)GrwfC  
Dim GetFlag Rem(提交方式) F;gx%[$GX  
Dim ErrorSql Rem(非法字符) Lb;zBmwB  
Dim RequestKey Rem(提交数据) 3pK*~VK  
Dim ForI Rem(循环标记) qHNE8\9  
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) w"OP8KA:^T  
ErrorSql = split(ErrorSql,"~") pY_s*0_  
If Request.ServerVariables("REQUEST_METHOD")="GET" Then *Ho/ZYj3  
GetFlag=True .so[I  
Else mN!lo;m5  
GetFlag=False slg ]#Dy  
End If :4MB]v[K  
If GetFlag Then L]d-hs  
For Each RequestKey In Request.QueryString }?z@rt^  
For ForI=0 To Ubound(ErrorSql) Ga#:P F0  
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then AtF3%Z v2  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" deM7fN4lTi  
Response.End TjQvAkT  
End If Mk=mT3=#  
Next zX0md x<|<  
Next x~GQV^(l3  
Else TjHwjRa  
For Each RequestKey In Request.Form YnxRg  
For ForI=0 To Ubound(ErrorSql) fv`O4  
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then taFn![}/!g  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" L=q+|j1>  
Response.End DXa=|T  
End If a@\D$#2r  
Next Pu"R,a  
Next EhO|~A*R  
End If E<C&Cjz:H  
%> U Z|HJ8_  
------------------------------------------------------------------------------------------------------------------- ]8T |f  
\3'9Uz,OC  
第二个: jM$`(Y  
L0&RvI#  
<% NzU,va N  
'防止注入 !- N6l6N  
dim qs,errc,iii ~mO62(8m  
qs=lcase(request.servervariables("query_string")) 1gmt2>#v%  
'response.write(qs) 34wkzu  
dim deStr(18) wE@'ap#  
deStr(0)="net user" n>A98NQ  
deStr(1)="xp_cmdshell" ;Ra+=z}>  
deStr(2)="/add" A |3tI  
deStr(3)="exec%20master.dbo.xp_cmdshell" H|ER  
deStr(4)="net localgroup administrators" jS+AGE?5e  
deStr(5)="select" I!>\#K  
deStr(6)="count" $&<uT  
deStr(7)="asc" ithewup  
deStr(8)="char" Mz1G5xcl  
deStr(9)="mid" oyNSh8c7c  
deStr(10)="'" E\IlF 6  
deStr(11)=":" 4#5:~M }  
deStr(12)="""" T"&)&"W*U  
deStr(13)="insert" :.?gHF.?  
deStr(14)="delete" .Wq@gV  
deStr(15)="drop" >~`r:0',  
deStr(16)="truncate" 0H0-U'l  
deStr(17)="from" ^)?d6nI  
deStr(18)="%" +&Hr4@pgW  
errc=false j:,NE(DF  
for iii= 0 to ubound(deStr) vjQb%/LWl  
if instr(qs,deStr(iii))<>0 then {5d9$v7k4  
errc=true Hew d4k  
end if zCOgBT~p   
next C=s1R;"H  
if errc then *J+_|_0nlW  
Response.Write("对不起,非法URL地址请求!") u ~3%bJ]  
response.end KAsS [  
end if fx@j?*Qb  
%> zO V=9"~{  
V\})3i8  
  注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!
分享到
只看该作者 1楼  发表于: 2009-04-10

这里是讨论邮件防病毒与防垃圾邮件的版区。

'S2bp4G  

 

快速回复
限60 字节
 
上一个 下一个