查看: 8935|回复: 0

ASP程序+数据库安全一例

[复制链接]
发表于 2002-2-10 17:14:05 | 显示全部楼层 |阅读模式
为了考证这种类型的程序BUG,笔者最近去了很多用ASP和SQL SERVER做的网站,发现绝大部分网站的程序有这个BUG,于是觉得有必要把这个问题贴出,以免大家犯同样的错误。" x5 R, D- N; `. a$ M
  BUG描述:
" V+ K; N4 P" }, Z  E  把一个有参数的xxx.asp?x=x程序变成xxx.asp?x=x;use pubs;exec sp_addlogin 'admin','admin','master';exec sp_adduser 'admin','admin','db_ower';--# h. W/ u$ P- F) @( m
  BUG讲解:
2 {2 x2 g& O3 c6 {5 g/ U  这个BUG是利用参数未过滤来执行SQL语句增加一个用户,然后可以用此用户连上SQL SERVER,再通过exec xp_cmdshell 'type x.asp'来查看存有sa密码的ASP文件来获得SQL SERVER的最高权限。
  R! k$ c) h' F( t  BUG消除:7 I% x3 f1 {+ O* t5 {) n
  程序增加参数过滤
' D2 s1 D+ f$ f2 _  附:sp_addlogin和sp_adduser语法
2 O" w% P0 ]$ _sp_addlogin [@loginame =] 'login'
# H( a, \; o/ ^; K: N  [,][@passwd =] 'password']
8 p) r8 F) [8 e9 y  [,][@defdb =] 'database']+ D: [( y  k9 ]8 T0 Y1 z& K* t- g
  [,][@deflanguage =] 'language']& [# Z5 T1 z0 _3 o
  [,[@sid =] 'sid']
* S6 E0 J4 s& p# i& b- H, k  [,][@encryptopt =] 'encryption_option']0 j% p; W/ y5 @9 d
sp_adduser [@loginame =] 'login'# [: O5 t0 A/ Y) d
  [,][@name_in_db =] 'user']
" ]8 R' T  S. b  a) C6 G0 N, U  [,][@grpname =] 'group']& x* c- T4 M# `. U% r% r4 n* O+ e1 h
  注:如果采取SQL SERVER设为本地连接、改变端品号、drop xp_cmdshell等等可以防止很多攻击行为呀 ^_^
& I. V* e9 b* |% f  W1 J嘿嘿,这个BUG还可以用来改administrator的密码,让服务器关机等等& |4 G/ Q  c* ]" ]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

相关侵权、举报、投诉及建议等,请发 E-mail:yesdong@qq.com

Powered by Discuz! X5.0 Licensed © 2001-2026 Discuz! Team.44152102000001

在本版发帖QQ客服返回顶部