D99

80酷酷网    80kuku.com

  安全|问题|注入看了一下有D99_CMD 、D99_Tmp 、D99_REG
打开表一看,分别是
D99_CMD:Dir c: 的指令內容:如
2006/04/03 02:15p 27,740 20067.exe
2004/02/13 03:33p <DIR> ASFRoot

D99_Tmp
列出c:\的所有文件和文件夹

D99_REG
列出被侵IIS下的所有文件和文件夹

根据建立时间找到对应的日志,在系统system/logfile下。发现有
XXX.asp id=1558;DROP%20TABLE%20D99_Tmp;CREATE%20TABLE%20D99_Tmp(subdirectory%20nvarchar(256)%20NULL,depth%20tinyint%20NULL,[file]%20bit%20NULL);DELETE%20D99_Tmp;%20Insert%20D99_Tmp%20exec%20master..xp_dirtree%20'd:\',%201,1;-- 200 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0)

显然XXX.asp文件有问题,而且被人注入SQL了,一看是,一位初学的同事写的。

简单的预防的办法,就是在写asp程序都用这样方式吧:
在写代码 id=request("id")
改为 id=int(request("id"))
这样 id变数字后面的 SQL 字串就会被清除

另外将 sql="select * from XXX where id=" & id
改为 sql="select * from XXX where id='" & id & "'"
那么黑客加入的 SQL 字串,不会被处理执行或执行失败

另外如果有多个参数的话,最好把ID这种数字的,作为最后一个参数。

如果各位有更好的方法的话,请跟贴,与大家交流交流了。

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: