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

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

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2009-04-10
— 本帖被 鞋带总是开 从 Exchange中文站-灌水乐园 移动到本区(2009-07-11) —
今天写一篇关于站点安全的文章。 UMX+h])#N  
  很多人做网站,直接下源代码,比如动易,动网等等,除了论坛代码本身爆出的漏洞之外,站长本身不对论坛的一些敏感信息进行修改。别人只需要简单的分析一下整站系统的版本,就能知道整站源代码,然后就能知道默认管理员账号和登录连接,还有就是能知道数据库路径等等! '~f@p~P  
  所以我们下好整站系统之后就要相应的修改数据库路径以及管理账号和密码,同时要打好补丁! cp2fDn  
  关于自己亲手写的代码,要做好防注入,以下列出两个通用防注入代码: k}O|4*.B T  
<%  y,r`8  
'''''''''''''''''''''''''''''''''''''''''''''''' $e;!nI;z  
'ASP通用防注入代码 I^wj7cFo5  
'您可以把该代码COPY到头文件中.也可以单独作 5\'%zZ,l  
'为一个文件存在,每次调用使用 GHlra^  
'''''''''''''''''''''''''''''''''''''''''''''''' mvL'l)  
Dim GetFlag Rem(提交方式) XnY}dsS O  
Dim ErrorSql Rem(非法字符) GS$k  
Dim RequestKey Rem(提交数据) QbNv+Eu5  
Dim ForI Rem(循环标记) h1kPsgzR  
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开) (o:Cxh V  
ErrorSql = split(ErrorSql,"~") A,og9<+j-  
If Request.ServerVariables("REQUEST_METHOD")="GET" Then PRLV1o1#  
GetFlag=True SB'YV#--  
Else * c%@f<R~  
GetFlag=False C[KU~@  
End If 0 iE).Za0g  
If GetFlag Then czb%%:EJs|  
For Each RequestKey In Request.QueryString FEZ6X  
For ForI=0 To Ubound(ErrorSql) S]o  
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then ."^dJ |fN  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" .J@[v  
Response.End B~aOs>1 S]  
End If 0!VLPA:  
Next O}`01A!u;  
Next X@Bpjg  
Else IL=v[)en4  
For Each RequestKey In Request.Form u}rot+)%  
For ForI=0 To Ubound(ErrorSql) T7T!v  
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then xWwPrd  
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""index.asp"";</script>" KALg6DZe:  
Response.End q7]W R(e  
End If ]EcZ|c7o9y  
Next _9@?Th&_e  
Next O1ha'@qID  
End If M"vcF5q  
%> bc4x"]!  
------------------------------------------------------------------------------------------------------------------- E 5t+;vL~  
4GfLS.Ip  
第二个: 6C0_. =7#  
8 (KfX%  
<% 9e)+<H  
'防止注入 ]p*) PpIl  
dim qs,errc,iii ?xo,)``  
qs=lcase(request.servervariables("query_string")) bsP ;  
'response.write(qs) (XwLKkw0n  
dim deStr(18) 6uXW`/lvX  
deStr(0)="net user" +{%4&T<nHw  
deStr(1)="xp_cmdshell" p)^:~ ll  
deStr(2)="/add" ) e2IT*7  
deStr(3)="exec%20master.dbo.xp_cmdshell" ,%'0e /  
deStr(4)="net localgroup administrators" =zjUd  5  
deStr(5)="select" g Oj5c  
deStr(6)="count" 1b7xw#gLx  
deStr(7)="asc" 4d 3Znpf  
deStr(8)="char" L@_">' pR  
deStr(9)="mid" )ra66E  
deStr(10)="'" }J ?fJ (  
deStr(11)=":" } E#+7a  
deStr(12)="""" XH *tChf<  
deStr(13)="insert" )c'>E4>  
deStr(14)="delete" \l:g{GnoT  
deStr(15)="drop" j~E +6 f \  
deStr(16)="truncate" N.G*ii\  
deStr(17)="from" Q kZM(pG  
deStr(18)="%" ],YYFU}  
errc=false oGVSy`ku  
for iii= 0 to ubound(deStr) f0`' i[  
if instr(qs,deStr(iii))<>0 then uBTT {GGQ  
errc=true H/3Zdj 9  
end if <ut DZ#k  
next $i@EfujY  
if errc then :]^P ^khK  
Response.Write("对不起,非法URL地址请求!") q-G|@6O  
response.end h3lDDyu  
end if # VV.[ N  
%> WDGGT .hG  
uT/B}`md  
  注入漏洞是最常见的漏洞,还有在线编辑漏洞,网上都有相关的防范方法。站点安全尤为重要,对站点的使用者有很大的影响,站点不安全,服务器就存在威胁!
分享到
只看该作者 1楼  发表于: 2009-04-10

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

y<1$^Y1/)  

 

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