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

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

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2009-04-10
— 本帖被 鞋带总是开 从 Exchange中文站-灌水乐园 移动到本区(2009-07-11) —
今天写一篇关于站点安全的文章。 oNF6<A(@$  
  很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! -(H0>Ap  
  所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! 1iF1GkLEq  
  关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: 6T`i/".  
<%  ZWm6eD  
'''''''''''''''''''''''''''''''''''''''''''''''' llDkJ)\  
'ASP通用防注入代码 & BSn?  
'您可以把该代码COPY到头文件中.也可以单独作 9;If&uM  
'为一个文件存在,每次调用使用 M869MDo  
'''''''''''''''''''''''''''''''''''''''''''''''' 5#z1bu  
Dim GetFlag Rem(提交方式) akTk(  
Dim ErrorSql Rem(非法字符) RPbZ(.  
Dim RequestKey Rem(提交数据) oxtay7fx  
Dim ForI Rem(循环标记) AQ^u   
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) 2st3  
ErrorSql = split(ErrorSql,"~") 0<*<$U  
If Request.ServerVariables("REQUEST_METHOD")="GET" Then /BL4<T f  
GetFlag=True qZZK#,Qb  
Else U #0Cx-E  
GetFlag=False EKN~H$.  
End If &#i"=\d  
If GetFlag Then ]e V8b*d6  
For Each RequestKey In Request.QueryString B`sAk %  
For ForI=0 To Ubound(ErrorSql) NwfVL4Xg  
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then 62NsJ<#>  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" g 0E'g  
Response.End pTuS*MYz  
End If %SUQ9\SEs  
Next o,wUc"CE  
Next HOJV,9v N  
Else rW#T vUn  
For Each RequestKey In Request.Form ]K%!@O!  
For ForI=0 To Ubound(ErrorSql) 'O-"\J\  
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then /<BI46B\  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" bQ5\ ]5M  
Response.End Z #m+ObHK1  
End If m) D|l1AtF  
Next `qwBn=  
Next @[v~y"tE}  
End If a09<!0Rp  
%> U`s{ Jm  
------------------------------------------------------------------------------------------------------------------- <\S:'g"(  
=?`c=z3~i$  
第二个: HLi%%"'  
>KKMcTO YY  
<% %N_%JK\{@  
'防止注入 Yoll?_k +  
dim qs,errc,iii cl/_JQ&  
qs=lcase(request.servervariables("query_string")) *gz{.)W  
'response.write(qs) Wn}'bqp  
dim deStr(18) e8 b:)"R  
deStr(0)="net user" Vf1^4 t  
deStr(1)="xp_cmdshell" a-J.B.A$Z/  
deStr(2)="/add" Q=dy<kg']  
deStr(3)="exec%20master.dbo.xp_cmdshell" N4HqLh 23H  
deStr(4)="net localgroup administrators" -D~%| ).'  
deStr(5)="select" -|9=P\U8S  
deStr(6)="count" yaV|AB$v  
deStr(7)="asc" -H-~;EzU  
deStr(8)="char" SZCze"`[  
deStr(9)="mid" +qdEq_ m  
deStr(10)="'" rQ snhv  
deStr(11)=":" Uoix  
deStr(12)="""" f|oh.z_R  
deStr(13)="insert" 3irl (;v  
deStr(14)="delete" ~7Ux@Sx;  
deStr(15)="drop" 9(<@O%YU  
deStr(16)="truncate" {+b7sA3  
deStr(17)="from" =H]@n|$(  
deStr(18)="%" FXU8[j0P_G  
errc=false wwcBsJ1{  
for iii= 0 to ubound(deStr) ,"79P/C  
if instr(qs,deStr(iii))<>0 then mB)bcuPv  
errc=true 0Wp|1)ljA  
end if S$X Sei_q  
next S`Rs82>  
if errc then dUdT7ixo  
Response.Write("对不起,非法URL地址请求!") ] @fk] ]R  
response.end J9S>yLQK  
end if E&:,oG2M  
%> 11;zNjD|  
| VDV<g5h  
  注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!
分享到
只看该作者 1楼  发表于: 2009-04-10

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

}*"p?L^p{  

 

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