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

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

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2009-04-10
— 本帖被 鞋带总是开 从 Exchange中文站-灌水乐园 移动到本区(2009-07-11) —
今天写一篇关于站点安全的文章。 ?D?l dg  
  很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! c04;2gR  
  所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! }M0GPpv  
  关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: !:^?GN#~x  
<% 1 x'H #  
'''''''''''''''''''''''''''''''''''''''''''''''' e'y$X;nIv  
'ASP通用防注入代码 8mh@C6U  
'您可以把该代码COPY到头文件中.也可以单独作 GxynLXWo>  
'为一个文件存在,每次调用使用 2d60o~ E  
'''''''''''''''''''''''''''''''''''''''''''''''' y' r I1eF  
Dim GetFlag Rem(提交方式) -u nK;  
Dim ErrorSql Rem(非法字符) `|2p1Ei  
Dim RequestKey Rem(提交数据) FdcmA22k*  
Dim ForI Rem(循环标记) azCod1aL{  
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) 8aMmz!S  
ErrorSql = split(ErrorSql,"~") mzGMYi*  
If Request.ServerVariables("REQUEST_METHOD")="GET" Then #`5>XfbmQ(  
GetFlag=True t(.jJ>|+*  
Else 4^IqHx;bj  
GetFlag=False +qiI;C_P\  
End If )?$zY5  
If GetFlag Then V/dL-;W;  
For Each RequestKey In Request.QueryString nQm (UN  
For ForI=0 To Ubound(ErrorSql) f [DZ  
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then *U}cj A:ZN  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" ;i>(r;ZM  
Response.End %p}xW V.  
End If x^XP<R{D  
Next /h v2=A  
Next 04E S>'@  
Else ]*&`J4i  
For Each RequestKey In Request.Form $p)e.ZMgE  
For ForI=0 To Ubound(ErrorSql) oa"_5 kn,  
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then %8hx3N8>  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" 5\jzIB_?  
Response.End 8bf~uHAr  
End If G^W'mV$xl  
Next }Nc Ed;  
Next v~AD7k2{8  
End If ']__V[  
%> C9VtRq  
------------------------------------------------------------------------------------------------------------------- S0]JeP+3!  
jiGXFM2  
第二个: $*S&i(z  
ZP(T=Q  
<% 'u84d=*l  
'防止注入 ,T;T %/ S  
dim qs,errc,iii QP~Iz*J'  
qs=lcase(request.servervariables("query_string")) i%3q*:A]2  
'response.write(qs) 14S_HwX  
dim deStr(18) 0qSf7"3f  
deStr(0)="net user" xO0}A1t Wd  
deStr(1)="xp_cmdshell" 3;<Vv*a"Dm  
deStr(2)="/add" z0-[ RGg  
deStr(3)="exec%20master.dbo.xp_cmdshell" 1Pp2wpD4iC  
deStr(4)="net localgroup administrators" GS@ Zc2JPF  
deStr(5)="select" `#c3 6  
deStr(6)="count" k+% c8w 9  
deStr(7)="asc" .* ~t2 :  
deStr(8)="char" u 2%E(pr  
deStr(9)="mid" r=4vN=:  
deStr(10)="'" 6Z>G%yK  
deStr(11)=":" 3[ cGSI"+  
deStr(12)="""" #J`M R05  
deStr(13)="insert" m> YjV>5  
deStr(14)="delete" 3:mZ1+  
deStr(15)="drop" ?Hrj}K27  
deStr(16)="truncate" q o!6 )Z  
deStr(17)="from" +z INnX  
deStr(18)="%" ^o-)y"GJ  
errc=false Q*W$!ZUT  
for iii= 0 to ubound(deStr) -A(]U"@n  
if instr(qs,deStr(iii))<>0 then ["~T)d'  
errc=true MY>*F[~ 2  
end if r-'CB  
next j9g0k<eg  
if errc then 4%"Df1 U  
Response.Write("对不起,非法URL地址请求!") >E\U$}WCG  
response.end 0wpGIT!2  
end if N${Wh|__^l  
%> l<8+>W`_  
OeYZLC(  
  注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!
分享到
只看该作者 1楼  发表于: 2009-04-10

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

u_'XUJ32!  

 

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