安全性測試 攻防實戰 注水漏洞的利用和防範

2021-04-13 06:05:08 字數 2098 閱讀 5959

參加it認證考試前,筆者習慣到網上去搜搜。亂逛之餘,不小心就來到了prometric的中文站。筆者發現整個站點都是asp程式,況且剛才還有個考場的登入介面,要是能發現什麼漏洞就好了。

探測漏洞

隨手找了個頁面(http://www.promet.ric.com.cn/openpage.asp?page_id=0),在引數0後面加上個單引號。返回的頁面顯示:500伺服器內部錯誤。在ie的「internet選項→高階」中有乙個「顯示友好http錯誤資訊」的選項,取消前面的鉤。現在,我們可以看到詳細的錯誤資訊:

microsoft ole db provider for odbc drivers 錯誤

'80040e14'

[microsoft][odbc sql server driver][sql server]line 1: incorrect syntax near ''./audit.asp,行18

原來prometric用的是mssql,看來存在嚴重的注入漏洞(由於涉嫌攻擊步驟,此處不詳細敘述)。

漏洞原理

sql注入的漏洞通常是由於程式設計師對它不了解,設計程式時某個引數過濾不嚴格所致。就拿剛才測試用的鏈結中的page_id這個引數來講,肯定就沒有進行過濾檢查,源程式中的查詢語句如下所示:

select * from table where page_id='0'

當我們提交http://www.prometric.com.cn/openpage.asp?page_id=0 and 1=1時,查詢語句就變成了:

select * from table where page_id='0' and 1=1

當我們提交其他的查詢語句時,程式也會進行執行判斷,如:

查詢語句變成了:

select * from table where page_id='0' and user>0

user是mssql的乙個內建函式,指的是當前連線資料庫的使用者名稱,是乙個nvarchar值。當它與整型量0進行大小比較時,mssql會試圖將user的值轉換成int型別,於是mssql就會報錯:

[microsoft][odbc sql server driver][sql server]syntax error converting the nvarchar value 'web' to a column of data type int.

錯誤資訊的後面顯示的是庫名、表名、資料等。如果對方遮蔽了錯誤資訊呢?這時,我們就要利用unicode、substr等函式通過條件判斷來進行猜測了。

如何利用

大家可以利用小竹開發的nbsi2 mssql(以下簡稱「nbsi2」)工具。不過大家要注意,工具永遠只是工具,只能用來提高效率和準確性,自己一定得了解原理。

通過nbsi2,我們順利地匯出了pro metric中文站資料庫中的表名和資料,這裡面包括各個考場的登入使用者和密碼。

通過跨庫查詢,筆者還發現balance表中的balance欄位存放了考場預付款的餘額資訊,只要進行跨庫更新,這個金額完全可以改變。

這時候,筆者突發奇想,既然可以得到考場程式,我們是不是可以私設乙個考場……

心動不如行動,馬上開始安裝考試系統。安裝過程非常複雜,需要config.dts檔案(**上沒有)。

這些考場會不會為了方便沒有改預設密碼呢?果然很多考場沒有更改預設密碼,筆者很輕鬆地就進入了這些郵箱。經過一番搜尋,終於在乙個考場的郵箱中找到了prometric發過來的config.dts檔案……

到這裡,本次安全測試算是告一段落了。試想一下,如果私自安裝了考場程式,我們是不是可以隨意修改考生資訊?如果更改預付金,是不是還可以免費報名考試?而且利用考場id和密碼,我們在**上可以更改任何乙個考場的註冊資訊,然後通過社會工程手段,轉殖出乙個虛假的考場是完全有可能的。

後記

不知大家還記不記得上期《電腦報》上有關oracle注入漏洞的文章。雖然兩者在技術實現手段、危害上都不一樣,但它們有乙個共同點——從乙個小小的地方撕開缺口,從而造成極大的危害。

網路安全是一項非常重要的、整體性很強的工作,每乙個地方都需注意,否則造成的損失難以估計。

WEB安全性測試 檔案上傳漏洞

學習章節 測試入門到精通 軟體測試零基礎入門資料2015 第二階段 web測試模組 5.web安全性測試 第3章 3.web安全性測試 檔案上傳漏洞 學習內容 檔案上傳漏洞是指網路攻擊者上傳了乙個可執行的檔案到伺服器並執行。這裡上傳的檔案可以是木馬,病毒,惡意指令碼或者webshell等。危害 上傳...

WEB安全性測試之檔案上傳漏洞

1 漏洞描述 檔案上傳漏洞,是指可以利用web上傳一些特定的檔案包含特定 如 可以用於讀取伺服器配置資訊。上傳成功後可以點選 上傳漏洞是指使用者上傳了乙個可執行的指令碼檔案,並通過此指令碼檔案獲得了執行伺服器端命令的能力。檔案上傳本身是web中最為常見的一種功能需求,關鍵是檔案上傳之後伺服器端的處理...

安全性測試的測試點

安全性測試的測試點 1.跨 指令碼攻擊 通過指令碼語言的缺陷模擬合法使用者,控制其賬戶,盜竊敏感資料 2.注入攻擊 通過構造查詢對資料庫 ldap和其他系統進行非法查詢 3.惡意檔案執行 在伺服器上執行 shell 命令execute,獲取控制權 4.偽造跨站點請求 發起 blind 請求,模擬合法...