网站最近几天连续受到两次攻击,都是同两个表的数据库记录被修改,在所有记录的TITLE和LINKURL字段后面插入了“<script>...”等一长串乱码,发现后使用更新命令进行了恢复,但很快又被修改了,怀疑是被注入,不知从何下手,请高手指教!网站的几个情况:
1。网站大部分可访问地址均做了静态地址映射,程序在编制时也基本都对ID值进行了取整。
2。被攻击的两个表目前在前台都是HTML地址,没有找到.asp?infoId=xxx的地址。
3。使用NBSI和啊D都没有扫出漏洞(可能是我不太会用的原因吧)
4。网站地址是:http://www.out99.com
5。系统为Windows 2000 SP2 + MS-SQL 2000 SP4

解决方案 »

  1.   

    要注意的事情很多,最主要的或者最顶用的是:
    在程序中不要用sa用户登录数据库,改用一个权限较小的用户.特别是前台用户更应该如此.对该用户,只开放几个必要的权限,如select权限.除非对类似于 NumViews 之类的列,别的列都不要设置它具有Update权限.
    我做的网站只开放了三种权限:
    一种是前台用户,除了点击率那列设置有update权限外,其它只有要访问的表和列具有select权限.
    第二是注册用户,除少数几个表由用户添加和修改内容外,别的权限都作限制.
    第三是后台管理用户(给老板用的),也只给以必要的操作权限,但依然不是管理员用户.
    只有我一个人具有对数据库进行任意操作的权限,但用了强密码,而且不能通过网站程序访问,只通过SQLSERVER客户端登录.
    这样处理后,估计不会出什么问题了.
    现在的攻击一般都是自动化的,大多数是攻击前台程序,而前台程序一般不需要对数据库进行改动,所以,设置权限很重要!
      

  2.   

    看看这个帖子 :)
    http://topic.csdn.net/u/20080530/16/f7ac4f11-23cb-4431-b6de-1ba6f155e4e6.html
      

  3.   

    查iis日志,搜Update%20,看是否可以找到注入点.