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

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

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2009-04-10
— 本帖被 鞋带总是开 从 Exchange中文站-灌水乐园 移动到本区(2009-07-11) —
今天写一篇关于站点安全的文章。 *o\AP([@  
  很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! 2+DK:T[  
  所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! BD;T>M  
  关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: k;`1Ia  
<% <8Tp]1z  
'''''''''''''''''''''''''''''''''''''''''''''''' &4sz:y4T>  
'ASP通用防注入代码 u\= 05N6G  
'您可以把该代码COPY到头文件中.也可以单独作 &|}QdbW  
'为一个文件存在,每次调用使用 7SH3k=x  
'''''''''''''''''''''''''''''''''''''''''''''''' 0Zp5y@ V8  
Dim GetFlag Rem(提交方式) 3e47UquZ  
Dim ErrorSql Rem(非法字符) }9W[7V?  
Dim RequestKey Rem(提交数据) HRrR"b9:  
Dim ForI Rem(循环标记) .-![ ra  
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) ?U[6X| 1  
ErrorSql = split(ErrorSql,"~") l&qyLL2 w  
If Request.ServerVariables("REQUEST_METHOD")="GET" Then = $^90Q,Z;  
GetFlag=True ?e4H{Y/M  
Else Y\WVkd(+G  
GetFlag=False FN<>L0  
End If q_` j-!  
If GetFlag Then maY.Z<lN  
For Each RequestKey In Request.QueryString * ?~"Jw  
For ForI=0 To Ubound(ErrorSql) l2YCl K  
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then <#57q%  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" a^|9rho<  
Response.End = +Odu  
End If Ejr'Yzl3_  
Next  s!  
Next 7FyE?  
Else A+foc5B  
For Each RequestKey In Request.Form | 4}Y:d  
For ForI=0 To Ubound(ErrorSql) wIR"!C>LE  
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then QV HI}3~  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" cYe2 a "  
Response.End hmOGteAf-  
End If ~av#r=x  
Next iAk.pH]a  
Next zVf79UrK  
End If 4  qY  
%> 4)k-gKS*  
------------------------------------------------------------------------------------------------------------------- ks6iy}f7  
d4ld-y  
第二个: ,!alNNY  
>5Lp;  
<% 8>LDo" <  
'防止注入 K1A<m=If  
dim qs,errc,iii ,7:-V<'Yv  
qs=lcase(request.servervariables("query_string")) @#hvQ6u  
'response.write(qs) U1Fo #L  
dim deStr(18) 1 I.P7_/  
deStr(0)="net user" z^.dYb7<  
deStr(1)="xp_cmdshell" RSbq<f>BFo  
deStr(2)="/add" =)c-Xz  
deStr(3)="exec%20master.dbo.xp_cmdshell" 8Dt pb7\o  
deStr(4)="net localgroup administrators" ~_"V7  
deStr(5)="select" ,Eh]Zv1 AE  
deStr(6)="count" o qysfLJ  
deStr(7)="asc" e1E_$oJP  
deStr(8)="char" lF.kAEC  
deStr(9)="mid" ot2zY dWAz  
deStr(10)="'" lw}7kp4 2F  
deStr(11)=":" (~{Y}n]s  
deStr(12)="""" _deEs5i  
deStr(13)="insert" :[(%4se  
deStr(14)="delete" O CIoY?a  
deStr(15)="drop" v<g~ EjzCf  
deStr(16)="truncate" fe`_0lxj  
deStr(17)="from" cF=WhP*f  
deStr(18)="%" 3(|,:"9g  
errc=false Sy1O;RTn`  
for iii= 0 to ubound(deStr) j$XaO%y)  
if instr(qs,deStr(iii))<>0 then ^2 H-_  
errc=true D}X6I#U'/  
end if d0ht*b  
next _h  \L6.  
if errc then 1n&%L8]  
Response.Write("对不起,非法URL地址请求!") + jeOZ  
response.end ~Js kA5h|&  
end if <;W-!R759  
%> iymN|KdpaZ  
u kZK*Y9P  
  注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!
分享到
只看该作者 1楼  发表于: 2009-04-10

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

&g5PPQ18  

 

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