网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 网络安全首页 | 安全在线 | 病毒防治 | 黑客攻防 | 漏洞研究 | 黑客编程 | 破解手记 |
您现在的位置: 超人气学院 >> 网络安全 >> 黑客攻防 >> 文章正文 用户登录 新用户注册
“关于数据库的简单入侵”的简单防范           
“关于数据库的简单入侵”的简单防范
作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:18:14

最近kennidy的“关于数据库的简单入侵”是一个比较热门的话题,如果你还没有看过这个文章, 请参见:http://www.cnhonker.net/news/membervouch/20010823191247.html
或者上篇“SQL数据库的一些攻击”一文,这个更全些。
 
的确,对于目前的多数网站都使用ASP+MSSQL的架构来说,kennidy的这个入侵方法的确是必杀技,如果你是一个ASP程序员,应该知道了吧,是不是基本没有注意这些东西呢。
 
关于ASP+MSSQL入侵的东西很早就提出来了,就跟'or'1'='1一样,都是出于对脚本的代码编写漏洞进行的。因为在ASP+MSSQL中,要从浏览器端得到一些参数变量,然后在ASP脚本中去运用,在进行数据库操作中,出现很多SELECT语句,这些语句的内容又是从浏览器端得到的,因此,ASP+MSSQL的入侵,也就是来构造特殊的输入,然后改造了SQL语句,于是……


 好吧,既然是从浏览器端得到的东西,当然应该想到“过滤”。(不是我说的,地球人都知道,呵呵)


 让我们想想正常的ASP脚本使用的SQL语句吧。
 随便一个例子:
 SQL="SELECT * FROM (table) WHERE ID='" &intID& "' AND Topic='" &strTopic&
"'"
 这里intID和strTopic是需要从浏览器端得到的变量。


 好了,上面是我们需要的SQL语句,如果要入侵呢,就必须构造新的SQL语句。看看kennidy(其实要从这个方向入侵,就这样弄)提到的:


  news.asp?id=2;exec master.dbo.sp_addlogin hax;--
 
 “--”是用来注释的,于是SQL语句就变成我们不希望的:


  SELECT * FROM news WHERE id=2;exec sp_addlogin hax;--AND topic=... AND
... 


 好吧。来看看解决办法(其实要从这个方向防范,就这样弄)。我们的正常使用操作数据库(SQL语句中)应该不需要使用exec之类的,而要入侵超越权限就需要使用exec之类,这些就需要屏蔽了。


 需要屏蔽的关键字:exec,declare,还有就是一些需要控制的字符(串)了,比如:sp_,xp_,"_","+","'",";","@"等等(呵呵,异常符号都屏蔽了吧)。屏蔽的时候,对于字符串屏蔽不如对单个字符的屏蔽简单,如果入侵要跨越权限就会用到"_",";","--","//","@",而这些字符几乎不使用,至于"_","+"到是可能用到的。


 那我们就开始吧。下面是一个简单的过滤函数


Function Filter_SQL(strData)


 Dim strFilter
 Dim blnFlag
 Dim i


 strFilter="',;,//,--,@,_,exec,declare"   '需要过滤的字符,可以自己添,","是分隔符
 blnFlag=Flase   '过滤标志,如果产生过滤,那么就是真
 
 Dim arrayFilter
 arrayFilter=Split(strFilter,",")
 For i=0 To UBound(arrayFilter)
   If Instr(strData,arrayFilter(i))>0 Then
    blnFlag=True
Exit For
   End If
 Next


 If blnFlag Then
   Response.Redirect "wrong.asp"
'当发现有过滤操作时,导向一个预定页面。反正正常访问用不到的连接请求,总不是好事情。
 Else
   Filter_SQL=strData
 End If


End Function


 通常,对于用户名一类的输入,可以容许"_"这样的字符。所以,你可以扩展上面的函数,添加一个判别需要过滤的字符串的属性参数。利用这个函数对所有的Request项目进行过滤检查。


 这些只是简单的处理措施

[1] [2] 下一页

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda    责任编辑:kinda 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     3389端口漏洞的入侵[3997]
     网吧管理软件破解版(美[3559]
     天空葵QQ密码探索者 b[1481]
     穿透局域网 内网远程控[1374]
     黑客是如何入侵网站的[1296]
     网络刺客二之使用指南[1086]
     最新奇迹私服复制漏洞[1014]
     入侵xp系统之初步攻略[959]
     回顾2001年中美黑客大[809]
     虚拟计算机 VMWare安装[798]
    相 关 文 章
    关于“为什么我国软件产业
    关于pe-scanv3.0x的壳研究
    关于硬盘序列号的探讨!
    Win32ASM详解五学习更多关
    关于闪电ASP1.5的破解
    关于小小助手的破解
    关于注册码
    关于 Shell Code 的编写
    关于最近网上流传得厉害的
    关于Windows下ShellCode编
    关于137字节的Linux远程IC
    关于SQL服务器的一些安全问
    菜鸟黑客上路-关于扫描的技
    关于Recordset持久性的一点
    关于.exe .com  .* 文件不
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)